vscode-docs/release-notes/v1_65.md

641 строка
46 KiB
Markdown
Исходник Обычный вид История

2022-02-04 00:46:43 +03:00
---
Order: 74
TOCTitle: February 2022
PageTitle: Visual Studio Code February 2022
MetaDescription: Learn what is new in the Visual Studio Code February 2022 Release (1.65)
MetaSocialImage: 1_65/release-highlights.png
Date: 2022-3-2
DownloadVersion: 1.65.0
---
# February 2022 (version 1.65)
<!-- DOWNLOAD_LINKS_PLACEHOLDER -->
Welcome to the Insiders build. These are the preliminary notes for the February 1.65 release of Visual Studio Code. As we get closer to the release date, you'll find details below about new features and important fixes.
Until the February milestone release notes are available, you can still track our progress:
* **[February iteration plan](https://github.com/microsoft/vscode/issues/142359)** - Review what's planned for the milestone.
* **[Commit log](https://github.com/Microsoft/vscode/commits/main)** - GitHub commits to the vscode open-source repository.
* **[Closed issues](https://github.com/Microsoft/vscode/issues?q=is%3Aissue+milestone%3A%22February+2022%22+is%3Aclosed)** - Resolved bugs and implemented feature requests in the milestone.
2022-02-04 00:46:43 +03:00
We really appreciate people trying our new features as soon as they are ready, so check back here often and learn what's new.
If you find issues or have suggestions, you can enter them in the [VS Code repository](https://github.com/Microsoft/vscode/issues) on GitHub.
2022-02-24 19:09:09 +03:00
## Workbench
### New editor history navigation
2022-02-24 19:09:09 +03:00
2022-02-25 03:02:54 +03:00
The editor history navigation feature in VS Code drives some popular commands, such as **Go Back** and **Go Forward**. Numerous feature requests accumulated over time to improve this feature and also add more capabilities to it. This milestone editor history navigation was rewritten from scratch to address most of these requests.
2022-02-24 19:09:09 +03:00
2022-02-25 03:02:54 +03:00
**Editor group aware navigation**
2022-02-24 19:09:09 +03:00
Editor groups are now taken into account when navigating in the editor history. Navigating back and forward in editor history will activate and focus editors in exactly those editor groups as they were. When an editor group is removed, all associated history entries are discarded.
2022-02-25 03:02:54 +03:00
![Editor history group aware](images/1_65/history-group-aware.gif)
2022-02-24 19:09:09 +03:00
_Theme: [GitHub Light](https://marketplace.visualstudio.com/items?itemName=GitHub.github-vscode-theme)_
In the above example, previously `extension.ts` in the second group would not be opened, but rather the first group would become active.
2022-02-25 03:02:54 +03:00
**New setting to scope navigation to editor group or editor**
2022-02-24 19:09:09 +03:00
A new setting `workbench.editor.navigationScope` makes it possible to scope editor history navigation to just the active editor group or even editor. Supported values are:
2022-02-25 03:02:54 +03:00
* `default`: Editor navigation works across all opened editor groups and editors.
* `editorGroup`: Editor navigation is limited to opened editors of the active editor group.
* `editor`: Editor navigation is limited to the active editor.
2022-02-24 19:09:09 +03:00
If you configure the scope to `editorGroup` or `editor`, each editor group or editor will have their own navigation stack that can be navigated individually.
2022-02-25 03:02:54 +03:00
**Notebook support**
2022-02-24 19:09:09 +03:00
2022-02-28 06:57:45 +03:00
You can now navigate between cells you have selected in any notebook. Navigation works across editors, in the same way as you can navigate between cursor locations in a text editor.
2022-02-24 19:09:09 +03:00
2022-02-25 03:02:54 +03:00
![Navigate in notebooks](images/1_65/history-notebooks.gif)
2022-02-24 19:09:09 +03:00
_Theme: [GitHub Light](https://marketplace.visualstudio.com/items?itemName=GitHub.github-vscode-theme)_
2022-02-25 03:02:54 +03:00
**New commands to navigate edit locations or navigation locations**
By default, editor navigation locations are added whenever you navigate across editors but also when navigating within editors (for example, when switching notebook cells or changing selection in text editors). If you feel that too many locations are being recorded, new commands have been added that reduce locations to either:
2022-02-24 19:09:09 +03:00
* Navigation locations (for example when using **Go to Definition**)
* Edit locations (whenever an editor is changed, for example when typing in a text editor)
2022-02-24 19:09:09 +03:00
You can assign your favorite keybinding to these commands to change your navigation accordingly:
2022-02-25 03:02:54 +03:00
* `workbench.action.navigateForwardInEditLocations`: Go forward in edit locations
* `workbench.action.navigateBackInEditLocations`: Go back in edit locations
* `workbench.action.navigatePreviousInEditLocations`: Go previous in edit locations
2022-02-28 06:57:45 +03:00
* `workbench.action.navigateToLastEditLocation`: Go to last edit location (this command already existed before)
* `workbench.action.navigateForwardInNavigationLocations`: Go forward in navigation locations
* `workbench.action.navigateBackInNavigationLocations`: Go back in navigation locations
* `workbench.action.navigatePreviousInNavigationLocations`: Go previous in navigation locations
* `workbench.action.navigateToLastNavigationLocation'`: Go to last navigation location
2022-02-24 19:09:09 +03:00
Associated context keys have been added to make assigning keybindings more powerful:
* `canNavigateBackInNavigationLocations`: Whether it is possible to go back in navigation locations
* `canNavigateForwardInNavigationLocations`: Whether it is possible to go forward in navigation locations
* `canNavigateToLastNavigationLocation`: Whether it is possible to go to the last navigation location
* `canNavigateBackInEditLocations`: Whether it is possible to go back in edit locations
* `canNavigateForwardInEditLocations`: Whether it is possible to go forward in edit locations
* `canNavigateToLastEditLocation`: Whether it is possible to go to the last edit location
2022-02-25 20:38:24 +03:00
2022-02-28 03:56:45 +03:00
### New layout control options
Last milestone, we introduced the experimental layout control in the title bar. We have heard feedback that, while the actions in the control are useful, they require too many clicks. For that reason, we are adding some options for everyone to try out with the setting `workbench.experimental.layoutControl.type`. This setting has the following options:
2022-02-28 03:56:45 +03:00
* `menu`: The previous behavior with a single button that opens a menu.
* `toggles`: A new option that shows three buttons to toggle the Panel, Side Bar, and Side Panel.
* `both`: A new option that shows the toggles followed by the menu button, which still allows you to fairly quickly access the customize layout Quick Pick.
![Layout control with type set to both](images/1_65/layout-control-options.png)
2022-02-28 03:56:45 +03:00
### Light High Contrast theme
2022-02-25 20:38:24 +03:00
2022-02-28 03:56:45 +03:00
A new Light High Contrast theme has been added to improve legibility and readability of the editor.
2022-02-25 20:38:24 +03:00
![Light High Contrast Theme](images/1_65/light-hc-theme.png)
2022-02-24 19:09:09 +03:00
2022-02-25 19:33:10 +03:00
### Settings editor split view
The Settings editor now uses a split view to separate the table of contents from the settings list.
2022-02-28 03:56:45 +03:00
![Settings editor split view](images/1_65/settings-editor-split-view.gif)
2022-02-25 19:33:10 +03:00
2022-02-28 13:45:33 +03:00
### Drag and drop Problems, Search results, and Symbols
2022-02-27 12:30:24 +03:00
2022-02-28 13:45:33 +03:00
You can now drag and drop a Problem, Search result, or Reference result into the editor that will open the file and revealing the respective Problem, Search result, or Reference position.
2022-02-27 12:30:24 +03:00
2022-02-28 03:56:45 +03:00
![Drag and Drop problem result into the editor](images/1_65/dnd-problems.gif)
2022-02-27 12:30:24 +03:00
2022-02-28 03:56:45 +03:00
### Improved language feature extension recommendations
2022-02-27 12:48:59 +03:00
2022-02-28 03:56:45 +03:00
Language feature extension recommendations now take into consideration other prominent language feature extensions in the Marketplace while recommending. For example, VS Code does not recommend the [Java Extension Pack](https://marketplace.visualstudio.com/items?itemName=vscjava.vscode-java-pack) if you have the [Apache NetBeans Java](https://marketplace.visualstudio.com/items?itemName=ASF.apache-netbeans-java) extension installed.
2022-02-27 12:48:59 +03:00
2022-02-28 15:52:21 +03:00
### Enabling remotely installed web extensions in VS Code for the Web
VS Code for the Web now supports enabling a web extension that is installed in the remote server. For example, if you have [Vim](https://marketplace.visualstudio.com/items?itemName=vscodevim.vim) extension installed in the codespaces server then Vim will be enabled when you open the codespace in the browser.
**Note:** Note to extension authors that this support is limited to only those web extensions which do not invoke a web worker.
### Comments view refresh
The Comments view has been updated to function as an easily scannable way to quickly jump to comments, paving the way for future commenting features and API.
![Comments view update](images/1_65/comments-view-refresh.png)
### Keyboard shortcut for extension tree hovers
You can trigger the hover to show in tree views that are contributed by extensions by using the keyboard shortcut `ctrl/cmd+k, ctrl/cmd+i`.
### Improved Audio Cues
New audio cues have been added with this release, including an audio cue for warnings, for inline suggestions and for debugger breakpoint hits.
The sounds have been tweaked and the general setting `audioCues.enabled` has been deprecated in favor of individual settings.
A new audio cue help command helps to discover all available audio cues and to check their enablement.
All audio cues are enabled by default for screen reader users.
2022-02-26 04:51:19 +03:00
## Terminal
### Multi-line paste warning
2022-02-28 06:57:45 +03:00
A dialog now shows by default when pasting multiple lines in terminals when the shell does not support multi-line. This warning is displayed for bracketed paste mode and for PowerShell when we hand off `Ctrl+V` directly to the shell. There is a **Do not ask me again** checkbox on the dialog to easily disable the feature.
2022-02-28 03:56:45 +03:00
2022-02-28 16:58:29 +03:00
### Terminal link improvements
The implementation for terminal links had a large refactor this release. This simplified and improved maintainability of the feature but also brought:
- Link highlights work again
- Caching of resolved links, reducing latency for certain links to show up
- "Search workspace" links now get handled by the same code as validated links, making things more consistent and improving line/column recognition
- Several bug fixes
### Open file link command improvements
The `Open Last File Link` and `Open Detected Link...` commands introduced last version now exclude folders which should make them more useful.
2022-02-28 03:56:45 +03:00
## Debugging
### Lazy variable expansion
Accessing the value of a variable may have side-effects or be expensive. The debugger will now show a button for the user to expand these variables on demand. This is available for debug extensions that have implemented the new Debug Adapter Protocol addition allowing them to declare a variable as "lazy". For details, see the section [Debugger extension authoring](#debugger-extension-authoring) below. Currently this has only been implemented by the built-in JavaScript debug extension for getters.
2022-02-28 06:57:45 +03:00
![expanding lazy vars in debugger](images/1_65/lazy-vars.gif)
2022-02-28 03:56:45 +03:00
## Tasks
There's a new OS independent `userHome` variable that you can use in tasks.
```json
{
"label": "Test Home",
"type": "shell",
"command": "ls ${userHome}"
}
```
2022-02-28 13:45:33 +03:00
## Editor
### Surround With Snippet
There is a new command to surround the current selection with a snippet. Select some text, invoke F1 > Surround With Snippet, and select a snippet.
![Running the 'Surround With Snippet' command, accepting the try/catch snippet](./images/1_65/surround-with-snippet.gif)
Any applicable snippet that uses the `TM_SELECTED_TEXT` or `SELECTION` variables will show in the surround with picker. That also includes custom user or project snippets.
### Accessible Inlay Hints
Inlay hints show additional information with in source code, like the inferred type of a variable. For screen reader users there is a new command to help with this feature. Select "F1 > Read Line With Inlay Hints" and the editor will read the current line and interleaved with its hints.
### Contextual Unicode Highlighting
To report fewer false positives, ambiguous and invisible unicode characters are no longer highlighted if the surrounding characters visually indicate a non-ASCII script.
Thus, in trusted workspaces, only characters that are invisible or can be confused with ASCII characters are highlighted, except those that are contained in a word of non-ASCII characters where at least one character cannot be confused with an ASCII character.
![Screenshot of an example with positives and false positives](images/1_65/unicode-context.dio.png)
2022-02-28 13:45:33 +03:00
2022-02-28 03:56:45 +03:00
## Notebooks
### Built-in output renderers update
We moved the text, image, HTML and code renderers from the core to a built-in output renderer extension. With this change, we can now search text on these output types.
![Search keyword in text output](images/1_65/notebook-search-in-text-output.gif)
### Sticky scrolling notebook cell buttons
2022-02-28 08:10:24 +03:00
The **Run** button and cell toolbar will now stick to the top of the screen when scrolling down a code cell. This makes them more accessible when working in a long code cell.
2022-02-28 03:56:45 +03:00
![notebook cell button and toolbar scrolling](images/1_65/sticky-scroll.gif)
_Theme: [Dracula](https://marketplace.visualstudio.com/items?itemName=dracula-theme.theme-dracula)_
2022-02-26 04:51:19 +03:00
2022-02-28 06:00:24 +03:00
## Languages
### TypeScript 4.6
2022-02-28 06:57:45 +03:00
VS Code now ships with TypeScript 4.6. This update brings a number of new language features, along with tooling improvements and bug fixes. You can read more about TypeScript 4.6 on the [TypeScript blog](https://devblogs.microsoft.com/typescript/announcing-typescript-4-6-rc).
2022-02-28 06:00:24 +03:00
### Syntax error reporting in JavaScript files
2022-02-28 06:57:45 +03:00
Thanks to TypeScript 4.6, VS Code now reports some common syntax errors in JavaScript files. This includes parsing errors, as well as invalid redeclarations of block scoped variables:
2022-02-28 06:00:24 +03:00
2022-02-28 06:57:45 +03:00
![Detecting a redeclaration of a const variable in a JS file](images/1_65/js-syntax-errors.png)
2022-02-28 06:00:24 +03:00
Previously these errors were only reported when you [enable semantic checking in your JavaScript](https://code.visualstudio.com/Docs/languages/javascript#_type-checking).
You can disable this error reporting by setting:
```json
"javascript.validate.enable": false
```
2022-02-28 06:57:45 +03:00
### More JS/TS settings can now be configured per language
2022-02-28 06:00:24 +03:00
2022-02-28 06:57:45 +03:00
More of the JavaScript and TypeScript settings can now be configured as [language-specific settings](https://code.visualstudio.com/docs/getstarted/settings#_language-specific-editor-settings). Language-specific settings are useful if you want different settings for `javascript` vs `javascriptreact`, for example.
2022-02-28 06:00:24 +03:00
2022-02-28 06:57:45 +03:00
New language-specific enabled settings include:
2022-02-28 06:00:24 +03:00
2022-02-28 06:57:45 +03:00
* `javascript.preferences.quoteStyle`, `typescript.preferences.quoteStyle`
* `javascript.preferences.importModuleSpecifier`, `typescript.preferences.importModuleSpecifier`
* `javascript.preferences.importModuleSpecifierEnding`, `typescript.preferences.importModuleSpecifierEnding`
* `javascript.preferences.jsxAttributeCompletionStyle`, `typescript.preferences.jsxAttributeCompletionStyle`
* `javascript.preferences.renameShorthandProperties`, `typescript.preferences.renameShorthandProperties`
* `javascript.preferences.useAliasesForRenames`, `typescript.preferences.useAliasesForRenames`
* `javascript.suggest.enabled`, `typescript.suggest.enabled`
* `javascript.suggest.completeJSDocs`, `typescript.suggest.completeJSDocs`
* `javascript.suggest.jsdoc.generateReturns`, `typescript.suggest.jsdoc.generateReturns`
* `javascript.autoClosingTags`, `typescript.autoClosingTags`
2022-02-28 06:00:24 +03:00
### New Lua syntax highlighting grammar
We have switched over to a new, better-maintained, Lua grammar for syntax highlighting of Lua files. The new grammar is actively maintained, fixes issues that existed in the old grammar, and supports newer Lua tokens.
2022-02-22 18:28:31 +03:00
## VS Code for the Web
2022-02-25 03:02:54 +03:00
### Reopen local files and folders
2022-02-22 18:28:31 +03:00
2022-02-25 03:02:54 +03:00
The list of recently opened local files and folders is now available when you access [vscode.dev](https://vscode.dev) or [insiders.vscode.dev](https://insiders.vscode.dev) with a browser that supports the [web file system access API](https://developer.mozilla.org/docs/Web/API/File_System_Access_API). Selecting a local file will open it in an editor and selecting a local folder will update the File Explorer to show its contents. You may be asked by the browser to confirm local file access before the contents are revealed.
2022-02-22 18:28:31 +03:00
2022-02-28 06:57:45 +03:00
![Open recent in web](images/1_65/web-local-recent.gif)
2022-02-24 19:13:01 +03:00
2022-02-26 01:49:06 +03:00
### Remote Repositories
**GitHub Repositories**
2022-02-28 03:56:45 +03:00
This milestone, merge conflict resolution was improved when editing GitHub repositories on [vscode.dev](https://vscode.dev) and [github.dev](https://github.dev). There are now merge conflict decorations in your editor, with options to **Accept Current**, **Accept Incoming** or **Accept Both**.
2022-02-26 01:49:06 +03:00
2022-02-28 06:57:45 +03:00
![Merge conflict decorations](images/1_65/remotehub-merge-conflicts.gif)
2022-02-26 01:49:06 +03:00
2022-02-28 03:56:45 +03:00
There is also a **Stage Changes** action in the Source Control view for files containing merge conflicts.
2022-02-27 05:21:05 +03:00
2022-02-28 06:57:45 +03:00
![Staging merge conflicts](images/1_65/remotehub-stage-conflicts.gif)
2022-02-27 05:21:05 +03:00
2022-02-28 03:56:45 +03:00
Additionally, you can now easily stage and unstage all changes under a specific folder in a GitHub repository on [vscode.dev](https://vscode.dev) and [github.dev](https://github.dev). To do so, right-click on the Source Control view and select **View as Tree**.
2022-02-26 01:49:06 +03:00
2022-02-28 06:57:45 +03:00
![Stage all changes under a folder](images/1_65/remotehub-stage-folder.gif)
2022-02-26 01:49:06 +03:00
2022-02-27 05:15:13 +03:00
_Theme: [One Monokai](https://marketplace.visualstudio.com/items?itemName=azemoh.one-monokai)_
2022-02-28 10:00:50 +03:00
## Contributions to extensions
### Hex editor data inspector improvements
Previously, the [Hex Editor extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode.hexeditor) always displayed its data inspector in the sidebar, and revealed it whenever a hex editor was revealed. However, some users found this annoying, and it led to a particularly disruptive experience with its integration of a [memory inspector for debuggers](/release-notes/1_64#viewing-and-editing-binary-data). Now, the data inspector will appear to the right side of the inspected bytes. If the editor is too narrow, the data inspector will be displayed inside a hover widget instead.
![Image showing the data inspector to the right side of the hex bytes](/release-notes/images/1_65/hex-editor-data-inspector.png)
_Theme: [Codesong](https://marketplace.visualstudio.com/items?itemName=connor4312.codesong)_
This can be configured via the `hexeditor.inspectorType` setting, which can take one of three values:
- `aside` (default): behaves as described
- `hover`: always use the hover, regardless of editor width
- `sidebar`: display in the sidebar as before.
2022-02-28 11:31:50 +03:00
### ESLint Extension
The ESLint extension has preliminary for notebooks documents containing cells that can be validated with ESLint. This support is currently only available in the insider extension of ESLint.
### GitHub Pull Requests and Issues
Work continues on the [GitHub Pull Requests and Issues](https://marketplace.visualstudio.com/items?itemName=GitHub.vscode-pull-request-github) extension, which allows you to work on, create, and manage pull requests and issues. Check out the [changelog for the 0.38.0](https://github.com/microsoft/vscode-pull-request-github/blob/main/CHANGELOG.md#0380) release of the extension to see the highlights.
2022-02-28 03:56:45 +03:00
## Preview features
2022-02-26 02:50:34 +03:00
2022-02-28 03:56:45 +03:00
### Terminal shell integration
2022-02-26 02:50:34 +03:00
2022-02-28 06:57:45 +03:00
Shell integration in the terminal was introduced [in an early state last release](https://code.visualstudio.com/updates/v1_64#_terminal-shell-integration) and has seen many improvements this month. As a refresher, this feature allows VS Code to gain additional insights into what's happening within the terminal, which was previously largely unknown. The feature is still considered experimental and you can opt-in via the `terminal.integrated.shellIntegration.enabled` setting for now.
2022-02-26 02:50:34 +03:00
2022-02-28 16:57:51 +03:00
The biggest change is that commands detected by shell integration now feature decorations in the "gutter" to the left. A command decoration visually breaks up the buffer and provides access to information and actions that use shell integration capabilities. There are three types of command decorations: error, success, and default, as determined by the command's exit code.
2022-02-24 04:06:55 +03:00
2022-02-28 03:56:45 +03:00
![A command succeeds and a success decoration is placed to the left of the prompt. A command fails and an error decoration is placed to the left of the prompt. A placeholder decoration is to the left of no-op commands and the current command before it's been executed.](images/1_65/command-decorations.png)
2022-02-24 04:06:55 +03:00
2022-02-28 06:57:45 +03:00
Clicking on the decoration displays actions specific to that command in a menu, currently that includes **Re-run Command** and **Copy Output**.
2022-02-24 04:06:55 +03:00
2022-02-28 06:57:45 +03:00
![Command decoration context menu showing Re-run Command and Copy Output actions](images/1_65/command-context-menu.png)
2022-02-24 12:27:36 +03:00
2022-02-28 06:57:45 +03:00
Hovering over the decoration displays information about the command, such as the time since it was run and the associated exit code.
2022-02-26 01:45:02 +03:00
2022-02-28 06:57:45 +03:00
![Command decoration hover displaying Show Command Actions option and information that the command executed 3 minutes ago and returned failed exit code 127](images/1_65/command-hover.png)
2022-02-26 01:45:02 +03:00
2022-02-28 16:57:51 +03:00
Decorations can be disabled by setting `terminal.integrated.shellIntegration.decorationsEnabled` to `false`, individual icons can be configured via the `terminal.integrated.shellIntegration.decorationIcon*` settings and these new theme keys drive the colors:
* `terminalCommandDecoration.successBackground`
* `terminalCommandDecoration.errorBackground`
* `terminalCommandDecoration.defaultBackground`
Here are the other main changes:
2022-02-26 01:45:02 +03:00
2022-02-28 03:56:45 +03:00
* The enablement setting has been renamed to `terminal.integrated.shellIntegration.enabled`.
* The mechanism for enabling shell integration in all supported shells is now more reliable.
2022-02-28 06:57:45 +03:00
* Shell integration should now work when using remote connected windows (SSH, WSL, containers).
* Line continuations (for example, `$PS2`) should now work on all supported shells.
* Commands that are "skipped" are now marked specially, for example using `Ctrl+C` or running an empty command.
* The **Run Recent Command** and **Go to Recent Directory** commands now store history between sessions. Storing history can be configured via the `terminal.integrated.shellIntegration.history` setting.
2022-02-28 03:56:45 +03:00
2022-02-24 12:27:36 +03:00
## Extension authoring
2022-02-25 03:02:54 +03:00
### Language status items
2022-02-24 12:27:36 +03:00
2022-02-25 03:02:54 +03:00
We have finalized the API for language status items. This API shows language specific information for the active editor. This can be general information about the project or toolset version but can also display errors and warnings.
2022-02-24 12:27:36 +03:00
2022-02-25 03:02:54 +03:00
![JSON language status linking to schema used for validation](images/1_65/language-status.png)
2022-02-24 12:27:36 +03:00
2022-02-25 03:02:54 +03:00
The API resembles the Status bar API and can be accessed via `vscode.languages.createLanguageStatusItem(...)`. A language status item should be created with a document selector so that VS Code can show and hide it whenever the active editor changes.
2022-02-24 12:27:36 +03:00
2022-02-25 03:02:54 +03:00
### Inlay Hints
2022-02-24 12:27:36 +03:00
2022-02-25 03:02:54 +03:00
The Inlay Hint provider API is now finalized. It allows to inlay additional information with source code. The capture below shows how TypeScript added an inlay hint for an inferred type.
2022-02-24 12:27:36 +03:00
2022-02-25 03:02:54 +03:00
![TypeScript inferred variable type shown as inlay hint](images/1_65/inlay-hints.png)
2022-02-24 12:27:36 +03:00
2022-02-25 03:02:54 +03:00
The API is built around the `InlayHintsProvider`. It provides `InlayHint` objects, which have a couple of interesting features:
2022-02-24 12:27:36 +03:00
* An inlay hint can have a tooltip and a command.
* The label of a hint can be composed of multiple parts, which again can have a tooltip and command.
* The label parts can also have an associated source location that enables language features such as **Go To Definition** for this part.
2022-02-24 12:27:36 +03:00
### Status bar focus borders
We made it easier and more accessible to navigate the status bar by adding focus borders to the status bar and status bar items.
2022-02-25 21:34:13 +03:00
![Status bar focus borders](images/1_65/status-bar-focus-borders.gif)
Theme authors can customize the border colors by configuring the two new theme colors:
* `statusBar.focusBorder`: The border color of the entire status bar when focused.
* `statusBarItem.focusBorder`: The border color the status bar items when focused.
2022-02-28 10:00:50 +03:00
### Testing refresh action and sortText
We've finalized [our proposal](https://github.com/microsoft/vscode/issues/139737) to add a standard refresh handler to the `TestController` interface. If extensions assign a method to this property, VS Code will show a "refresh" icon in the test explorer view.
Additionally, the `TestItem` [can now](https://github.com/microsoft/vscode/issues/130882) have a `sortText` attribute which controls the sort order for items which do not have a specific location in a file.
### Comment timestamp
The Comments API now let's you add a `timestamp` to each `Comment`. This timestamp is shown in the comments widget and in the Comments view. By default, the timestamp is shown as a relative time (ex. "2 weeks ago"), but the user setting `comments.useRelativeTime` can be used to show an exact time instead. The hover of the timestamp will always be the exact time.
### vscode-test package renamed to @vscode/test-electron
The `vscode-test` package has been renamed to `@vscode/test-electron`. Extension authors should update the entry in their extension's `package.json` file `devDependencies`, if they are including that package. The [@vscode/test-electron](https://www.npmjs.com/package/@vscode/test-electron) package helps run integration tests for VS Code extensions. You can learn more at the [vscode-test repository](https://github.com/microsoft/vscode-test).
2022-02-28 07:02:07 +03:00
### Updated codicons
The following new icons were added to our [codicon](https://code.visualstudio.com/api/references/icons-in-labels) library:
2022-02-28 07:19:01 +03:00
* `arrow-circle-down`
* `arrow-circle-left`
* `arrow-circle-right`
* `arrow-circle-up`
* `error-small`
* `indent`
* `layout-activitybar-left`
* `layout-activitybar-right`
* `layout-centered`
* `layout-menubar`
* `layout-panel-center`
* `layout-panel-justify`
* `layout-panel-left`
* `layout-panel-right`
* `layout-panel`
* `layout-sidebar-left`
* `layout-sidebar-right`
* `layout-statusbar`
* `layout`
* `newline`
* `record-small`
* `target`
2022-02-28 07:02:07 +03:00
2022-02-28 07:19:01 +03:00
![Preview of updated icons](images/1_65/codicons.png)
2022-02-28 07:02:07 +03:00
2022-02-26 01:27:52 +03:00
## Debugger extension authoring
### Support for "important" output events
2022-02-26 01:27:52 +03:00
Recently, the Debug Adapter Protocol [added](https://code.visualstudio.com/updates/v1_63#_new-important-category-for-the-output-event) an `important` category for the `output` event. This category marks events that should stand out and not go overlooked by the user. VS Code will now show a notification popup for messages with the `important` category. They will also still be logged to the Debug Console.
2022-02-26 01:27:52 +03:00
### Support for 'lazy' variables
2022-02-26 02:50:34 +03:00
Some variables are dynamic and require executing code to get the value. A debug adapter may not want to retrieve their full values automatically, since doing so could have side-effects or be expensive.
2022-02-26 02:50:34 +03:00
Some debug adapters have addressed this problem by representing the "expensive variable" as a placeholder object that the user needs to "expand" explictly in order to fetch the value.
VS Code's built-in js-debug uses this approach for JS/TS getters:
```ts
class Person {
name = "Danny";
get email(): string {
return "foo@example.bar";
}
get address(): Address {
return new Address();
}
}
class Address {
street = "Main Street";
city = "Zurich";
}
```
The following screencast shows that the intermediate object makes it difficult to understand the effective data structure:
![property getter without lazy](images/1_65/lazy-before.gif)
In this release we have improved VS Code to render the intermediate object in a compact form with a '`(...)`' button for requesting the full value.
![property getter with lazy](images/1_65/lazy-after.gif)
A debug adapter can request this new presentation style for a variable by adding a `VariablePresentationHint` with a `lazy` property ([see DAP additions](#debug-adapter-protocol)). If the client does not support the `lazy` flag, the variable will be shown as be before.
2022-02-26 02:50:34 +03:00
2022-02-28 11:31:50 +03:00
## Language Server Protocol
Another nexte version of the [Language Server Protocol](https://microsoft.github.io/language-server-protocol), together with the corresponding npm modules, has been published. The new version contains the following changes:
- the conversion of LSP types into VS Code types and vice versa is now fully async. This avoid that the conversion of large data streams can block the extension host. Please note that this is a breaking API change in the libraries (see also the [readme.md](https://github.com/microsoft/vscode-languageserver-node/blob/081ba82a0e49eebec2d1b7d93751290cc1128104/README.md#L47)). It does not affect the backwards compatibility of the protocol itself.
- the proposed implementation for notebook documents got enhanced. It has now full middleware and provider support.
2022-02-28 14:54:27 +03:00
## Debug Adapter Protocol
- A new boolean property `lazy` has been added to the `VariablePresentationHint`. Clients can use the optional flag to present the variable with a UI that supports a specific gesture to fetch its value.
- A new optional string property `detail` has been added to the `CompletionItem`. With this human-readable string a client can show additional information about the item, like type or symbol information. Please note that this property is not yet supported by VS Code.
2022-02-24 12:27:36 +03:00
## Proposed extension APIs
Every milestone comes with new proposed APIs and extension authors can try them out. As always, we want your feedback. Here are the steps to try out a proposed API:
1. [Find a proposal that you want to try](https://github.com/microsoft/vscode/tree/main/src/vscode-dts) and add its name to `package.json#enabledApiProposals`.
1. Use the latest [vscode-dts](https://www.npmjs.com/package/vscode-dts) and run `vscode-dts dev`. It will download the corresponding `d.ts` files into your workspace.
1. You can now program against the proposal.
You cannot publish an extension that uses a proposed API. There may be breaking changes in the next release and we never want to break existing extensions.
### Notebook aware document selectors
2022-02-25 03:02:54 +03:00
The `vscode.DocumentSelector` type allows you to associate language features like **Go to Definition** to specific documents. This drives the UI and also decides if the corresponding provider is asked for results. We have added a new API proposal that allows to also select notebook types, like `{ language: 'python', notebookType: 'jupyter-notebook'}` targets all python documents that are embedded in Jupyter notebooks. This is the [current proposal](https://github.com/microsoft/vscode/blob/8a3b1f4c4c24064273efb3417a5c2e229ba78481/src/vscode-dts/vscode.proposed.notebookDocumentSelector.d.ts) - give it a try and let us know what you think.
2022-02-24 12:27:36 +03:00
### Output channel with custom language ID
2022-02-27 12:14:56 +03:00
2022-02-28 06:57:45 +03:00
There are some extensions that are able to define token or syntax coloring and CodeLens features in their output channels, given that they are text documents (read-only) by themselves. Since all output channels share the same language ID, these customizations can be wrongly applied to other output channels. There was a feature request to create output channels with custom language IDs so that extension authors can define customizations by language. Hence in this milestone, we have introduced the [proposal](https://github.com/microsoft/vscode/blob/35ba35b799a85974079e4a90f59ae7e978ad3def/src/vscode-dts/vscode.proposed.outputChannelLanguage.d.ts#L21) to create an output channel with a custom language ID. Please try it out and give us feedback.
2022-02-27 12:14:56 +03:00
2022-02-28 06:00:24 +03:00
### MarkdownString.baseUri
2022-02-28 06:57:45 +03:00
The proposed `baseUri` property on `MarkdownString` lets you specify a base URI that relative links and images in the Markdown are resolved relative to. This property behaves much like the [`<base>` element in HTML](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/base).
2022-02-28 06:00:24 +03:00
2022-02-28 06:57:45 +03:00
If the `baseUri` ends with `/`, it is considered a directory and relative paths in the Markdown are resolved relative to that directory:
2022-02-28 06:00:24 +03:00
```ts
const md = new vscode.MarkdownString(`[link](./file.js)`);
md.baseUri = vscode.Uri.file('/path/to/dir/');
2022-02-28 06:57:45 +03:00
// Here 'link' in the rendered Markdown resolves to '/path/to/dir/file.js'
2022-02-28 06:00:24 +03:00
```
2022-02-28 06:57:45 +03:00
If the `baseUri` is a file, relative paths in the Markdown are resolved relative to the parent directory of that file:
2022-02-28 06:00:24 +03:00
```ts
const md = new vscode.MarkdownString(`[link](./file.js)`);
md.baseUri = vscode.Uri.file('/path/to/otherFile.js');
2022-02-28 06:57:45 +03:00
// Here 'link' in the rendered Markdown resolves to '/path/to/file.js'
2022-02-28 06:00:24 +03:00
```
2022-02-28 03:56:45 +03:00
## New documentation
2022-02-26 03:54:09 +03:00
2022-02-28 06:57:45 +03:00
### Java GUI applications
2022-02-26 04:13:42 +03:00
2022-02-28 06:57:45 +03:00
The new [Java GUI Applications](https://code.visualstudio.com/docs/java/java-gui) topic explains how to use the [Extension Pack for Java](https://marketplace.visualstudio.com/items?itemName=vscjava.vscode-java-pack) to develop JavaFX, AWT, and Swing application in VS Code.
2022-02-26 03:54:09 +03:00
2022-02-22 18:28:31 +03:00
## Notable fixes
* [107748](https://github.com/microsoft/vscode/issues/107748) Voice over does not read that a setting is ignored to sync
* [123399](https://github.com/microsoft/vscode/issues/123399) Emmet doesn't add the class with tag A in jsx and html files.
* [141680](https://github.com/microsoft/vscode/issues/141680) Searching for @tags in settings is slow
* [141977](https://github.com/microsoft/vscode/issues/141977) Settings editor: Folder action item not handling keyup properly
* [142462](https://github.com/microsoft/vscode/issues/142462) File writes can hang when write locks are not cleared up
* [142040](https://github.com/microsoft/vscode/issues/142040) Improve Install Another Version action for extensions supporting pre-release.
2022-02-26 03:03:07 +03:00
## Thank you
Last but certainly not least, a big _**Thank You**_ to the contributors of VS Code.
2022-02-28 11:38:48 +03:00
### Web extensions
2022-02-28 11:36:37 +03:00
Extension authors for enabling extensions that run code as [web extensions](https://code.visualstudio.com/api/extension-guides/web-extensions) (the list below is between February 1 2022 and February 28 2022):
* [Var Style](https://marketplace.visualstudio.com/items?itemName=allen.VarStyle) ([allen](https://marketplace.visualstudio.com/publishers/allen))
* [helloworld-web-sample](https://marketplace.visualstudio.com/items?itemName=AndreyBelym-DXTestCafe.helloworld-web-sample) ([Andrey Belym](https://marketplace.visualstudio.com/publishers/AndreyBelym-DXTestCafe))
* [asciidoctor.asciidoctor-vscode](https://marketplace.visualstudio.com/items?itemName=asciidoctor.asciidoctor-vscode) ([asciidoctor](https://marketplace.visualstudio.com/publishers/asciidoctor))
* [Gitignore Adder](https://marketplace.visualstudio.com/items?itemName=beatrix.gitignore-adder) ([beatrix](https://marketplace.visualstudio.com/publishers/beatrix))
* [gkauthentication-test](https://marketplace.visualstudio.com/items?itemName=branchcreation.gkauthentication-test) ([BranchCreation SLU](https://marketplace.visualstudio.com/publishers/branchcreation))
* [Racket Helpers](https://marketplace.visualstudio.com/items?itemName=Calvin-LL.racket-helpers) ([Calvin-LL](https://marketplace.visualstudio.com/publishers/Calvin-LL))
* [PHP Tools](https://marketplace.visualstudio.com/items?itemName=DEVSENSE.phptools-vscode) ([DEVSENSE](https://marketplace.visualstudio.com/publishers/DEVSENSE))
* [Naninovel](https://marketplace.visualstudio.com/items?itemName=Elringus.naninovel) ([Elringus](https://marketplace.visualstudio.com/publishers/Elringus))
* [Pitoco Extension](https://marketplace.visualstudio.com/items?itemName=feodrippe.pitoco-extension) ([Feodrippe](https://marketplace.visualstudio.com/publishers/feodrippe))
* [feodrippe.feodrippe-helloworld-minimal-sample-test-web](https://marketplace.visualstudio.com/items?itemName=feodrippe.feodrippe-helloworld-minimal-sample-test-web) ([Feodrippe](https://marketplace.visualstudio.com/publishers/feodrippe))
* [Simple React Snippets for Typescript](https://marketplace.visualstudio.com/items?itemName=fulin.react-snippets-typescript) ([Giovanni Fu Lin](https://marketplace.visualstudio.com/publishers/fulin))
* [GitKraken Authentication](https://marketplace.visualstudio.com/items?itemName=gitkraken.gitkraken-authentication) ([GitKraken](https://marketplace.visualstudio.com/publishers/gitkraken))
* [groog](https://marketplace.visualstudio.com/items?itemName=groogle.groog) ([groogle](https://marketplace.visualstudio.com/publishers/groogle))
* [ModalKeys](https://marketplace.visualstudio.com/items?itemName=haberdashPI.vscode-modal-keys) ([haberdashPI](https://marketplace.visualstudio.com/publishers/haberdashpi))
* [VDM VSCode](https://marketplace.visualstudio.com/items?itemName=jonaskrask.vdm-vscode) ([Jonas Rask](https://marketplace.visualstudio.com/publishers/jonaskrask))
* [cis-algorithm](https://marketplace.visualstudio.com/items?itemName=kimjihu.cis-algorithm) ([kimjihu](https://marketplace.visualstudio.com/publishers/kimjihu))
* [Markdown (Pandoc Flavored)](https://marketplace.visualstudio.com/items?itemName=ickc.vscode-markdown-it-pandoc) ([Kolen Cheung](https://marketplace.visualstudio.com/publishers/ickc))
* [zyname - this is for testing and will be deleted soon](https://marketplace.visualstudio.com/items?itemName=leodevbro.zyidentifier) ([leodevbro](https://marketplace.visualstudio.com/publishers/leodevbro))
* [Snippet Copy](https://marketplace.visualstudio.com/items?itemName=lumaxis.snippet-copy) ([Lukas Spieß](https://marketplace.visualstudio.com/publishers/lumaxis))
* [PHP import checker](https://marketplace.visualstudio.com/items?itemName=marabesi.php-import-checker) ([Marabesi](https://marketplace.visualstudio.com/publishers/marabesi))
* [VSCode Language JSONata](https://marketplace.visualstudio.com/items?itemName=bigbug.vscode-language-jsonata) ([Markus Gutbrod](https://marketplace.visualstudio.com/publishers/bigbug))
* [Babel JavaScript](https://marketplace.visualstudio.com/items?itemName=mgmcdermott.vscode-language-babel) ([Michael McDermott](https://marketplace.visualstudio.com/publishers/mgmcdermott))
* [Create Project](https://marketplace.visualstudio.com/items?itemName=publictheta.vscode-create-project) ([Public Theta](https://marketplace.visualstudio.com/publishers/publictheta))
* [Dynamic Theme](https://marketplace.visualstudio.com/items?itemName=rodydavis.vscode-dynamic-theme) ([Rody Davis](https://marketplace.visualstudio.com/publishers/rodydavis))
* [Router Generator](https://marketplace.visualstudio.com/items?itemName=rodydavis.router-generator) ([Rody Davis](https://marketplace.visualstudio.com/publishers/rodydavis))
* [Chimera Theme](https://marketplace.visualstudio.com/items?itemName=roydukkey.theme-chimera) ([roydukkey](https://marketplace.visualstudio.com/publishers/roydukkey))
* [Qiita Markdown Preview](https://marketplace.visualstudio.com/items?itemName=ryokat3.vscode-qiita-markdown-preview) ([Ryoji Kato](https://marketplace.visualstudio.com/publishers/ryokat3))
* [Kestrel](https://marketplace.visualstudio.com/items?itemName=SenseTime.kestrel) ([SenseTime](https://marketplace.visualstudio.com/publishers/SenseTime))
* [Test token](https://marketplace.visualstudio.com/items?itemName=sevillal.test-token) ([sevillal](https://marketplace.visualstudio.com/publishers/sevillal))
* [Sourcegraph](https://marketplace.visualstudio.com/items?itemName=sourcegraph.sourcegraph) ([Sourcegraph](https://marketplace.visualstudio.com/publishers/sourcegraph))
* [Rewrap](https://marketplace.visualstudio.com/items?itemName=stkb.rewrap) ([stkb](https://marketplace.visualstudio.com/publishers/stkb))
* [wav-preview](https://marketplace.visualstudio.com/items?itemName=sukumo28.wav-preview) ([sukumo28](https://marketplace.visualstudio.com/publishers/sukumo28))
* [Pandoc](https://marketplace.visualstudio.com/items?itemName=taniguchi.pandoc) ([TANIGUCHI Masaya](https://marketplace.visualstudio.com/publishers/taniguchi))
* [Hex Viewer](https://marketplace.visualstudio.com/items?itemName=tao-cumplido.hex-viewer) ([Tao Cumplido](https://marketplace.visualstudio.com/publishers/tao-cumplido))
* [Time Link Bundle (Web version)](https://marketplace.visualstudio.com/items?itemName=time-link.timelink-vscode-web) ([Time Link](https://marketplace.visualstudio.com/publishers/time-link))
* [DCC Websocket](https://marketplace.visualstudio.com/items?itemName=virgilsisoe.dcc-websocket) ([virgilsisoe](https://marketplace.visualstudio.com/publishers/virgilsisoe))
* [VSC+](https://marketplace.visualstudio.com/items?itemName=Vrej.vscplus) ([Vrej](https://marketplace.visualstudio.com/publishers/Vrej))
2022-02-26 03:03:07 +03:00
### Pull requests
Contributions to `vscode`:
* [@aminya (Amin Yahyaabadi)](https://github.com/aminya): fix: simplify regex expressions in tasks/common [PR #142899](https://github.com/microsoft/vscode/pull/142899)
* [@Balastrong (Leonardo)](https://github.com/Balastrong)
* Increased opacity in overload counter tooltip [PR #141828](https://github.com/microsoft/vscode/pull/141828)
* Fixed element detection by checking fragment before and after decoding if necessary [PR #141848](https://github.com/microsoft/vscode/pull/141848)
* [@BMBurstein (Baruch)](https://github.com/BMBurstein): Correct description of bracket guide setting [PR #143722](https://github.com/microsoft/vscode/pull/143722)
* [@Bruce-Hopkins (Bruce Hopkins)](https://github.com/Bruce-Hopkins): Add user home variable [PR #141902](https://github.com/microsoft/vscode/pull/141902)
* [@caioagiani (Caio Agiani)](https://github.com/caioagiani): Fix typos [PR #141959](https://github.com/microsoft/vscode/pull/141959)
* [@CGNonofr (Loïc Mangeonjean)](https://github.com/CGNonofr)
* Replace languageId by languageSelector in all language feature registration functions [PR #143610](https://github.com/microsoft/vscode/pull/143610)
* Allow getWorker function to return a promise [PR #143611](https://github.com/microsoft/vscode/pull/143611)
* [@ChaseKnowlden](https://github.com/ChaseKnowlden): Update Lua Grammar [PR #142107](https://github.com/microsoft/vscode/pull/142107)
* [@divinity76](https://github.com/divinity76): seems root requires --no-sandbox [PR #137125](https://github.com/microsoft/vscode/pull/137125)
* [@efcoyote (coyote)](https://github.com/efcoyote): update to latest seti-ui version [PR #141931](https://github.com/microsoft/vscode/pull/141931)
* [@enticies (enticies)](https://github.com/enticies): Fix error message typo [PR #142054](https://github.com/microsoft/vscode/pull/142054)
* [@g-plane (Pig Fang)](https://github.com/g-plane): Add "pnpm-lock.yaml" to default file nesting patterns [PR #142375](https://github.com/microsoft/vscode/pull/142375)
* [@gjsjohnmurray (John Murray)](https://github.com/gjsjohnmurray)
* Add optional languageId to window.createOutputChannel API (#19561) [PR #140876](https://github.com/microsoft/vscode/pull/140876)
* Fix `testing.openTesting` setting text (#142306) [PR #142314](https://github.com/microsoft/vscode/pull/142314)
* [@haykam821](https://github.com/haykam821): Prevent the image preview transparency background from being affected by scaling [PR #141667](https://github.com/microsoft/vscode/pull/141667)
* [@heartacker](https://github.com/heartacker): add math snippet [PR #142697](https://github.com/microsoft/vscode/pull/142697)
* [@icepaq (Anton)](https://github.com/icepaq): Autocomplete activation event onWebviewPanel [PR #141752](https://github.com/microsoft/vscode/pull/141752)
* [@jeanp413 (Jean Pierre)](https://github.com/jeanp413)
* Fix WebviewElement::streamToBuffer [PR #142288](https://github.com/microsoft/vscode/pull/142288)
2022-02-28 06:57:45 +03:00
* Fix querying an extension by ID in extension view always renders stable version in extension editor [PR #143481](https://github.com/microsoft/vscode/pull/143481)
* [@JJRcop (Jonathan Rubenstein)](https://github.com/JJRcop): Add VS 2022 to supported versions [PR #142667](https://github.com/microsoft/vscode/pull/142667)
* [@LuanVSO (Luan Vitor Simião Oliveira)](https://github.com/LuanVSO)
* fix psreadline not working with shell integration [PR #142211](https://github.com/microsoft/vscode/pull/142211)
* Fix shellintegration.ps1 [PR #142217](https://github.com/microsoft/vscode/pull/142217)
* [@michaelkuhn (Michael Kuhn)](https://github.com/michaelkuhn): Fix some Solarized colors [PR #142670](https://github.com/microsoft/vscode/pull/142670)
* [@neeleshb (Neelesh Bodas)](https://github.com/neeleshb): Fix incorrect label for the "goto previous problem" [PR #143823](https://github.com/microsoft/vscode/pull/143823)
* [@satokaz (Kazuyuki Sato)](https://github.com/satokaz): Decode header suggestions in Markdown path IntelliSense [PR #142392](https://github.com/microsoft/vscode/pull/142392)
* [@SNDST00M (M.U.N.I.N)](https://github.com/SNDST00M): Add optional directory syntax in file icon themes [PR #140079](https://github.com/microsoft/vscode/pull/140079)
* [@stefanhaller (Stefan Haller)](https://github.com/stefanhaller): Fix #142028 [PR #142930](https://github.com/microsoft/vscode/pull/142930)
* [@surajteggi](https://github.com/surajteggi): Fix typo [PR #142185](https://github.com/microsoft/vscode/pull/142185)
* [@thebinarysearchtree (Andrew Jones)](https://github.com/thebinarysearchtree): fix indentation [PR #141997](https://github.com/microsoft/vscode/pull/141997)
* [@weartist (Han)](https://github.com/weartist): Implement multiLinePasteWarning in VSCode terminalfix the #122683 [PR #141822](https://github.com/microsoft/vscode/pull/141822)
* [@y-tsutsu (y-tsutsu)](https://github.com/y-tsutsu)
* Commands display both translated names and original names in command palette. [PR #142524](https://github.com/microsoft/vscode/pull/142524)
* fix action category [PR #142911](https://github.com/microsoft/vscode/pull/142911)
* [@Yash621 (Yash Goel)](https://github.com/Yash621): fixed settings sync has duplicate logins [PR #142340](https://github.com/microsoft/vscode/pull/142340)
* [@zardoy (Vitaly)](https://github.com/zardoy): Resolve correct link path for tsconfig.extends [PR #141062](https://github.com/microsoft/vscode/pull/141062)
2022-02-26 03:03:07 +03:00
Contributions to `vscode-css-languageservice`:
* [@romainmenke (Romain Menke)](https://github.com/romainmenke)
* add support for hwb() color function [PR #262](https://github.com/microsoft/vscode-css-languageservice/pull/262)
* fix specificity for :has, :not, :is and :where [PR #263](https://github.com/microsoft/vscode-css-languageservice/pull/263)
2022-02-26 03:03:07 +03:00
Contributions to `vscode-languageserver-node`:
* [@dsherret (David Sherret)](https://github.com/dsherret): feat: more descriptive error when childProcess.spawn fails [PR #888](https://github.com/microsoft/vscode-languageserver-node/pull/888)
2022-02-26 03:03:07 +03:00
Contributions to `debug-adapter-protocol`:
* [@apupier (Aurélien Pupier)](https://github.com/apupier): Add Debug Adapter for Apache Camel [PR #245](https://github.com/microsoft/debug-adapter-protocol/pull/245)
* [@eshelyaron (Eshel Yaron)](https://github.com/eshelyaron): Add SWI-Prolog DAP implementation to adapters.md [PR #248](https://github.com/microsoft/debug-adapter-protocol/pull/248)
* [@hyangah (Hyang-Ah Hana Kim)](https://github.com/hyangah): Update sdks.md * include go-dap [PR #241](https://github.com/microsoft/debug-adapter-protocol/pull/241)
* [@lukaszsamson (Łukasz Samson)](https://github.com/lukaszsamson): Add link to Elixir DAP implementation [PR #243](https://github.com/microsoft/debug-adapter-protocol/pull/243)
* [@Ricbet (John)](https://github.com/Ricbet): Add OpenSumi to the Implementations tools [PR #247](https://github.com/microsoft/debug-adapter-protocol/pull/247)
2022-02-26 03:03:07 +03:00
Contributions to `language-server-protocol`:
2022-02-28 06:57:45 +03:00
* [@zwpaper (Wei Zhang)](https://github.com/zwpaper): use language ID for consistence [PR #1409](https://github.com/microsoft/language-server-protocol/pull/1409)
2022-02-26 03:03:07 +03:00
Contributions to `monaco-editor`:
* [@Dan1ve (Daniel Veihelmann)](https://github.com/Dan1ve): Make Vite sample code Firefox compatible [PR #2991](https://github.com/microsoft/monaco-editor/pull/2991)
* [@philipturner (Philip Turner)](https://github.com/philipturner): Add `@noDerivative` modifier to Swift [PR #2957](https://github.com/microsoft/monaco-editor/pull/2957)
2022-02-26 03:03:07 +03:00
2022-02-23 00:10:56 +03:00
<!-- In-product release notes styles. Do not modify without also modifying regex in gulpfile.common.js -->
<a id="scroll-to-top" role="button" title="Scroll to top" aria-label="scroll to top" href="#"><span class="icon"></span></a>
<link rel="stylesheet" type="text/css" href="css/inproduct_releasenotes.css"/>