{"id":18722,"date":"2020-11-10T17:29:50","date_gmt":"2020-11-11T01:29:50","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/powershell\/?p=18722"},"modified":"2022-03-28T10:11:05","modified_gmt":"2022-03-28T18:11:05","slug":"announcing-psreadline-2-1-with-predictive-intellisense","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/powershell\/announcing-psreadline-2-1-with-predictive-intellisense\/","title":{"rendered":"Announcing PSReadLine 2.1+ with Predictive IntelliSense"},"content":{"rendered":"<div class=\"markdown-body\">\n<hr \/>\n<p>Tab completion has accelerated the success of new and experienced PowerShell users for over a\ndecade. New users get the benefit of discovery, seeing available cmdlets and parameters as options\nwhile interactively typing. Experienced users receive the benefit of acceleration, typing less while\nusing the <kbd>Tab<\/kbd> key to quickly complete a command.<\/p>\n<p>As the scale and complexity of cloud deployments and IT environments grow, cmdlet surface area is\ncontinually being updated with new cmdlets and additional parameter sets. For example, If you&#8217;re\nbeginning your journey with Azure, the Azure PowerShell module can be daunting. In this increasingly\ncomplex world, <strong>Predictive IntelliSense<\/strong> is here to help.<\/p>\n<p>Predictive IntelliSense is an addition to the concept of tab completion that assists the user in\nsuccessfully completing commands. The prediction suggestion appears as colored text following\nthe user&#8217;s cursor. This enables new and experienced users of PowerShell to discover, edit, and\nexecute full commands based on matching predictions from the user&#8217;s history and additional domain\nspecific plugins.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/powershell\/wp-content\/uploads\/sites\/30\/2020\/11\/pred-wlc-1.png\"><img decoding=\"async\" class=\"alignnone wp-image-18732\" src=\"https:\/\/devblogs.microsoft.com\/powershell\/wp-content\/uploads\/sites\/30\/2020\/11\/pred-wlc-1-300x47.png\" alt=\"Image pred wlc\" width=\"651\" height=\"102\" srcset=\"https:\/\/devblogs.microsoft.com\/powershell\/wp-content\/uploads\/sites\/30\/2020\/11\/pred-wlc-1-300x47.png 300w, https:\/\/devblogs.microsoft.com\/powershell\/wp-content\/uploads\/sites\/30\/2020\/11\/pred-wlc-1-1024x161.png 1024w, https:\/\/devblogs.microsoft.com\/powershell\/wp-content\/uploads\/sites\/30\/2020\/11\/pred-wlc-1-768x121.png 768w, https:\/\/devblogs.microsoft.com\/powershell\/wp-content\/uploads\/sites\/30\/2020\/11\/pred-wlc-1-1536x241.png 1536w, https:\/\/devblogs.microsoft.com\/powershell\/wp-content\/uploads\/sites\/30\/2020\/11\/pred-wlc-1-2048x322.png 2048w\" sizes=\"(max-width: 651px) 100vw, 651px\" \/><\/a><\/p>\n<h2><a id=\"user-content-psreadline-210--history-based-prediction-release\" class=\"anchor\" href=\"#psreadline-210--history-based-prediction-release\" aria-hidden=\"true\"><\/a>PSReadLine 2.1.0 + History Based Prediction Release<\/h2>\n<p>Predictive IntelliSense is implemented in the PowerShell engine and presented through the\nPSReadLine module. In an effort to support the most PowerShell users, the presentation of\nhistory-based predictions is available in the following versions:<\/p>\n<p>Availability:<\/p>\n<ul>\n<li>PSReadLine 2.1.0 currently available for download from PSGallery<\/li>\n<li>PSReadLine 2.1.0 will ship with PowerShell 7.1<\/li>\n<\/ul>\n<p>Supported PowerShell versions:<\/p>\n<ul>\n<li>Windows PowerShell 5.1<\/li>\n<li>PowerShell 7.0+<\/li>\n<\/ul>\n<p>Included in this version:<\/p>\n<ul>\n<li>History based prediction in the <strong>InlineView<\/strong><\/li>\n<\/ul>\n<h3><a id=\"user-content-installing-predictive-intellisense\" class=\"anchor\" href=\"#installing-predictive-intellisense\" aria-hidden=\"true\"><\/a>Installing Predictive IntelliSense<\/h3>\n<p>To get started with Predictive IntelliSense, download and install the PSReadLine module from PSGallery.<\/p>\n<p>The current release is PSReadLine 2.1.0:<\/p>\n<div class=\"highlight highlight-source-powershell\">\n<pre><span class=\"pl-c1\">Install-Module<\/span> PSReadLine <span class=\"pl-k\">-<\/span>RequiredVersion <span class=\"pl-c1\">2.1<\/span>.<span class=\"pl-c1\">0<\/span><\/pre>\n<\/div>\n<h3><a id=\"user-content-enabling-and-disabling-predictions\" class=\"anchor\" href=\"#enabling-and-disabling-predictions\" aria-hidden=\"true\"><\/a>Enabling and Disabling Predictions<\/h3>\n<p>By default, Predictive IntelliSense is disabled.<\/p>\n<p>To enable Predictive IntelliSense:<\/p>\n<div class=\"highlight highlight-source-powershell\">\n<pre><span class=\"pl-c1\">Set-PSReadLineOption<\/span> <span class=\"pl-k\">-<\/span>PredictionSource History<\/pre>\n<\/div>\n<p>To disable Predictive IntelliSense:<\/p>\n<div class=\"highlight highlight-source-powershell\">\n<pre><span class=\"pl-c1\">Set-PSReadLineOption<\/span> <span class=\"pl-k\">-<\/span>PredictionSource None<\/pre>\n<\/div>\n<p>Run these command at the command line or add them to your profile script.<\/p>\n<p>Predictive IntelliSense in PSReadLine 2.1.0 supports the following arguments for\nprediction source:<\/p>\n<ul>\n<li>None &#8211; This option disables Predictive IntelliSense<\/li>\n<li>History &#8211; This option uses the PSReadLine history for predictions<\/li>\n<\/ul>\n<h3><a id=\"user-content-change-the-color-for-predictions\" class=\"anchor\" href=\"#change-the-color-for-predictions\" aria-hidden=\"true\"><\/a>Change the Color for Predictions<\/h3>\n<p>By default, predictions appear in light grey text on the same line the user is typing. To support\naccessibility needs, the prediction color is customizable from the command line or your profile script.<\/p>\n<p>In PSReadLine 2.1.0, the <code>Set-PSReadLineOption -Colors<\/code> Hashtable includes <strong>InlinePrediction<\/strong> to\nset the color of predictive text for <strong>InlineView<\/strong>.<\/p>\n<p>The default light-grey prediction text color can be restored using:<\/p>\n<div class=\"highlight highlight-source-powershell\">\n<pre><span class=\"pl-c1\">Set-PSReadLineOption<\/span> <span class=\"pl-k\">-<\/span>Colors <span class=\"pl-k\">@<\/span>{ <span class=\"pl-smi\">InlinePrediction<\/span> <span class=\"pl-k\">=<\/span> <span class=\"pl-s\"><span class=\"pl-pds\">\"<\/span>$([<span class=\"pl-k\">char<\/span>]<span class=\"pl-c1\">0x1b<\/span>)[38;5;238m<span class=\"pl-pds\">\"<\/span><\/span>}<\/pre>\n<\/div>\n<p>Examples of user changing prediction color:<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/powershell\/wp-content\/uploads\/sites\/30\/2020\/11\/pi-color-1.png\"><img decoding=\"async\" class=\"alignnone wp-image-18733\" src=\"https:\/\/devblogs.microsoft.com\/powershell\/wp-content\/uploads\/sites\/30\/2020\/11\/pi-color-1-300x12.png\" alt=\"Image pi color\" width=\"625\" height=\"25\" srcset=\"https:\/\/devblogs.microsoft.com\/powershell\/wp-content\/uploads\/sites\/30\/2020\/11\/pi-color-1-300x12.png 300w, https:\/\/devblogs.microsoft.com\/powershell\/wp-content\/uploads\/sites\/30\/2020\/11\/pi-color-1-1024x42.png 1024w, https:\/\/devblogs.microsoft.com\/powershell\/wp-content\/uploads\/sites\/30\/2020\/11\/pi-color-1-768x32.png 768w, https:\/\/devblogs.microsoft.com\/powershell\/wp-content\/uploads\/sites\/30\/2020\/11\/pi-color-1-1536x64.png 1536w, https:\/\/devblogs.microsoft.com\/powershell\/wp-content\/uploads\/sites\/30\/2020\/11\/pi-color-1.png 1934w\" sizes=\"(max-width: 625px) 100vw, 625px\" \/><\/a><\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/powershell\/wp-content\/uploads\/sites\/30\/2020\/11\/pi-color2-1.png\"><img decoding=\"async\" class=\"alignnone wp-image-18734\" src=\"https:\/\/devblogs.microsoft.com\/powershell\/wp-content\/uploads\/sites\/30\/2020\/11\/pi-color2-1-300x10.png\" alt=\"Image pi color2\" width=\"630\" height=\"21\" srcset=\"https:\/\/devblogs.microsoft.com\/powershell\/wp-content\/uploads\/sites\/30\/2020\/11\/pi-color2-1-300x10.png 300w, https:\/\/devblogs.microsoft.com\/powershell\/wp-content\/uploads\/sites\/30\/2020\/11\/pi-color2-1-1024x34.png 1024w, https:\/\/devblogs.microsoft.com\/powershell\/wp-content\/uploads\/sites\/30\/2020\/11\/pi-color2-1-768x25.png 768w, https:\/\/devblogs.microsoft.com\/powershell\/wp-content\/uploads\/sites\/30\/2020\/11\/pi-color2-1-1536x51.png 1536w, https:\/\/devblogs.microsoft.com\/powershell\/wp-content\/uploads\/sites\/30\/2020\/11\/pi-color2-1.png 1944w\" sizes=\"(max-width: 630px) 100vw, 630px\" \/><\/a><\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/powershell\/wp-content\/uploads\/sites\/30\/2020\/11\/pi-color3-background-1.png\"><img decoding=\"async\" class=\"alignnone wp-image-18735\" src=\"https:\/\/devblogs.microsoft.com\/powershell\/wp-content\/uploads\/sites\/30\/2020\/11\/pi-color3-background-1-300x9.png\" alt=\"Image pi color3 background\" width=\"633\" height=\"19\" srcset=\"https:\/\/devblogs.microsoft.com\/powershell\/wp-content\/uploads\/sites\/30\/2020\/11\/pi-color3-background-1-300x9.png 300w, https:\/\/devblogs.microsoft.com\/powershell\/wp-content\/uploads\/sites\/30\/2020\/11\/pi-color3-background-1-1024x30.png 1024w, https:\/\/devblogs.microsoft.com\/powershell\/wp-content\/uploads\/sites\/30\/2020\/11\/pi-color3-background-1-768x23.png 768w, https:\/\/devblogs.microsoft.com\/powershell\/wp-content\/uploads\/sites\/30\/2020\/11\/pi-color3-background-1-1536x45.png 1536w, https:\/\/devblogs.microsoft.com\/powershell\/wp-content\/uploads\/sites\/30\/2020\/11\/pi-color3-background-1-2048x60.png 2048w\" sizes=\"(max-width: 633px) 100vw, 633px\" \/><\/a><\/p>\n<div class=\"highlight highlight-source-powershell\">\n<pre><span class=\"pl-c1\">Set-PSReadLineOption<\/span> <span class=\"pl-k\">-<\/span>Colors <span class=\"pl-k\">@<\/span>{ <span class=\"pl-smi\">InlinePrediction<\/span> <span class=\"pl-k\">=<\/span> <span class=\"pl-s\"><span class=\"pl-pds\">'<\/span>#8A0303<span class=\"pl-pds\">'<\/span><\/span>}\r\n<span class=\"pl-c1\">Set-PSReadLineOption<\/span> <span class=\"pl-k\">-<\/span>Colors <span class=\"pl-k\">@<\/span>{ <span class=\"pl-smi\">InlinePrediction<\/span> <span class=\"pl-k\">=<\/span> <span class=\"pl-s\"><span class=\"pl-pds\">'<\/span>#2F7004<span class=\"pl-pds\">'<\/span><\/span>}\r\n<span class=\"pl-c1\">Set-PSReadLineOption<\/span> <span class=\"pl-k\">-<\/span>Colors <span class=\"pl-k\">@<\/span>{ <span class=\"pl-smi\">InlinePrediction<\/span> <span class=\"pl-k\">=<\/span> <span class=\"pl-s\"><span class=\"pl-pds\">\"<\/span>$([<span class=\"pl-k\">char<\/span>]<span class=\"pl-c1\">0x1b<\/span>)[36;7;238m<span class=\"pl-pds\">\"<\/span><\/span>}<\/pre>\n<\/div>\n<h3><a id=\"user-content-key-bindings-for-predictions\" class=\"anchor\" href=\"#key-bindings-for-predictions\" aria-hidden=\"true\"><\/a>Key Bindings for Predictions<\/h3>\n<p>Key bindings control cursor movement and additional features within the prediction. To support users\nrunning Predictive IntelliSense on multiple platforms, key bindings are user-settable from the\ncommand line or your profile script.<\/p>\n<p>PSReadLine contains functions to navigate and accept predictions. As an example, to accept a\ndisplayed prediction, PSReadLine contains functions:<\/p>\n<ul>\n<li>AcceptSuggestion &#8211; Accept the current inline suggestion<\/li>\n<li>AcceptNextSuggestionWord &#8211; Accept the next word of the inline suggestion<\/li>\n<\/ul>\n<p><code>AcceptSuggestion<\/code> is built within <code>ForwardChar<\/code>, which by default is bound to\n<kbd>RightArrow<\/kbd>. Pressing <kbd>RightArrow<\/kbd> accepts an inline suggestion when the\ncursor is at the end of the current line.<\/p>\n<p><code>AcceptNextSuggestionWord<\/code> is built within the function <code>ForwardWord<\/code>, which can be bound with\n<kbd>Ctrl+f<\/kbd> by <code>Set-PSReadLineKeyHandler -Chord \"Ctrl+f\" -Function ForwardWord<\/code>. Pressing\n<kbd>Ctrl+f<\/kbd> accepts the next word of an inline suggestion when the cursor is at the end of\ncurrent editing line.<\/p>\n<p>As a user, you can bound other keys to <code>AcceptSuggestion<\/code> and <code>AcceptNextSuggestionWord<\/code> for similar\nfunctionalities. Search for <code>ForwardCharAndAcceptNextSuggestionWord<\/code> in\n<code>SamplePSReadLineProfile.ps1<\/code> for an example to make <kbd>RightArrow<\/kbd> accept the next word from\ninline suggestion, instead of the whole suggestion line.<\/p>\n<p>List of additional suggested key bindings defined in PSReadLine\n<a href=\"https:\/\/github.com\/PowerShell\/PSReadLine\/blob\/master\/PSReadLine\/SamplePSReadLineProfile.ps1#L13-L21\">SamplePSReadLineProfile.ps1<\/a><\/p>\n<h2><a id=\"user-content-psreadline-220-beta1--plugin-prediction-release-plan\" class=\"anchor\" href=\"#psreadline-220-beta1--plugin-prediction-release-plan\" aria-hidden=\"true\"><\/a>PSReadLine 2.2.0-beta1 + Plugin Prediction Release Plan<\/h2>\n<p>Predictive IntelliSense in PSReadLine 2.2 will include an extension model to support the\nregistration of additional providers. Additional providers enhance predictions by\nproviding domain specific command and task completions.<\/p>\n<p>Beginning with 2.2.0-beta1, predictions are displayed in one of two views depending on the user\npreference.<\/p>\n<ul>\n<li>InlineView &#8211; This is the default view and displays the prediction inline with the user&#8217;s typing.\nThis view is similar to other shells Fish and ZSH.<\/li>\n<li>ListView &#8211; ListView provides a dropdown list of predictions below the line the user is typing.\nUsers may quickly scan the list, highlight and select the desired prediction.<\/p>\n<blockquote><p>Note:\nCurrently for 2.2.0-beta1, <code>ListView<\/code> is only supported for the <strong>Windows<\/strong> edit mode. We will spend more time improving the UX of <code>ListView<\/code> in <code>Emacs<\/code> and <code>VI<\/code> edit modes. To change to the <strong>Windows<\/strong> edit mode, run <code>Set-PSReadLineOption -EditMode Windows<\/code><\/p><\/blockquote>\n<\/li>\n<\/ul>\n<p>Below, predictions are displayed with a dropdown in <strong>ListView<\/strong>.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/powershell\/wp-content\/uploads\/sites\/30\/2020\/11\/pred-listview-1.png\"><img decoding=\"async\" class=\"alignnone wp-image-18736\" src=\"https:\/\/devblogs.microsoft.com\/powershell\/wp-content\/uploads\/sites\/30\/2020\/11\/pred-listview-1-300x108.png\" alt=\"Image pred listview\" width=\"727\" height=\"262\" srcset=\"https:\/\/devblogs.microsoft.com\/powershell\/wp-content\/uploads\/sites\/30\/2020\/11\/pred-listview-1-300x108.png 300w, https:\/\/devblogs.microsoft.com\/powershell\/wp-content\/uploads\/sites\/30\/2020\/11\/pred-listview-1-1024x370.png 1024w, https:\/\/devblogs.microsoft.com\/powershell\/wp-content\/uploads\/sites\/30\/2020\/11\/pred-listview-1-768x277.png 768w, https:\/\/devblogs.microsoft.com\/powershell\/wp-content\/uploads\/sites\/30\/2020\/11\/pred-listview-1-1536x555.png 1536w, https:\/\/devblogs.microsoft.com\/powershell\/wp-content\/uploads\/sites\/30\/2020\/11\/pred-listview-1-2048x739.png 2048w\" sizes=\"(max-width: 727px) 100vw, 727px\" \/><\/a><\/p>\n<p>Availability:<\/p>\n<ul>\n<li>PSReadLine 2.2.0-beta1 currently available for download from PSGallery<\/li>\n<\/ul>\n<p>Supported PowerShell versions for <strong>ListView<\/strong> (History-based predictions only):<\/p>\n<ul>\n<li>Windows PowerShell 5.1<\/li>\n<li>PowerShell 7.0+<\/li>\n<\/ul>\n<p>Supported PowerShell versions for the plugin subsystem (History and plugin predictions):<\/p>\n<ul>\n<li>PowerShell 7.1+<\/li>\n<\/ul>\n<h3><a id=\"user-content-changing-the-prediction-view\" class=\"anchor\" href=\"#changing-the-prediction-view\" aria-hidden=\"true\"><\/a>Changing the Prediction View<\/h3>\n<p>You can change the view at the command line using the keybinding <code>F2<\/code> or <code>Set-PSReadLineOption<\/code>.\nThe <code>Set-PSReadLineOption<\/code> may be stored in your profile script.<\/p>\n<div class=\"highlight highlight-source-powershell\">\n<pre><span class=\"pl-c1\">Set-PSReadLineOption<\/span> <span class=\"pl-k\">-<\/span>PredictionViewStyle ListView<\/pre>\n<\/div>\n<h3><a id=\"user-content-key-bindings-for-listview\" class=\"anchor\" href=\"#key-bindings-for-listview\" aria-hidden=\"true\"><\/a>Key bindings for ListView<\/h3>\n<p>Key bindings control cursor movement and additional features within the prediction. To support\n<strong>ListView<\/strong>, additional key bindings have been added to the <code>Windows<\/code> edit mode.<\/p>\n<p><kbd>F2<\/kbd> is bound with <code>SwitchPredictionView<\/code> by default for switching between the <code>InlineView<\/code> and <code>ListView<\/code>.<\/p>\n<p><kbd>Ctrl+z<\/kbd> will revert to the original line when a list item is selected, and keep\nthe list view.<\/p>\n<p><kbd>Escape<\/kbd> will revert to the original line, whether or not a list item is selected, and\nclear the list view.<\/p>\n<p><kbd>UpArrow<\/kbd> and <kbd>DownArrow<\/kbd> are used to select an item in the <code>ListView<\/code>. To\nnavigate history commands while the <code>ListView<\/code> is present, first press <kbd>Escape<\/kbd> to clear\nthe <code>ListView<\/code>, then use <kbd>UpArrow<\/kbd> and <kbd>DownArrow<\/kbd>.<\/p>\n<h3><a id=\"user-content-added-new-color-options\" class=\"anchor\" href=\"#added-new-color-options\" aria-hidden=\"true\"><\/a>Added new color options<\/h3>\n<p>In PSReadLine 2.2.0-beta1, <code>Set-PSReadLineOption -Colors<\/code> Hashtable includes:<\/p>\n<ul>\n<li><strong>ListPrediction<\/strong> to set color for the leading <code>&gt;<\/code> character and source names in <strong>ListView<\/strong><\/li>\n<li><strong>ListPredictionSelection<\/strong> to set color for the highlighted selection in <strong>ListView<\/strong><\/li>\n<\/ul>\n<h3><a id=\"user-content-plugins-as-a-prediction-source\" class=\"anchor\" href=\"#plugins-as-a-prediction-source\" aria-hidden=\"true\"><\/a>Plugins as a prediction source<\/h3>\n<p>Starting with PSReadLine 2.2.0-beta1, <code>Set-PSReadLineOption -PredictionSource<\/code> will support the\nfollowing values:<\/p>\n<ul>\n<li>None &#8211; This option disables Predictive IntelliSense<\/li>\n<li>History &#8211; This option uses only the PSReadLine history for predictions<\/li>\n<li>Plugin &#8211; This option uses only registered plugin modules for predictions (can be used only on PS 7.1+)<\/li>\n<li>HistoryAndPlugin &#8211; This option uses both for predictions (can be used only on PS 7.1+)<\/li>\n<\/ul>\n<h2><a id=\"user-content-but-wait-theres-more\" class=\"anchor\" href=\"#but-wait-theres-more\" aria-hidden=\"true\"><\/a>But wait! There&#8217;s more!<\/h2>\n<p>Working with Azure? When you&#8217;re ready to extend predictions to include additional plugins, try out\nthe latest preview of the <code>Az.Tools.Predictor<\/code> from the Azure PowerShell team.<\/p>\n<p>For the latest preview:<\/p>\n<div class=\"highlight highlight-source-powershell\">\n<pre><span class=\"pl-c1\">Find-Module<\/span> Az.Tools.Predictor <span class=\"pl-k\">-<\/span>AllowPrerelease<\/pre>\n<\/div>\n<p>Read more information, see <a href=\"https:\/\/techcommunity.microsoft.com\/t5\/azure-tools\/announcing-az-predictor\/ba-p\/1873104\" rel=\"nofollow\">Az.Tools.Predictor<\/a>.<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Tab completion has accelerated the success of new and experienced PowerShell users for over a decade. New users get the benefit of discovery, seeing available cmdlets and parameters as options while interactively typing. Experienced users receive the benefit of acceleration, typing less while using the Tab key to quickly complete a command. As the scale [&hellip;]<\/p>\n","protected":false},"author":7527,"featured_media":13641,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[3168],"class_list":["post-18722","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-powershell","tag-psreadline"],"acf":[],"blog_post_summary":"<p>Tab completion has accelerated the success of new and experienced PowerShell users for over a decade. New users get the benefit of discovery, seeing available cmdlets and parameters as options while interactively typing. Experienced users receive the benefit of acceleration, typing less while using the Tab key to quickly complete a command. As the scale [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/posts\/18722","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/users\/7527"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/comments?post=18722"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/posts\/18722\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/media\/13641"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/media?parent=18722"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/categories?post=18722"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/tags?post=18722"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}