This commit is contained in:
Greg Van Liew 2016-12-12 13:15:44 -08:00
Родитель 05da0760a8
Коммит 9d6f28a837
2 изменённых файлов: 41 добавлений и 31 удалений

Просмотреть файл

@ -84,7 +84,7 @@ With `$name` or `${name:default}` you can insert the value of a variable. When a
* `TM_LINE_INDEX` The zero-index based line number
* `TM_LINE_NUMBER` The one-index based line number
* `TM_FILENAME` The filename of the current document
* `TM_DIRECTORY` The direcorty of the current document
* `TM_DIRECTORY` The directory of the current document
* `TM_FILEPATH` The full file path of the current document

Просмотреть файл

@ -18,14 +18,13 @@ Welcome to the November release of Visual Studio Code. There are a number of sig
* **[New Selection menu](#selection-menu)** - Easily discover and use the editor selection commands.
* **[JavaScript IntelliSense in HTML](#javascript-language-support-in-html)** - Get full JavaScript language support in HTML files.
* **[TypeScript Update](#typescript-update)** - Improved language support for JavaScript and TypeScript.
* **[Markdown preview improvements](#markdown-preview-improvements)** - New settings for font family, size and line height, hide YAML front matter.
* **[UI for Multitarget Debugging](#multitarget-debugging)** - Launch simultaneous debug sessions.
The release notes are arranged in the following sections related to VS Code focus areas. Here are some further updates:
* **[Workbench](#workbench)** - View picker, new workbench configuration settings.
* **[Editor](#editor)** - TBD details not mentioned in highlights.
* **[Languages](#languages)** - TBD details not mentioned in highlights.
* **[Languages](#languages)** - Markdown preview settings.
* **[Extensions](#extensions)** - TBD details not mentioned in highlights.
* **[Debugging](#debugging)** - Add launch configurations easily as snippets through IntelliSense.
* **[Extension Authoring](#extension-authoring)** - TBD details not mentioned in highlights.
@ -147,12 +146,6 @@ Workbench opened with folder:
![Workbench opened with folder](images/1_8/workbench-with-folder.png)
### Recommended keymap extensions
We have added a list of the most popular keymap extensions that come with a full set of keybindings for a popular editor or IDE (File > Preferences > Keymap Extensions):
![Recommended keymap extensions](images/1_8/recommended-keymap-extensions.png)
## Editor
### Selection menu
@ -173,7 +166,7 @@ The following variables can be used:
* `TM_LINE_INDEX` The zero-index based line number
* `TM_LINE_NUMBER` The one-index based line number
* `TM_FILENAME` The filename of the current document
* `TM_DIRECTORY` The direcorty of the current document
* `TM_DIRECTORY` The directory of the current document
* `TM_FILEPATH` The full file path of the current document
The following is an example of a snippet that surrounds the selected text with single quotes or, when no text is selected, inserts a `type_here`-placeholder.
@ -256,16 +249,23 @@ CSS in HTML was also improved, in particular for styles defined in attributes:
The JSON language service uses JSON schemas to validate JSON documents as well as to provide completions. As a VS code specific extension to JSON schemas, you can now also specify snippets proposals in the schema for a richer experience. The snippet proposals are shown as additional completion proposals and use the snippet syntax to specify placeholders.
See the [JSON documentation](https://code.visualstudio.com/docs/languages/json#_json-schemas-settings) for more information.
### Markdown preview improvements TDB
### Markdown preview improvements
Hide YAML metadata
Preview settings for fontFamily, fontSize, lineHeight
Several new settings were added to improve Markdown preview and let you more closely match your final Markdown rendering.
* `markdown.previewFrontMatter` - By default, VS Code now hides YAML front matter sections in preview. You can set to `show` if you'd like to review YAML metadata.
Controls the font family, size and line height used in the Markdown preview.
* `markdown.preview.fontFamily`
* `markdown.preview.fontSize`
* `markdown.preview.lineHeight`
### Linter Extensions
#### vscode-tslint
The `vscode-tslint` extension is now supporting [tslint 4.0](https://palantir.github.io/tslint/2016/11/17/new-for-4.0.html). This version of tslint provides additional quick fixes for warnings. In addition, `vscode-tslint` adds a quick fix to disable a tslint rule on the next line. The new tslint version also adds support for linting JavaScript files. See the [ChANGELOG](https://github.com/Microsoft/vscode-tslint/blob/master/tslint/CHANGELOG.md) for more details.
The `vscode-tslint` extension is now supporting [TSLint 4.0](https://palantir.github.io/tslint/2016/11/17/new-for-4.0.html). This version of TSLint provides additional quick fixes for warnings. In addition, `vscode-tslint` adds a quick fix to disable a TSLint rule on the next line. The new TSLint version also adds support for linting JavaScript files. See the [CHANGELOG](https://github.com/Microsoft/vscode-tslint/blob/master/tslint/CHANGELOG.md) for more details.
#### vscode-eslint
@ -276,6 +276,12 @@ The `vscode-eslint` extension now supports validating file types other than Java
## Extensions
### Recommended keymap extensions
We have added a list of the most popular keymap extensions that come with a full set of keybindings for a popular editor or IDE (**File** > **Preferences** > **Keymap Extensions**):
![Recommended keymap extensions](images/1_8/recommended-keymap-extensions.png)
### Improved Marketplace Performance
Throughout November, there were many performance enhancements and fixes to the extension Marketplace. Most notably are the improvements in certain locations, such as China, in which extension download times improved an order of magnitude.
@ -284,7 +290,7 @@ Throughout November, there were many performance enhancements and fixes to the e
### Multi-target debugging
A first glimpse of _multi-target debugging_ was already available in the previous milestone. In this milestone, we've added the user interface for it. With this _multi-target debugging_ is no longer experimental.
A first glimpse of _multi-target debugging_ was already available in the previous milestone. In this milestone, we've added the user interface for it. With this release, _multi-target debugging_ is no longer experimental.
Using multi-target debugging is very simple: after you've started a first debug session, VS Code no longer blocks you from launching another session. As soon as a second session is up and running, the VS Code UI switches to _multi-target mode_:
@ -347,22 +353,27 @@ The source and line number information in the BREAKPOINTS view has been rearrang
![Breakpoints](images/1_8/breakpoints.png)
## Node Debugging:
## Node Debugging
This section covers features of the two builtin Node.js debuggers `node` and `node2`. We try to keep feature parity between them but this becomes more and more difficult because the technology underlying `node` (_V8 Debugger Protocol_) is deprected (frozen) whereas the new technology (_Chrome Debugger Protocol_) evolves quickly. For this reason we list the supported debugger types in parenthesis in the header of each feature.
This section covers features of the two built-in Node.js debuggers, `node` and `node2`. We try to keep feature parity between them but this becomes more and more difficult because the technology underlying `node` (_V8 Debugger Protocol_) is deprected (frozen) whereas the new technology (_Chrome Debugger Protocol_) evolves quickly. For this reason, we list the supported debugger types in parenthesis in the header of each feature.
Use the 'old' debugger `node` when debugging Node.js versions < 6.3 and the new debugger `node2` for versions >= 6.3.
>**Note:** If you are using ES6 Proxy in your Node app, a Node v7.x runtime might even crash when being debugged by the old debugger. This does not happen with `node2`. This issue is tracked in [Microsoft/vscode#12749](https://github.com/Microsoft/vscode/issues/12749).
>**Note:** If you are using ES6 Proxy in your Node.js app, a Node.js v7.x runtime might even crash when being debugged by the old debugger. This does not happen with `node2`. This issue is tracked in [Microsoft/vscode#12749](https://github.com/Microsoft/vscode/issues/12749).
### Just My Code (`node` and `node2`)
We have added a feature to avoid code that you don't want to step through. This feature can be enabled with the `skipFiles` setting in your launch configuration. `skipFiles` is an array of glob patterns for script paths to skip, e.g. with:
```ts
We have added a feature to avoid code that you don't want to step through. This feature can be enabled with the `skipFiles` setting in your launch configuration. `skipFiles` is an array of glob patterns for script paths to skip.
For example using:
```typescript
"skipFiles": [
"node_modules/**/*.js",
"lib/**/*.js
]
```
all code in the 'node_modules' and 'lib' folders will be skipped. The exact rules are as follows:
* If you step into a skipped file, you won't stop there - you will stop on the next executed line that is not in a skipped file.
@ -372,24 +383,28 @@ all code in the 'node_modules' and 'lib' folders will be skipped. The exact rule
This feature is available in the `node`, `node2`, and [Chrome](https://marketplace.visualstudio.com/items?itemName=msjsdiag.debugger-for-chrome) debuggers.
>**Note:** the old debugger (`node`) supports negative glob patterns, but they must **follow** a positive pattern: positive patterns add to the set of skipped files, while negative patterns subtract from that set. In the following example all but a 'math' module is skipped:
```ts
```typescript
"skipFiles": [
"node_modules/**/*.js",
"!node_modules/math/**/*.js",
]
```
>**Note:** the old debugger (`node`) has to emulate the _Just My Code_ feature because the _V8 Debugger Protocol_ does not support it natively. This might result in slow stepping performance.
>**Note:** The old debugger (`node`) has to emulate the _Just My Code_ feature because the _V8 Debugger Protocol_ does not support it natively. This might result in slow stepping performance.
### Load environment variables from external file (`node`)
The VS Code Node debugger now supports to load environment variables from a file and passes them to the node runtime.
To use this feature add an attribute `envFile` to your launch config and specify the absolute path to the file containing the environment variables:
```ts
```typescript
//...
"envFile": "${workspaceRoot}/.env",
"env": { "USER": "john doe" }
//...
```
Any environment variable specified in the `env` dictionary will override variables loaded from the file.
Here is an example for an '.env' file:
@ -415,7 +430,7 @@ Typing `.scripts` in the debug console during a debugging session will cause the
And the `sourceMapPathOverrides` option in the launch config allows you to rewrite paths in your sourcemap file to enable sourcemaps in cases where the sourcemap file doesn't include enough information for the debug adapter to find the correct source files on disk. See more information about both of these features [in the `node2` README](https://github.com/Microsoft/vscode-node-debug2#the-scripts-command).
### Back in time Debugging (`node`))
### Back in time Debugging (`node`)
The _Back In Time Debugging_ support of the `node` debugger has been extended by a `Reverse Continue` action:
@ -437,7 +452,6 @@ A completion item provider can now return completions that are inserted as snipp
With the new [`inspect`](https://github.com/Microsoft/vscode/blob/master/src/vs/vscode.d.ts#L2825)-function you can figure out where a configuration value was defined and what it default is.
### TextDocument#getWordRangeAt
Ever since the text document allows to ask for a [word-range](https://github.com/Microsoft/vscode/blob/master/src/vs/vscode.d.ts#L221) at a given position. To know what a word is VS Code uses the [word-pattern](https://github.com/Microsoft/vscode/blob/master/src/vs/vscode.d.ts#L2714) of the respective language. That's not always good enough and therefore you can now provide a regular expression that will be used instead.
@ -452,10 +466,6 @@ Ever since the text document allows to ask for a [word-range](https://github.com
- The `OutputEvent` type now supports to send structured objects to the debug console and VS Code renders them as expandable objects. More details can be found [here](https://github.com/Microsoft/vscode-debugadapter-node/issues/79).
- A new `RestartRequest` has been added to the debug protocol. If a debug adapter opts into this, the VS Code debugger UI no longer implements the `Restart` action by terminating and restarting the debug adapter but instead sends a `RestartRequest` to the adapter. More details can be found [here](https://github.com/Microsoft/vscode/issues/14189).
### Breaking Change: TBD
### Item
## Miscellaneous
### Electron update
@ -466,7 +476,7 @@ Another benefit is that we can now enable the High Contrast theme automatically
### Language Server Protocol
The LSP now supports snippets in completion items as the VS Code API does. In addition two new requests got introduced suporting the dynamic registration of providers on the client side. Also the LSP npm node modules got adapted to TypeScript version 2.0. For details see [https://github.com/Microsoft/language-server-protocol](https://github.com/Microsoft/language-server-protocol) and [https://github.com/Microsoft/vscode-languageserver-node](https://github.com/Microsoft/vscode-languageserver-node)
The LSP now supports snippets in completion items as the VS Code API does. In addition two new requests got introduced supporting the dynamic registration of providers on the client side. Also the LSP npm node modules got adapted to TypeScript version 2.0. For details see [https://github.com/Microsoft/language-server-protocol](https://github.com/Microsoft/language-server-protocol) and [https://github.com/Microsoft/vscode-languageserver-node](https://github.com/Microsoft/vscode-languageserver-node)
## New Commands
@ -541,7 +551,7 @@ Last but certainly not least, a big *__Thank You!__* to the following folks that
Contributions to `vscode-tslint`:
* [Eric Anderson (@ericanderson)](https://github.com/ericanderson): Detect 4.0.0 for -dev versions of tslint [PR #141](https://github.com/Microsoft/vscode-tslint/pull/141)
* [Eric Anderson (@ericanderson)](https://github.com/ericanderson): Detect 4.0.0 for -dev versions of TSLint [PR #141](https://github.com/Microsoft/vscode-tslint/pull/141)
* [Richard Lasjunies (@rlasjunies)](https://github.com/rlasjunies): fix most of the autoFix issues using TSLint 4.0 [PR #138](https://github.com/Microsoft/vscode-tslint/pull/138)
* [Robert Stoll (@robstoll)](https://github.com/robstoll): reverts #107, seems like rule name was removed [PR #140](https://github.com/Microsoft/vscode-tslint/pull/140)
* [Yuichi Nukiyama (@YuichiNukiyama)](https://github.com/YuichiNukiyama)