|
1 | 1 | # vscode-powershell Release History
|
2 | 2 |
|
| 3 | +## 0.9.0 |
| 4 | +### Thursday, January 19, 2017 |
| 5 | + |
| 6 | +#### New PowerShell code formatter |
| 7 | + |
| 8 | +We've added a formatter for PowerShell code which allows you to format an |
| 9 | +entire file or a selection within a file. You can access this formatter by |
| 10 | +running VS Code's `Format Document` and `Format Selection` commands inside |
| 11 | +of a PowerShell file. |
| 12 | + |
| 13 | +You can configure code formatting with the following settings: |
| 14 | + |
| 15 | +- `powershell.codeFormatting.openBraceOnSameLine` - Places open brace on the |
| 16 | + same line as its associated statement. Default is `true`. |
| 17 | +- `powershell.codeFormatting.newLineAfterOpenBrace` - Ensures that a new line |
| 18 | + occurs after an open brace (unless in a pipeline statement on the same line). |
| 19 | + Default is `true` |
| 20 | +- `editor.tabSize` - Specifies the indentation width for code blocks. This |
| 21 | + is a VS Code setting but it is respected by the code formatter. |
| 22 | +- `editor.formatOnSave` - If true, automatically formats when they are saved. |
| 23 | + This is a VS Code setting and may also affect non-PowerShell files. |
| 24 | + |
| 25 | +Please note that this is only a first pass at PowerShell code formatting, it |
| 26 | +may not format your code perfectly in all cases. If you run into any issues, |
| 27 | +please [file an issue](https://github.com/PowerShell/vscode-powershell/issues/new) |
| 28 | +and give us your feedback! |
| 29 | + |
| 30 | +#### Streamlined debugging experience - launch.json is now optional! |
| 31 | + |
| 32 | +**NOTE: This improvement depends on VS Code 1.9.0 which is due for release |
| 33 | +early February!** However, you can try it out right now with the [VS Code Insiders](https://code.visualstudio.com/insiders) |
| 34 | +release. |
| 35 | + |
| 36 | +Thanks to a new improvement in VS Code's debugging APIs, we are now able to |
| 37 | +launch the PowerShell debugger on a script file without the need for a `launch.json` |
| 38 | +file. You can even debug individual PowerShell scripts without opening a |
| 39 | +workspace folder! Don't worry, you can still use a `launch.json` file to configure |
| 40 | +specific debugging scenarios. |
| 41 | + |
| 42 | +We've also made debugger startup much more reliable. You will no longer see the |
| 43 | +dreaded "Debug adapter terminated unexpectedly" message when you try to launch |
| 44 | +the debugger while the language server is still starting up. |
| 45 | + |
| 46 | +#### Support for debugging remote and attached runspaces |
| 47 | + |
| 48 | +We now support remote PowerShell sessions via the [`Enter-PSSession`](https://msdn.microsoft.com/en-us/powershell/reference/5.0/microsoft.powershell.core/enter-pssession) |
| 49 | +cmdlet. This cmdlet allows you to create a PowerShell session on another machine |
| 50 | +so that you can run commands or debug scripts there. The full debugging |
| 51 | +experience works with these remote sessions on PowerShell 4 and above, allowing |
| 52 | +you to set breakpoints and see remote files be opened locally when those breakpoints |
| 53 | +are hit. |
| 54 | + |
| 55 | +For PowerShell 5 and above, we also support attaching to local and remote PowerShell |
| 56 | +host processes using the [`Enter-PSHostProcess`](https://msdn.microsoft.com/en-us/powershell/reference/5.0/microsoft.powershell.core/enter-pshostprocess) |
| 57 | +and [`Debug-Runspace`](https://msdn.microsoft.com/en-us/powershell/reference/5.0/microsoft.powershell.utility/debug-runspace) |
| 58 | +cmdlets. This allows you to jump into another process and then debug a script that |
| 59 | +is already running in one of the runspaces in that process. The debugger will break |
| 60 | +execution of the running script and then the associated script file will be opened |
| 61 | +in the editor so that you can set breakpoints and step through its execution. |
| 62 | + |
| 63 | +We've also added a new `launch.json` configuration for debugging PowerShell host processes: |
| 64 | + |
| 65 | + |
| 66 | + |
| 67 | +When launched, the default "attach" configuration will prompt you with a list of |
| 68 | +PowerShell host processes on the local machine so that you can easily select one |
| 69 | +to be debugged: |
| 70 | + |
| 71 | + |
| 72 | + |
| 73 | +You can also edit the launch configuration to hardcode the launch parameters, even |
| 74 | +setting a remote machine to connect to before attaching to the remote process: |
| 75 | + |
| 76 | +```json |
| 77 | + { |
| 78 | + "type": "PowerShell", |
| 79 | + "request": "attach", |
| 80 | + "name": "PowerShell Attach to Host Process", |
| 81 | + "computerName": "my-remote-machine", |
| 82 | + "processId": "12345", |
| 83 | + "runspaceId": 1 |
| 84 | + } |
| 85 | +``` |
| 86 | + |
| 87 | +Please note that we currently do not yet support initiating remote sessions from Linux |
| 88 | +or macOS. This will be supported in an upcoming release. |
| 89 | + |
| 90 | +#### Initial support for remote file opening using `psedit` |
| 91 | + |
| 92 | +Another nice improvement is that we now support the `psedit` command in remote and |
| 93 | +attached sessions. This command allows you to open a file in a local or remote session |
| 94 | +so that you can set breakpoints in it using the UI before launching it. For now these |
| 95 | +remotely-opened files will not be saved back to the remote session when you edit and |
| 96 | +save them. We plan to add this capability in the next feature update. |
| 97 | + |
| 98 | +#### New "interactive session" debugging mode |
| 99 | + |
| 100 | +You can now create a new launch configuration which drops you directly into the |
| 101 | +debug console so that you can debug your scripts and modules however you wish. |
| 102 | +You can call Set-PSBreakpoint to set any type of breakpoint and then invoke your |
| 103 | +code through the console to see those breakpoints get hit. This mode can also be |
| 104 | +useful for debugging remote sessions. |
| 105 | + |
| 106 | + |
| 107 | + |
| 108 | +Please note that this is NOT a replacement for a true interactive console experience. |
| 109 | +We've added this debugging configuration to enable a few other debugging scenarios, like |
| 110 | +debugging PowerShell modules, while we work on a true interactive console experience using |
| 111 | +VS Code's Terminal interface. |
| 112 | + |
| 113 | +#### New document symbol support for PSD1 files |
| 114 | + |
| 115 | +We've extended our document symbol support to `.psd1` files to make it really easy to |
| 116 | +navigate through them. When you have a `.psd1` file open, run the `Go to Symbol in File...` |
| 117 | +command (<kbd>Ctrl + Shift + O</kbd>) and you'll see this popup: |
| 118 | + |
| 119 | + |
| 120 | + |
| 121 | +You can type a symbol name or navigate using your arrow keys. Once you select one of the |
| 122 | +symbol names, the editor pane will jump directly to that line. |
| 123 | + |
| 124 | +#### Other fixes and improvements |
| 125 | + |
| 126 | +- Added a new `Open Examples Folder` command to easily open the extension's |
| 127 | + example script folder. |
| 128 | +- Added a new setting `powershell.developer.powerShellExeIsWindowsDevBuild` |
| 129 | + which, when true, indicates that the `powerShellExePath` points to a Windows |
| 130 | + PowerShell development build. |
| 131 | +- Fixed [#395](https://github.com/PowerShell/vscode-powershell/issues/395): |
| 132 | + Quick Fix for PSAvoidUsingAliases rule replaces the entire command |
| 133 | +- Fixed [#396](https://github.com/PowerShell/vscode-powershell/issues/396): |
| 134 | + Extension commands loaded in PowerShell profile are not being registered |
| 135 | +- Fixed [#391](https://github.com/PowerShell/vscode-powershell/issues/391): |
| 136 | + DSC IntelliSense can cause the language server to crash |
| 137 | +- Fixed [#400](https://github.com/PowerShell/vscode-powershell/issues/400): |
| 138 | + Language server can crash when selecting PSScriptAnalyzer rules |
| 139 | +- Fixed [#408](https://github.com/PowerShell/vscode-powershell/issues/408): |
| 140 | + Quick fix requests meant for other extensions crash the language server |
| 141 | +- Fixed [#401](https://github.com/PowerShell/vscode-powershell/issues/401): |
| 142 | + Extension startup should indicate if the current PowerShell version is unsupported |
| 143 | +- Fixed [#314](https://github.com/PowerShell/vscode-powershell/issues/314): |
| 144 | + Errors/Warnings still show up in Problems window when file is closed |
| 145 | +- Fixed [#388](https://github.com/PowerShell/vscode-powershell/issues/388): |
| 146 | + Syntax errors are not reported when powershell.scriptAnalysis.enable is set to false |
| 147 | + |
3 | 148 | ## 0.8.0
|
4 | 149 | ### Friday, December 16, 2016
|
5 | 150 |
|
|
0 commit comments