Open rogerxu opened 2 years ago
Visual Studio Code September 2021
Quickly create side-by-side editors for the same file.
A new command Split in Group (⌘K ⇧⌘) was added to split an editor into two sides without requiring a second editor group. This allows you to work in two editors side by side on the same file. You can also toggle the layout between splitting vertically or horizontally via the Toggle Layout button.
Locked editor groups provide a new way of handling this issue, not only for terminals but for any editor. If you have more than one editor group opened, you can now lock it, either using one of the new commands or from the "..." overflow menu:
The settings experience was improved allowing you to easily select an editor that should lock a group automatically when opening:
The setting is now called workbench.editor.autoLockGroups
.
Tab decorations highlight deleted and readonly files.
VS Code now uses decorations for this purpose:
Display vertical guides to link matching bracket pairs.
Similar to indentation guides, the active bracket pair guide is highlighted.
Bracket pair guides can be enabled by configuring the editor.guides.bracketPairs
setting (defaults to false
).
Set an active terminal's width and height.
You can now statically set terminal dimensions via the Terminal: Set Fixed Dimensions command (workbench.action.terminal.setDimensions
). This is useful for cases when line wrapping can be jarring or disruptive.
The command will display a prompt where you can enter the preferred width and/or height.
Terminal processes are disposed of when a VS Code window is closed. In this release, there is a new opt-in setting for recording and restoring the buffer and using it to recreate processes. Set terminal.integrated.persistentSessionReviveProcess
to enable this.
Visual Studio Code October 2021
VS Code now highlights the current parameter in the parameter hint and the color can be themed via editorHoverWidget.highlightForeground
.
Horizontal lines now outline the scope of a bracket pair. Also, vertical lines now depend on the indentation of the code that is surrounded by the bracket pair.
Visual Studio Code November 2021
From the Color Themes dropdown (⌘K ⌘T), select Browse Additional Color Themes to list the Marketplace themes.
You can now define the order for Go to Next Problem (⌥F8) and Go to Previous Problem (⇧⌥F8) navigation.
"problems.sortOrder": "position"
"[javascript][typescript]": {
"editor.maxTokenizationLineLength": 2500
}
A true 2x2 grid editor layout was only possible using the View: Grid Editor Layout (2x2) command.
All uncommon invisible characters in source code are now highlighted by default.
The NPM scripts view shows more details about the scripts.
[Visual Studio Code January 2022](https://code.visualstudio.com/updates/v1_64)
You can use the Move View command from the Command Palette, which will display a dropdown of available views. When you select a view, you can then choose the location by either creating a new Panel/Side Bar/Side Panel entry or placing the view in an existing location such as Explorer or Source Control.
Views can be drag and dropped between the Panel, Side Bar, and Side Panel by grabbing the view icon. You can reset a view's location back to its default by right-clicking on the view icon and selecting Reset Location.
If you'd like to reset all views back to the default layout, you can run Views: Reset View Locations from the Command Palette.
Search now prioritizes whole word matches.
Settings Sync now supports synchronizing User Tasks.
Hear when the cursor moves to folded regions, errors, and breakpoints.
Avoid highlighting characters in supported languages.
Create automatic responses to common terminal prompts.
"terminal.integrated.autoReplies": {
"Terminate batch job (Y/N)?": "Y\r",
"[Oh My Zsh] Would you like to check for updates? [Y/n]": "Y\r"
}
Now, links can be opened using only the keyboard via Terminal: Open Detected Link... to view all links (web, file, word).
There are two new settings to better control the process of discovering Git repositories and accommodate more diverse folder structures.
git.repositoryScanMaxDepth
- Control the depth used when scanning.git.repositoryScanIgnoredFolders
- Control the list of folders that should be ignored during scanning.View and edit binary data while debugging.
The JavaScript debugger added the ability to "exclude a caller" from pausing at a breakpoint or debugger statement.
Quickly insert relative file paths and header links.
Insert selected code inside snippets.
Visual Studio Code February 2022
Scope Go Back/Go Forward history to editor group or single editor.
Editor groups are now taken into account when navigating in the editor history.
A new setting workbench.editor.navigationScope
makes it possible to scope editor history navigation to just the active editor group or even editor.
Light theme for enhanced VS Code editor visibility.
Audio cues for warnings, inline suggestions, and breakpoint hits.
A new audio cue command Help: List Audio Cues lists all available audio cues, lets you hear each audio cue as you move through the list, and review which cues are currently enabled.
Drag results to new or existing editor groups.
When the new setting workbench.editor.historyBasedLanguageDetection
is enabled, untitled editors will use an improved automatic language detection algorithm that factors in your editor history and the contents of the current workspace. The new algorithm requires much less text input than before to provide detection results.
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 new setting git.closeDiffOnOperation
to automatically close diff editors after Git operations.
Lazy evaluation of JavaScript/TypeScript property getters.
Rerun terminal commands, command status decorations.
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.
Clicking on a decoration displays actions specific to that command in a menu, that currently include Re-run Command and Copy Output.
Hovering over the decoration displays information about the command, such as the time since it was run and the associated exit code.
Reopen recent local files and folders, improved Git integration.
Keep track of local file changes independent of source control.
Displays available language-specific settings.
Users can now type @lang:languageId
in the Settings editor search box to view and edit all settings that can be configured for the language with ID languageId
. This way, users can view language-specific settings, also known as language overrides.
Matches are highlighted in the terminal panel and scroll bar.
A little known feature that's been around for a while is the ability to quickly navigate between commands in the terminal. This feature can be accessed via the following keybindings:
Cmd+Up/Down
Ctrl+Up/Down
(new)The Shift
key can be held down to make selections between commands in the terminal.
To copy rich text from the terminal, run the Terminal: Copy Selection as HTML command or use the terminal context menu entry Copy as HTML.
The editor.quickSuggestions
setting now accepts inline
as configuration value. When set to inline
, quick suggestions (IntelliSense) don't display the suggestions widget when you type but show completions as ghosted text.
Code formatting for CSS, LESS, and SCSS.
The built-in CSS extension now ships with a formatter. The formatter works with CSS, LESS and SCSS. It is implemented by the JS Beautify library and comes with the following settings:
css.format.enable
- Enable/disable default CSS formatter.css.format.newlineBetweenRules
- Separate rulesets by a blank line.css.format.newlineBetweenSelectors
- Separate selectors with a new line.css.format.spaceAroundSelectorSeparator
- Ensure a space character around selector separators '>', '+', '~' (for example, a > b
).Collect and view JS memory allocations while debugging.
Drag and drop files and folders into vscode.dev.
Markdown lets you can create links using a shorthand syntax in cases where the link text matches the link definition ID. For example, [my fancy link]
, uses the my fancy link
link definition (for example, [my fancy link]: https://example.com
). These shorthand links are now clickable in VS Code's editor.
Connect via SSH to Apple Silicon/M1/ARM64 machines.
There is a new R in Visual Studio Code topic describing R programming language support in VS Code with the R extension. The R extension includes rich language features such as code completions and linting as well as integrated R terminals and dedicated workspace, data, and plot viewers.
Nest generated files under source files in the Explorer.
Filter button brings up searches such as @Modified settings
Colored bracket pairs are now enabled by default.
Ctrl+Alt
to quickly hide or show inlay hints in the editor.
Editor › Inlay Hints: Enabled value:
on
- Inlay hints are enabled.off
- Inlay hints are disabled.onUnlessPressed
- Inlay hints shown and hidden with Ctrl+Alt
.offUnlessPressed
- Inlay hints hidden and shown with Ctrl+Alt
.Drop files into the editor to create Markdown links.
Hold Shift
while dragging the file over a Markdown editor to drop it into the editor and create a link to it.
Quickly find all references to headers, files, URLs.
Now supporting inlay hints and lazy variable resolution.
Guidance for VS Code extension UI best practices.
Learn how to use the Rust programming language in VS Code.
See installed and available Language Packs in their language.
View errors and warnings as a table to quickly filter on their source.
Learn whether an extension is deprecated or should be replaced.
Support the developers who build your favorite extensions.
Reuse your existing .gitignore
to hide files in the Explorer.
Find match background color, min contrast ratio.
Branch protection available right inside VS Code with the new git.branchProtection
setting.
Jump directly to a symbol's JavaScript implementation. Go to Source Definition
vscode.dev now matches your chosen browser language.
Learn more about the evolving dev container spec.
Detects broken links to headers, images, and files.
Resolve merge conflicts within VS Code.
New UI to search files, run commands, and navigate cursor history.
Silence non-critical notification popups.
Quickly switch between preferred light and dark themes.
Display command status, run recent commands, and more.
Highlights task success or failure exit codes.
Configure your default Git Commit action.
Status bar:
Branch picker:
Allows you to step directly into functions when paused.
Switch to debugging compiled rather than source code.
Use vscode.dev to preview color themes.
Run the same server used for Remote Development.
Release version 1.60
Visual Studio Code August 2021
Automatic language detection
Programming language detected when you paste into VS Code.
Built-in fast bracket colorization
Fast bracket matching and colorization for large files.
Bracket pair colorization can be enabled by setting
"editor.bracketPairColorization.enabled": true
. All colors are themeable and up to six colors can be configured.Settings editor syntax highlighting
Rich syntax highlighting for setting description code blocks.
Inline suggestions in autocomplete
Inline suggestions can now extend the suggestion preview when the autocomplete widget is shown. Pressing Tab once will still only accept the autocomplete suggestion. Pressing Tab a second time will then accept the inline suggestion.
This feature requires the suggest preview to be enabled (
"editor.suggest.preview": true
).Custom terminal glyph rendering
Better display of box drawing and block element characters.
Set debugging Watch values
Change watched values during a debugging session.
JavaScript/TypeScript inlay hints
Inline hints for parameter names and types, and more.
Inlay hints add additional inline information to source code to help you understand what the code does.
Parameter name inlay hints show the names of parameters in function calls:
This can help you understand the meaning of each argument at a glance, which is especially helpful for functions that take Boolean flags or have parameters that are easy to mix up.
To enable parameter name hints, set
javascript.inlayHints.parameterNames.enabled
ortypescript.inlayHints.parameterNames.enabled
settings. There are three possible values:none
- Disable parameter inlay hints.literals
- Only show inlay hints for literals (string, number, Boolean).all
- Show inlay hints for all arguments.Variable type inlay hints show the types of variables that don't have explicit type annotations.
Settings -
javascript.inlayHints.variableTypes.enabled
andtypescript.inlayHints.variableTypes.enabled
Property type inlay hints show the type of class properties that don't have an explicit type annotation.
Settings-
javascript.inlayHints.propertyDeclarationTypes.enabled
andtypescript.inlayHints.propertyDeclarationTypes.enabled
Parameter type hints show the types of implicitly typed parameters.
Settings -
javascript.inlayHints.parameterTypes.enabled
andtypescript.inlayHints.parameterTypes.enabled
Return type inlay hints show the return types of functions that don't have an explicit type annotation.
Settings -
javascript.inlayHints.functionLikeReturnTypes.enabled
andtypescript.inlayHints.functionLikeReturnTypes.enabled
Spelling suggestions in JavaScript files
VS Code now helps you catch simple spelling mistakes in JavaScript files: