62 KiB
Order | TOCTitle | PageTitle | MetaDescription | MetaSocialImage | Date | DownloadVersion |
---|---|---|---|---|---|---|
October 2018 | Visual Studio Code October 2018 | See what is new in the Visual Studio Code October 2018 Release (1.29) | 1_29/release-highlights.png | 2018-11-12 | 1.29.1 |
October 2018 (version 1.29)
Update 1.29.1: The update addresses these issues.
Welcome to the October 2018 release of Visual Studio Code. There are a number of significant updates in this version that we hope you will like, some of the key highlights include:
- Multiline search - Search across files with regex multiline expressions.
- File icons in IntelliSense - Quickly distinguish file types in IntelliSense.
- Better macOS support - Full screen mode control and Mojave Dark Mode support.
- Collapsible stack frames - Collapse uninteresting stack frames to clearly see your code.
- Improved Loaded Scripts view - Displays related resources such as original source files.
- Updated extension samples - Uniform style and structure, README, and API usage.
- CI recipe for extensions - Azure Pipelines build recipe for extensions.
- Preview: Find All References - Find All References view shows reference search results.
If you'd like to read these release notes online, go to Updates on code.visualstudio.com.
You can also check out this 1.29 release highlights video from Cloud Developer Advocate Brian Clark.
The release notes are arranged in the following sections related to VS Code focus areas. Here are some further updates:
- Workbench - Platform specific end-of-line characters, highlight modified file tabs.
- Integrated Terminal - Split terminal cwd options, Cmd+Backspace to delete to start of line.
- Languages - Display CSS Specificity on hover, handle unknown CSS properties.
- Debugging - Multiple debug consoles, start with stop on entry, style console.log messages.
- Extension Authoring - Active terminal API, more control over custom views.
Insiders: Want to see new features as soon as possible? You can download the nightly Insiders build and try the latest updates as soon as they are available. And for the latest Visual Studio Code news, updates, and content, follow us on Twitter @code!
Search
Multiline search
VS Code now supports multiline search! Same as in the editor, a regex search executes in multiline mode only if it contains a \n
literal. The Search view shows a hint next to each multiline match, with the number of additional match lines.
This feature is possible thanks to the work done in the ripgrep tool to implement multiline search.
Backreferences and lookahead in search
It is also now possible to use backreferences and lookahead assertions in regex searches, by setting "search.usePCRE2": true
. This configures ripgrep to use the PCRE2 regex engine. While PCRE2 supports many other features, we only support regex expressions that are still valid in JavaScript, because open editors are still searched using the editor's JavaScript-based search.
If you are still missing lookbehind assertions, don't worry! That feature is just recently supported by JavaScript and should come to VS Code in a later Electron shell update.
Show line numbers in search
We've added a setting search.showLineNumbers
which will display the line number for each match in the Search view.
Disable search and replace preview
There is a new setting search.useReplacePreview
which allows you to disable the preview diff that appears when doing a search/replace in the Search view.
Use global .gitignore file in search
Git allows you to configure a global gitignore
file using the core.excludesfile
config property. By default, search does not respect the global gitignore
file, but you can now change this by enabling the new setting search.useGlobalIgnoreFiles
.
Workbench
macOS Mojave Dark Mode support
The macOS Mojave Dark Mode is now better supported in VS Code. Previously, VS Code menus and dialogs would show with the default light theme, even if macOS was running in dark theme. Now, all native UI elements will show with the Dark Mode if enabled.
macOS full screen support
A new setting window.nativeFullScreen
was introduced that, if set to false
, will enable full screen mode for VS Code that does not use the native macOS full screen feature. This has the advantage that entering full screen mode will not create a macOS space on the desktop. By default, VS Code will still use macOS native full screen.
New default for files.eol
: auto
The files.eol
end of line setting now has a new default value auto
. When set to auto
, the end of line character for new files is specific to the operating system. It is \r\n
on Windows and \n
on macOS and Linux. You can also still explicitly set file.eol
to \n
or \r\n
.
Highlight modified tabs
A new setting workbench.editor.highlightModifiedTabs
displays a thick border at the top of editor tabs whenever the editor is dirty (has unsaved changes). This makes it easier to find files that need to be saved. The color of the border can be customized (see below).
Centered editor layout auto resize
Centered layout view will now automatically resize to max width when more than 1 editor group is open. This should make centered layout easier to use and require less manual toggling. This behavior is controlled by a new setting workbench.editor.centeredLayoutAutoResize
which is enable by default.
Symbol order in Breadcrumbs
There is a new setting that controls how symbols in the Breadcrumbs picker are ordered: breadcrumbs.symbolSortOrder
.
Allowed values are:
position
- position in the file (default)name
- alphabetical ordertype
- symbol type order
The example below shows the Breadcrumbs symbol list ordered by name:
Breadcrumbs and preview editors
When middle clicking items in the Breadcrumbs navigation, they now open in a new editor and don't reuse the preview editor. This behavior now matches middle clicking files in the Explorer.
Notifications automatically hide even when showing buttons
Previously, VS Code would never hide notifications if they included buttons. This resulted in the potential for notifications to pile up in the lower right corner and cover parts of the editor. With this release, notifications are hidden after a timeout even if they show buttons.
There are two exceptions:
- Notifications with
error
severity will not be hidden on the assumption that the user needs to take some action. - A few specific notifications from VS Code will remain open. For example, the notification that asks if you'd like to install an extension after browsing the VS Code Marketplace.
Note: Even if notifications are hidden, you can always access all notifications from the Notification Center, either by clicking on the little bell icon in the Status bar or via the Show Notifications (notifications.toggleList
) command.
Panel position button to context menu
In order to preserve horizontal space and reduce clutter, we removed the toggle Panel position button (Move to Right, Move to Bottom) from the Panel title area. The action is now available in the Panel title area context menu and also in View > Appearance > Toggle Panel Position main menu. Another reason for removing this button was that we believe users set their layout once and don't normally toggle back and forth.
Updated file icons per file type
In the previous release, we added custom icons for common VS Code file types. We now added those icons to smaller views so they will appear in a list view.
Settings editor "Modified in" hint is now a link
In the Settings editor, we show a hint when a setting is configured in a scope (User, Workspace) other than the currently selected scope. The other scope hint is now a link that will take you to the setting in the other scope.
Tree widget performance
The VS Code tree widget control is used in many places in the VS Code UI but was hitting performance limits in some specific use cases (Problems panel, Outline view). We have been working on faster virtual tree widget implementations which can accommodate different levels of performance versus API convenience. You can read here to learn more.
The new ObjectTree
widget is now being used in the Problems panel and we've already seen significant improvements. We were able to dramatically raise the number of problem items the workbench can handle as well as increase the speed of certain operations (such as Collapse All) and advanced filtering scenarios. These improvements now make it feasible to work with larger collection sizes.
Workbench navigation commands
Four commands are added to improve workbench navigation:
workbench.action.nextSideBarView
: Go to next view in Side Bar.workbench.action.previousSideBarView
: Go to previous view in Side Bar.workbench.action.nextPanelView
: Go to next Panel.workbench.action.previousPanelView
: Go to previous Panel.
By default, the commands do not have keyboard shortcuts.
Two context keys, sideBarFocus
and panelFocus
were also added. This allows using the same keybinding for different commands in different Workbench areas:
[
{ "key": "cmd+]", "command": "workbench.action.nextEditor" },
{ "key": "cmd+[", "command": "workbench.action.previousEditor" },
{
"key": "cmd+]",
"command": "workbench.action.nextSideBarView",
"when": "sideBarFocus"
},
{
"key": "cmd+[",
"command": "workbench.action.previousSideBarView",
"when": "sideBarFocus"
},
{
"key": "cmd+]",
"command": "workbench.action.nextPanelView",
"when": "panelFocus"
},
{
"key": "cmd+[",
"command": "workbench.action.previousPanelView",
"when": "panelFocus"
}
]
Show view group parent
The Open View command (view
in Quick Open) now shows each view group's parent to better represent the view hierarchy. For example, the Explorer group now show as Side Bar / Explorer, and Terminal group as Panel / Terminal.
Editor
File and folder icons in IntelliSense
The IntelliSense widget now shows file and folder icons for file completions based on your File Icon theme. This provides a unified look and helps you quickly identify different file types.
Format Selection
To speed up small formatting operations, the Format Selection command without an editor selection will now format the current line.
Show error codes
The editor now shows the error code of a problem if an error code is defined. The error code is displayed at the end of the line in square brackets.
Below you can see that TypeScript is displaying the error code '2339':
Integrated Terminal
Split terminal can inherit working directory
A setting terminal.integrated.splitCwd
was added to control the current working directory (cwd) of the new terminal when a terminal is split:
workspaceRoot
- The previous behavior; a new split terminal will use the workspace root as the working directory. In a multi-root workspace, a choice for which root folder to use is offered.initial
- A new split terminal will use the working directory that the parent terminal started with.inherited
- On macOS and Linux, a new split terminal will use the working directory of the parent terminal. On Windows, this behaves the same asinitial
.
Cmd+Backspace to delete to the start of the line
A new keybinding was added on macOS for Cmd+Backspace
which sends \u0015
(Ctrl+U) to the terminal. In bash, this deletes from the cursor to the start of the line, in zsh, it deletes the whole line.
Experimental buffer improvements
A new setting terminal.integrated.experimentalBufferImpl
allows changing how the terminal stores its buffer to a TypedArray
/ArrayBuffer
-based implementation. If you would like to opt-in, you can expect performance improvements across the board, including reduced memory usage and garbage collection, and an overall increase to the throughput of the terminal.
{
"terminal.integrated.experimentalBufferImpl": "TypedArray"
}
This is just the beginning, we're expecting further improvements to throughput and memory usage over the next couple of releases before making this the default implementation. A special thanks to @jerch from the xterm.js team, who has been the main driving force behind this multi-month project.
Tasks
Clear terminal before executing task
A new property clear
was added to the task presentation
configuration. Set the clear
property to true
to clear the terminal before the task is run.
Debugging
Collapsible stack frames
Sometimes call stacks in the debugger contain stack frames which are not interesting to the user (external code, skipped files etc...). To reduce clutter and save on vertical space, we now render those uninteresting stack frames as collapsed.
Improved Loaded Scripts view
In this milestone, we updated the Loaded Scripts view to support file icons and added the capability to show related resources as child elements. Debug extensions can use this feature to show the source file(s) that were transpiled into a script.
The following picture from the Node.js debugger shows the TypeScript source for JavaScript files (as available in source maps):
Please note that the related resources feature requires opt-in by debug extensions. In the October release, only node-debug
has experimental support for this feature for Node.js versions < 8.0 (aka "legacy").
Multiple debug consoles
When debugging multiple debug sessions, we now show their output in different debug consoles. This makes it easier to distinguish which debug session is responsible for which output and evaluation.
Start debugging with stop on entry
For Node.js debugging, we have added a new command Debug: Start Debugging and Stop On Entry (extension.node-debug.startWithStopOnEntry
). Use this command if you would like to start debugging and immediately stop on the entry of your program. The default keybinding is kb(extension.node-debug.startWithStopOnEntry)
. Note that is command is only available if your selected launch configuration is of type node
.
Node debugging supports console.log styling
When debugging Node.js (or Chrome using the "Debugger for Chrome" extension), you can now style messages from console.log
using %c
, similar to what Chrome DevTools supports. Supported properties are color
, background
, font-weight: bold
, and text-decoration: underline
.
Breakpoint widget expands to multiple lines
The Breakpoint widget can now expand to multiple lines, use Shift+Enter
to insert an additional line, or simply paste a multiline condition or log message. This should help when editing more complex conditions and log messages.
Languages
TypeScript 3.1.4
This release includes TypeScript 3.1.4, a small update that fixes a few important bugs.
Markdown snippet improvements
The built-in Markdown snippets, such as those for links and code blocks, now use the currently selected text by default. This allows you to create keybindings that turn the currently selected text into a link or header:
{
"key": "cmd+k",
"command": "editor.action.insertSnippet",
"when": "editorTextFocus",
"args": {
"langId": "markdown",
"name": "Insert link"
}
}
CSS Specificity in hover message
The CSS hover now shows you the CSS Specificity.
Handle unknown CSS properties
With CSS pre-processors such as PostCSS, you might use invalid properties that are compiled to valid properties during development time. The [css/less/scss].lint.validProperties
setting prevents VS Code from marking those invalid properties as erroneous.
Improved CSS zero unit warning
CSS now lints zero units used in CSS shorthand property values. For example, 0px
will now cause a warning.
Graceful handling of JSON schema loading error
If VS Code is unable to download a JSON schema used for IntelliSense or error-checking JSON files, a warning will be shown in the Status Bar:
In the past, you would have seen an error in the editor.
Engineering
Continued Electron 3.0 exploration
During this milestone, we continued to explore bundling Electron 3.0.0 into VS Code. This is a major Electron release and comes with Chrome 66 and Node.js 10.x (a major leap forward compared to our current version that has Chrome 61 and Node.js 8.x). We plan to push out the update to our Insiders users in the near future to gather additional feedback. If you are interested in helping out, make sure to install VS Code Insiders.
Strict null checking core VS Code
This milestone, we also started work to enable TypeScript's strict null checks in the core VS Code source. Strict null checks help catch many common programming mistakes and make the intent of the programmer more explicit. We've seen clear benefits using strict null checks for VS Code's built-in extensions.
Since VS Code's core source contains several thousand files, we are adopting strict null checking incrementally. We started by strict null checking files that have no imports and are now iteratively enabling strict null checks in files that only import other strict null checked files. This will continue until the entire code base is converted.
Enabling strict null checks is a major engineering effort but we think the payoff in terms of source code and product quality will be worth it. You can track our strict null checking progress here.
Miscellaneous
Low contrast menu bar
If you are using Ubuntu 18.10 or a GTK theme that mixes light or dark context menus with the opposite theming for the application menu bar, you may experience a low contrast menu bar that is difficult to read.
There are two possible workarounds for this:
- Try out the VS Code custom title bar style by configuring the setting
window.titleBarStyle
tocustom
. - Change your GTK theme. You can do this by installing the Gnome Tweaks application and using the previous default theme
Adwaita
.
Information on this issue can be tracked in issue 62593.
Electron update
In this release, we updated from Electron 2.0.9 to 2.0.12.
Preview Features
Preview features are not ready for release but are functional enough to use. We welcome your early feedback while they are under development.
References View
There is a new command Find All References, which displays a dedicated Side Bar view showing reference search results. This complements the existing Peek view presentation and provides a more stable list of references. In the context menu, select Find All References (kb(references-view.find)
) and references are shown in a separate view, just like search results.
Results are stable and individual results can be cleared, which is great if you use the view as a To Do list. You can use kb(references-view.next)
and kb(references-view.prev)
to navigate through results without taking your hands off the keyboard.
Let us know what you think and we'll be refining the experience in our next update.
Extension Authoring
Normalized extension samples
The VS Code extension samples at vscode-extension-samples have been updated for consistency.
Each extension sample now includes:
- Uniform coding style and structure.
- A README that explains the sample's functionality with a short animation.
- A listing of the
vscode
API or Contribution Points used in each sample.
Bundling extensions
Bundled extensions load faster. We therefore created a sample that shows how to webpack an extension.
Develop extensions without requiring a publisher
In an effort to simplify initial extension development, the publisher
field was removed from the Yeoman Extension Generator template. For extensions without a publisher
identifier, VS Code now loads them with undefined_publisher
as their publisher. However, the vsce
publishing tool will warn you if you are missing a valid publisher when attempting to publish extensions to the Marketplace.
Active terminal APIs
The proposed APIs that give access to the active terminal, window.activeTerminal
and window.onDidChangeActiveTerminal
, are now stable.
Notifications with buttons hide after a timeout
If your extension is using the showInformationMessage
or showWarningMessage
API with the non-modal option and buttons, note that these notifications will now hide after a certain timeout. Only notifications triggered via showErrorMessage
and having buttons will stay open as before. If you must get immediate input from the user or need to show a message prominently, you can still use modal: true
as an option. This will bring up a modal dialog that blocks the user from doing anything until dismissed. We do however discourage overuse of this option because it interrupts the user.
Custom views: Expand revealed elements
You can now expand an element to reveal using the expand
option in the reveal
API. It also supports recursively expanding child elements by passing the number of levels.
NOTE: You can only expand to a maximum of 3 levels.
/**
* Reveals the given element in the tree view.
* If the tree view is not visible then the tree view is shown and element is revealed.
*
* By default revealed element is selected.
* In order to not to select, set the option `select` to `false`.
* In order to focus, set the option `focus` to `true`.
* In order to expand the revealed element, set the option `expand` to `true`. To expand recursively set `expand` to the number of levels to expand.
* **NOTE:** You can expand only to 3 levels maximum.
*
* **NOTE:** [TreeDataProvider](#TreeDataProvider) is required to implement [getParent](#TreeDataProvider.getParent) method to access this API.
*/
reveal(element: T, options?: { select?: boolean, focus?: boolean, expand?: boolean | number }): Thenable<void>;
New theme colors
There are new theme colors:
tab.activeModifiedBorder
: Border on the top of modified (dirty) active tabs in an active group.tab.inactiveModifiedBorder
: Border on the top of modified (dirty) inactive tabs in an active group.tab.unfocusedActiveModifiedBorder
: Border on the top of modified (dirty) active tabs in an unfocused group.tab.unfocusedInactiveModifiedBorder
: Border on the top of modified (dirty) inactive tabs in an unfocused group.editor.stackFrameHighlightBackground
: Background color of the top debug stack frame highlight in the editor. By default this color is yellow.editor.focusedStackFrameHighlightBackground
: Background color of the focused debug stack frame highlight in the editor. By default this color is green.
Git extension API additions
The Git extension API has been updated to expose details on the actual changes each repository has.
Additionally, the following methods have been exposed:
Using Azure Pipelines for extension CI
We've updated our documentation on how to setup a continuous integration solution for your extension using Azure Pipelines. The new guide provides a configuration with which you can run your extension tests simultaneously on Windows, macOS and Linux.
Proposed Extension APIs
Every milestone comes with new proposed APIs and extension authors can try them out. As always we are keen on your feedback. This is what you have to do to try out a proposed API:
- You must use Insiders because proposed APIs change frequently.
- You must have this line in the
package.json
file of your extension:"enableProposedApi": true
. - Copy the latest version of the vscode.proposed.d.ts file into your project.
Note that you cannot publish an extension that uses a proposed API. We may likely make breaking changes in the next release and we never want to break existing extensions.
Clipboard API
We have a proposed API to access the clipboard. It follows the up-coming browser Clipboard API and currently allows reading and writing of text:
export interface Clipboard {
readText(): Thenable<string>;
writeText(value: string): Thenable<void>;
}
export namespace env {
const clipboard: Clipboard;
}
Completion text insert rules
There is a new proposed API to modify the insert behavior of completion items. By default, multiline completions get 're-formatted' to match in the indentation of the current line. Sometimes this indentation is unwanted and the new proposed API allows a completion to turn it off. CompletionItemInsertTextRule
is a bitmask that has a KeepWhitespace
rule that a completion can set.
Custom views
Collapse All action
You can add Collapse All action to your view by just setting showCollapseAll
option to true
while creating the TreeView
.
/**
* Options for creating a [TreeView](#TreeView]
*/
export interface TreeViewOptions<T> {
/**
* A data provider that provides tree data.
*/
treeDataProvider: TreeDataProvider<T>;
/**
* Whether to show collapse all action or not.
*/
showCollapseAll?: boolean;
}
namespace window {
export function createTreeView<T>(viewId: string, options: TreeViewOptions<T>): TreeView<T>;
}
VS Code provides the Collapse All functionality and shows it with same icon and location for all opted-in views.
TreeItem label highlights
You can highlight the TreeItem
label by providing ranges using the highlights
option. Since it is a proposed API, you have to use TreeItem2
to update highlights.
/**
* Label describing the [Tree item](#TreeItem)
*/
export interface TreeItemLabel {
/**
* A human-readable string describing the [Tree item](#TreeItem).
*/
label: string;
/**
* Ranges in the label to highlight. A range is defined as a tuple of two number where the
* first is the inclusive start index and the second the exclusive end index
*/
highlights?: [number, number][];
}
export class TreeItem2 extends TreeItem {
/**
* Label describing this item. When `falsy`, it is derived from [resourceUri](#TreeItem.resourceUri).
*/
label?: string | TreeItemLabel | /* for compilation */ any;
/**
* @param label Label describing this item
* @param collapsibleState [TreeItemCollapsibleState](#TreeItemCollapsibleState) of the tree item. Default is [TreeItemCollapsibleState.None](#TreeItemCollapsibleState.None)
*/
constructor(label: TreeItemLabel, collapsibleState?: TreeItemCollapsibleState);
}
Hide Source Control input box
There is a new proposed API property on SourceControlInputBox
instances which will let you hide the input box at the top of a source control provider UI view.
export interface SourceControlInputBox {
/**
* Controls whether the input box is visible (default is true`).
*/
visible: boolean;
}
SignatureHelpContext
The proposed SignatureHelpContext
gives SignatureHelpProviders
additional information about why signature help was requested:
export interface SignatureHelpProvider {
provideSignatureHelp(document: TextDocument, position: Position, token: CancellationToken, context: SignatureHelpContext): ProviderResult<SignatureHelp>;
}
The SignatureHelpContext
includes:
- What action caused signature help to be triggered
- The trigger character (if any)
- Was this was a re-trigger? (signature help was already showing)
/**
* Contains additional information about the context in which a
* [signature help provider](#SignatureHelpProvider.provideSignatureHelp) is triggered.
*/
export interface SignatureHelpContext {
/**
* Action that caused signature help to be requested.
*/
readonly triggerReason: SignatureHelpTriggerReason;
/**
* Character that caused signature help to be requested.
*
* This is `undefined` when signature help is not triggered by typing, such as when invoking signature help
* or when moving the cursor.
*/
readonly triggerCharacter?: string;
/**
* Whether or not signature help was previously showing when triggered.
*
* Retriggers occur when the signature help is already active and can be caused by typing a trigger character
* or by a cursor move.
*/
readonly isRetrigger: boolean;
}
/**
* How a [Signature provider](#SignatureHelpProvider) was triggered
*/
export enum SignatureHelpTriggerReason {
/**
* Signature help was invoked manually by the user or by a command.
*/
Invoke = 1,
/**
* Signature help was triggered by a trigger character.
*/
TriggerCharacter = 2,
/**
* Signature help was triggered by the cursor moving or by the document content changing.
*/
ContentChange = 3,
}
Additionally, the proposal allows SignatureHelpProvider
to be registered with a set of triggerCharacters
and a distinct set of retriggerCharacters
:
export interface SignatureHelpProviderMetadata {
readonly triggerCharacters: ReadonlyArray<string>;
readonly retriggerCharacters: ReadonlyArray<string>;
}
namespace languages {
export function registerSignatureHelpProvider(
selector: DocumentSelector,
provider: SignatureHelpProvider,
metadata: SignatureHelpProviderMetadata
): Disposable;
}
retriggerCharacters
only cause a signature help provider to be invoked if signature help is already showing.
Contributions to Extensions
Our team maintains or contributes to a number of VS Code extensions. Most notably this month:
Go
Below are some of the key features the Go extension now supports when you use the new Go modules in Go 1.11:
- Code navigation (Go to Definition, Signature Help, Symbol info on hover)
- Code completion
- Code coverage
- Code diagnostics
- Package related commands like Go: Add Import and Go: Browse Packages
For more details, please read the wiki on the Go modules support in Visual Studio Code.
Other notable features in the Go extension are:
- Language Server from Sourcegraph is now supported in Windows as well.
- The auto completion widget now shows documentation for the suggested symbols. Press
kb(editor.action.triggerSuggest)
to expand/collapse the details section of the auto-completion widget. - Auto-completion is now supported when cross-compiling. This is especially helpful when you are trying out the new WebAssembly support in Go 1.11.
- Context menu with Copy Value, Copy as expression and Add to Watch options are now available in the Variables pane of the Debug view.
- Option to lint just the current file on file save.
TypeScript TSLint plugin
The new TypeScript TSLint plugin enables TSLint as a TypeScript language service plugin. These plugins work in any editor that uses the TypeScript language service including VS Code, Visual Studio, Atom, and Sublime Text.
We've also shipped an extension that bundles the TypeScript TSLint plugin so that you don't have to configure the plugin in your workspace.
GitHub Pull Requests
This milestone we worked on improvements to the GitHub Pull Requests extension. The extension now supports editing and deleting comments, both within the editor and on the description page, and has better caching for comments that are not yet submitted. You can read the full release notes for the extension here.
New Documentation
Deploy Python tutorials
There are two new Python tutorials showing how to deploy Python web applications with VS Code.
Debugging recipes
There are new VS Code debugging recipes for PHP, Python, and Ruby on Rails.
Notable Fixes
- 54214: startDebugging method in vscode still return true even when the build fails
- 57289: Settings UI should remember its search on reload
- 57321: Show "Clear Search" and "Clear Filters" buttons when settings search returns no results
- 59305: Show a "Open Workspace" button in .code-workspace files
- 59430: Can no longer break in node internals files
- 61711: All breakpoints are unverified
- 62085: PauseRequest not being received by the debugAdapter
- 62346: Can't cancel a debug session while it's initializing
- 62354: Remote debugging issues after Node 10.12
Thank You
Last but certainly not least, a big Thank You! to the following folks that helped to make VS Code even better:
Contributions to vscode
:
- Agustín Rodríguez (@agurodriguez)
- Ahmed Atito (@atitoa93)
- Robert Balent (@balent)
- Anurag Banerjee (@banuragprdxn): Rewording / copy change PR #60996
- Brett Larney (@bblarney): fixed documentation typo: 'guardeed' -> 'guaranteed' PR #61186
- @benjamenhogben
- Alex Boyko (@BoykoAlex): Open symbol handler for http/https conditional on the mode PR #61509
- Brendon Crawford (@brendoncrawford): Fixes tests error with faulty OS check when Fedora PR #60917
- Chris Sinco (@c5inco): Snap font stack to latest PR #61419
- Emil Hessman (@ceh): Remove duplicate switch case PR #59677
- Joshua (@cookiej91): Fixed typo in comment PR #61909
- Daksh (@DakshMiglani)
- Dick van den Brink (@DickvdBrink): Fixed warning when installing on debian 8 PR #59406
- Jonathan Dierksen (@dierksen): Use textmate/swift.tmbundle for Swift syntax. PR #59639
- Douglas Gabriel (@douglasgabriel): Removing dead code from 'build/monaco/api.ts' PR #60024
- Frieder Bluemle (@friederbluemle): Fix whitespace errors in markdown files PR #62299
- Gary Mathews (@garymathews): Fix explorer inputbox alignment PR #60539
- Guillaume Poussel (@gpoussel): Fix 'null' tooltips on Quick Open view PR #62268
- Len Smith (@ignu): Add window.nonNativeFullscreen option for macOS PR #55267
- Ilya Biryukov (@IlyaBiryukov)
- joan xie (@infinnie)
- Matt Q (@irrationalRock): Emmet Syntax Profiles tag_nl produces no extra space PR #60108
- John Graham (@J-Graham): Middle clicking files in breadcrumbs explorer opens … PR #59797
- Jason Bright (@jgbright): Open Workspace button in .code-workspace files PR #59586
- Kai Wood (@kaiwood): Fix typo in code comment PR #62282
- karan verma (@karanisverma):enablePreview description change PR #61603
- Karl Schärlund (@kscharlund): Support odd indentation sizes (fixes #17639) PR #59568
- Kyra (@kyranet): snippets: Add setInterval snippet PR #61351
- Samuel Attard (@MarshallOfSound): enable mojave dark mode support PR #59742
- Maksym Dogadailo (@mdogadailo): items in split view are not draggable without separator-border PR #59830
- Josip Medved (@medo64): Correcting minLength and maxLength validation messages PR #61556
- Prem Kagrani (@michaelscof): Fixed typos and a word PR #61171
- Michael Kopf (@Michel73): Prefill quick open PR #55752
- Mine Starks (@minestarks): Support configuring TypeScript plugins PR #61756
- Matthew J. Clemente (@mjclemente): Fix broken links in vscode namespace API PR #61651
- mnikn (@mnikn): Add accept all incoming or current changes in popup-menu. PR #53649
- Matthew Knox (@mrkno): Problems view filters have massive delay PR #60080
- Niclas van Eyk (@NiclasvanEyk): Added actions from #57321 to the 'No Settings Found'-message PR #59739
- Nick Schonning (@nschonni)
- Olivier Truong (@oltruong): typo fix PR #62196
- @orangegrove1955: Corrected typo in comments PR #61216
- Karthikayan (@ParkourKarthik): include priority in requestItem and add to request queue PR #60582
- Antoine (@Poke1650): Add missing ending periods in comments. PR #61827
- Maxime Guerreiro (@PunKeel): Removed duplicate "the" from documentation. PR #59897
- Roni Hacohen (@ronihcohen): Adding Pascal case to snippet format options PR #59758
- Roy Tang (@roytang): Format selection keyboard shortcut will … PR #61206
- Ryan Clarke (@ryanclarke): Add sort option for breadcrumb symbol trees PR #61420
- Sankt Petersbug (@sankt-petersbug): Fix Markdown Preview incorrectly encodes a link PR #61530
- Prabhanjan S Koushik (@skprabhanjan)
- Tharun Jose (@tharunjose): Update README.md PR #60100
- Marcus Farkas (@ToothlessGear): Add setting to allow to disable Replace Preview PR #60153
- Stepan Usatyuk (@usaatyuk): Persist settings search when reloaded PR #59704
- Alexander (@usernamehw)
- Varan Shukla (@varanshukla): Fixed spelling mistakes PR #61789
- Jeremy Shore (@w9jds)
- Konrad Borowski (@xfix): Add a semicolon at end of non-built-in languages list PR #62284
- Literallie (@xxyy): Less distracting error message for JSON schema resolution issues PR #60219
- sk (@yeahok): Fix R icon size PR #59891
- Yisrael Veller (@YisraelV): multiline breakpoint widget - implementing #56521 PR #61859
- Richard Harlen (@zimbo73): Update src/vs/workbench/services/files/electron-browser/fileService.ts PR #62296
Contributions to vscode-eslint
:
- Loune Lam (@loune): Added Suppress rule for this line / Suppress rule for file quick actions / Show documentation PR #530
- Nguyen Long Nhat (@torn4dom4n): Update Variables Reference #553
- David Broder-Rodgers (@broder): Fix some typos in eslintServer PR #555
Contributions to vscode-languageserver-node
:
- Vic Nightfall (@Victorious3): Spelling error in exception PR #419
- Chris Wendt (@chrismwendt): Fix examples in the README PR #428
- Thibaud Colas (@thibaudcolas): Update version in lockfile to match package.json PR #431
Contributions to language-server-protocol
:
- Tobias Bieniek (@Turbo87): overview: Fix example response id PR #575
- Jonathan Yee (@jonyeezs): Readme: Use comma to make list more readable PR #578
- Lewis Cowper (@lewiscowper): Turn headers into hyperlinks (website) PR #577
- Remy Suen (@rcjsuen): Correct typo in request name PR #589
- @fghzxm: Fix broken parentheses PR #590
Contributions to vscode-html-languageservice
:
Contributions to vscode-css-languageservice
:
- Will Bender (@Ragnoroct): Show specificity in a css selector hover. PR #129
- Richard Samuelson (@ricsam): Remove package-lock.json PR #125
- Thomas Lent (@tlent)
Contributions to vscode-json-languageservice
:
- Debasish Sahoo (@debck): add license badge to readme PR #31
- Flo Edelmann (@FloEdelmann): Don't wrap in array and object completions PR #29
- Levertion (@Levertion): Use 'if' to create completions PR #27
- Literallie (@xxyy)
Contributions to debug-adapter-protocol
:
- Igor Kulaychuk (@ayuckhulk): Add NetCoreDbg to Debug Adapter Protocol implementors list PR #9
- Mario Loriedo (@l0rd): Add Theia among the Dev Tools PR #10
- Sven Efftinge (@svenefftinge): Theia is maintained by Eclipse community PR #11
Contributions to vscode-debugadapter-node
:
Contributions to vscode-chrome-debug-core
:
Contributions to vscode-generator-code
:
- Diogo Simões (@s1moe2): added the option to choose between npm/yarn on the templates that install dependencies PR #133
- Randy (@TheQwerty): Fix typo: commmand -> command PR #140
Contributions to vscode-vsce
:
- Fabio Spampinato (@fabiospampinato): Added support for the
VSCE_IGNORE_KEYWORDS_LENGTH
environment variable PR #298
Contributions to vscode-extension-samples
:
- Eunice Park (@eunicode): Add README to theme-sample PR #115
Contributions to vscode-recipes
:
- Alistair Chapman (@agc93): Add recipe for debugging Cake scripts PR #168
- Akshay Avinash (@akshay11298)
- @amiya-1998
- André Vargas (@andrevargas): Add instructions for debugging Gatsby.js PR #160
- Taylor (@ATaylor1181): fixed typos in Ruby On Rails Readme PR #153
- Calvin Wong (@calvwng): Clarify launch.json step & add Nuxt.js debug link PR #147
- Cameo Langford (@cameo-myob): Updated Debugging Ruby on Rails to fix typos PR #151
- Cody Condon (@codycc): Fix typo in README PR #139
- @guymcmanusgithub: Cleaned up the language in the first couple of paragraphs of the READ… PR #154
- John Hinson (@jlhinson): Fixed several grammar and spelling issues in the Meteor recipe. PR #133
- Kirk Clemons (@kcclemo): Various grammatical changes. PR #161
- Maddie Kreamer (@maddiekreamer): Spelling errors fixed PR #167
- Nisaruj (@nisaruj): Fix some spelling issues PR #138
- Luiz Machado (@odahcam): Add instructions for PHP PR #136
- Peter Blazejewicz (@peterblazejewicz): Angular cli recipe minor changes PR #134
- @qhieu45: Add "skipFiles" option to README.md & launch.json PR #164
- Robin Cher (@robincher): PR - Adding Mocha Default Test Options PR #148
- Sam Warner (@sjwarner-bp): Update Docker-TpeScript README.md with grammar changes PR #149
Contributions to inno-updater
:
- @edawine: Fix incomplete error message in strings.rs PR #4
- Isaac Whitfield (@whitfin): Remove unnecessary allocations when polling for exit PR #6
- Jared De La Cruz (@jareddlc): Make logging more consistent PR #7
Contributions to localization
:
There are almost 1400 members in the Transifex VS Code project team with about 100 active contributors every month. We appreciate your contributions, either by providing new translations, voting on translations, or suggesting process improvements.
Here is a snapshot of contributors for this release. For details about the project including the contributor name list, visit the project site at https://aka.ms/vscodeloc.
- Bosnian: Dario Fuzinato.
- Bulgarian: Любомир Василев.
- Catalan: joanmiro pisa.
- Czech: Vít Staniček, Kryštof Černý, Michal Franc.
- Dutch: Gerald Versluis, Vincent Verbist.
- English (United Kingdom): Matthew John Cheetham, Alexander Ogilvie.
- Finnish: Petri Niinimäki, Feetu Nyrhinen.
- French: Antoine Griffard, Adrien Clerbois.
- German: J.M. Rütter, Volkmar Rigo.
- Greek: Dimitris Siakavelis, Christos Koutsiaris.
- Hindi: Ashwini Gupta, Bimal ., Brahma Dev, Rahul Bhammarker.
- Hungarian: Tar Dániel.
- Chinese Simplified: Joel Yang, pluwen, Zijian Zhou, Simon Chan.
- Chinese Traditional: Duran Hsieh, Poy Chang, Alan Tsai, Kevin Yang, Winnie Lin.
- Indonesian: Rizki A. Wibowo, Laurensius Dede Suhardiman, Fahmi Irsyad khairi, Wildan Mubarok, G-RiNe Project, Pratikto Ariestyadi, Joshua Siagian, William Tantiono, Herman Prawiro, Febrian Setianto (Feber), Angger Rafi Akbar, Joseph Aditya P G, Oka bRionZ, rodin.
- Italian: Alessandro Alpi, Riccardo Cappello, Marco Dal Pino, Roberto Albano, Andrea Dottor, Luigi Bruno.
- Japanese: Shunya Tajima, Yuichi Nukiyama, Satoshi Kajiura, Yoshihisa Ozaki.
- Kannada: Sanjay !.
- Korean: Kyunghee Ko, Junseong Jang.
- Lithuanian: Martynas Jusys.
- Malayalam: Ajith S Punalur, Anand Chalakkal Jose Mohan, Kiren Paul.
- Norwegian Bokmål: Espen Klein Nilsen.
- Polish: Artur, Andrzej Supermocny, Jan Bońkowski, Mateusz Wyczawski, Warchlak.
- Portuguese (Brazil): Rodrigo Crespi, Roberto Fonseca, Danilo Dantas, Thiago Aragão, Thiago Moreira de Souza Arrais, Atílio Dadalto, Marcelo Fernandes, Douglas Heydt, Robson Cassiano, Lucas Miranda, Thiago Custodio.
- Portuguese (Portugal): Diogo Barros, António Santos, Antonio Lourenco.
- Russian: Ivan Kuzmenko, Roman Slauta, Michael Crane.
- Spanish: José M. Aguilar, Matias Menich, Alberto Poblacion, Daniel J. Pérez Nieto, Andrés Reyes Galgani.
- Tamil: Nadar Solomon Sunder, Sarath Jasrin, Sakthi Raj, rajakvk, Avinash, ஜெகன் லங்கா சாமி துரை, Anand AV, Jeyanthinath Muthuram, Narayanan Singaram.
- Telugu: Rama Chandu, Hari Jujjavarapu, Sai Pavan Koundinya Upadhyayula.
- Ukrainian: Svitlana Galianova, Borys Lebeda, Dmytro Kyrychuk, Victor Kubrak, Volodymyr Holovka.
- Urdu: Haseeb Anwer, Saqib Ameen, Ahmad Awais.
- Vietnamese: Thanh Phu, Daniel Nguyen, Nguyễn Nhật Tân, Hung Nguyen, Vuong.