This commit is contained in:
Greg Van Liew 2016-12-11 20:31:01 -08:00
Родитель 6b3960d6eb
Коммит 9fb35a1c73
4 изменённых файлов: 575 добавлений и 540 удалений

Разница между файлами не показана из-за своего большого размера Загрузить разницу

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

@ -55,49 +55,49 @@ Removed views will still show up in the Activity Bar when opened but their icon
![Scalable Activity Bar](images/1_8/viewlet.gif)
Finally, if the window gets small enough so that all view icons can not show, a new overflow menu was added to show the views in a dropdown:
Finally, if the window gets small enough so that all view icons cannot show, a new overflow menu was added to show the views in a dropdown:
![Scalable Activity Bar](images/1_8/overflow.png)
### View Picker
A new picker is added that shows Views, Panels, Output channels and Terminals and allows for easy opening of those. You can open it via the **Open View** command or by typing `view` followed by a `space` into quick open.
A new picker is added that shows Views, Panels, Output channels and Terminals and allows for easy opening of those. You can open it via the **Open View** command or by typing `view` followed by a `space` into **Quick Open**.
![View Picker](images/1_8/view-picker.gif)
On Windows and Mac, you can press `kbstyle(Ctrl+Q)` to bring up the picker. On Linux, you can reassign the keybinding if you want (`kbstyle(Ctrl+Q)` is assigned to quitting on Linux). Pressing `kbstyle(Ctrl+Q)` and holding the `kbstyle(Ctrl)` key while pressing the `kbstyle(Q)` allows you to jump to an entry from the list and open it after you release the keys.
On Windows and Mac, you can press `kbstyle(Ctrl+Q)` to bring up the picker. On Linux, you can reassign the key binding if you want (`kbstyle(Ctrl+Q)` is assigned to quitting on Linux). Pressing `kbstyle(Ctrl+Q)` and holding the `kbstyle(Ctrl)` key while pressing the `kbstyle(Q)` allows you to jump to an entry from the list and open it after you release the keys.
### Settings improvements
Given that VS Code is an editor, we provide settings in the form of `settings.json` file to configure VS Code behaviour by editing. To discover existing settings, in addition to IntelliSense, we show `Default settings` in a separate editor, when user opens settings. But, there was feedback that they are not still easily discoverable and configurable, which was also confirmed from our user studies. In this release, we did some explorataions to improve discoverability and user experience for Settings and this resulted into following improvements to our Settings story.
Given that VS Code is an editor, we provide settings in the form of `settings.json` file to configure VS Code behavior by editing. To discover existing settings, in addition to IntelliSense, we show `Default Settings` in a separate editor, when user opens settings. There was feedback that settings were still not still easily discoverable and configurable, which was also confirmed from our user studies. In this release, we did some explorations to improve discoverability and user experience for settings and this resulted into following improvements to our Settings story.
#### Search settings
One of the big reasons for showing default settings is to let users search and discover settings. To facilitate this, Default settings editor now comes with a big Search bar where you can easily find for setting(s) you are looking for. In addition to showing and highlighting settings matching your search criteria, this will also filter out those settings which are not matching. This makes finding settings quick and easy.
One of the big reasons for showing default settings is to let users search and discover settings. To facilitate this, the Default Settings editor now comes with a big Search bar where you can easily search for the settings you are looking for. In addition to showing and highlighting settings matching your search criteria, this will also filter out those settings which are not matching. This makes finding settings quick and easy.
![Search Settings](images/1_8/search-settings.gif)
#### Settings groups
We enhanced visual representatin of default settings groups to make settings navigation more user friendly. We also introduced a new group for most commonly used settings for user awareness.
We enhanced visual representation of Default Settings groups to make settings navigation more user friendly. We also introduced a new group of most commonly used settings.
![Settings Groups](images/1_8/settings-groups.png)
#### Quick Edit
We introduced actions inside Default settings and Settings editors which will help you in quickly copying or updating a setting.
We introduced actions inside Default Settings and Settings editors which will help you in quickly copying or updating a setting.
![Settings Groups](images/1_8/quick-edit-settings.gif)
#### One Side by Side Settings editor
Last but not least, we grouped Default settings and Settings editors into one side by side editor which are no longer separated. This addresses the issue of managing two editors for settings.
Last but not least, we grouped Default Settings and Settings editors into one side by side editor. This addresses the issue of managing two editors for settings.
Explorations and improvements continue... Stay tuned to our next release plan.
### Git clone
There is now a new lightweight command to clone a git repository into your machine and open it with VS Code. You can execute it from the Command Palette and searching for `Git: Clone`.
There is now a new lightweight command to clone a Git repository into your machine and open it with VS Code. You can execute it from the **Command Palette** and searching for `Git: Clone`.
### Mac: Custom themed title
@ -127,9 +127,9 @@ We improved the performance of full text search by running our search code in mu
### Terminal improvements
Several improvements were made to the terminal:
Several improvements were made to the Integrated Terminal:
- Terminal copy and paste keybindings on Windows have changed to `kbstyle(Ctrl+c)` (when text is selected) and `kbstyle(Ctrl+v)` respectively
- Terminal copy and paste key bindings on Windows have changed to `kbstyle(Ctrl+C)` (when text is selected) and `kbstyle(Ctrl+V)` respectively.
- The terminal will no longer scroll to the bottom when it receives output if you have scrolled up
- `kbstyle(Cmd+K)` now clears the terminal when it has focus
- A new setting `terminal.integrated.scrollback` enables changing the number of lines the terminal will remember before discarding
@ -178,7 +178,7 @@ The following is an example of a snippet that surrounds the selected text with s
We added a new setting `files.insertFinalNewline` to automatically add a newline at the end of files when saving.
### Keybinding commands can now define arguments
### Key binding commands can now define arguments
We added support to invoke commands with arguments to the `keybindings.json` configuration file. The following is an example of this by overriding the Enter key to print some text:
@ -188,38 +188,49 @@ The type command will receive `{ "text": "Hello World"}` as first argument and a
### Accessibility improvements of diff editor
We enhanced the accessibility of diff editor by adding `+` and `-` indicators for modifications in the diff editor. The feature is enabled by default and can be disabled by setting `diffEditor.renderIndicators` as `false`.
We enhanced the accessibility of the diff editor by adding `+` and `-` indicators for modifications in the diff editor. The feature is enabled by default and can be disabled by setting `diffEditor.renderIndicators` to `false`.
![diff indicators](images/1_8/diff-indicators.png)
### Improvements to renderLineHighlight setting
`editor.renderLineHighlight` setting has been updated to support new options:
The `editor.renderLineHighlight` setting has been updated to support new options:
* `editor.renderLineHighlight` Possible values are now `"all"`, `"gutter"`, `"line"` and `"none"`. The `"gutter"` option sets the line number of current line as highlighted.
* `line` - Highlight the current line in the editor.
* `gutter` - Highlight the line number in the gutter to the left of the current line.
* `all` - Both gutter and line highlight.
* `none` - No current line highlighting.
![render line highlight](images/1_8/render-line-highlight.png)
### Sublime compatibility
### Sublime Text compatibility
We added four new commands which users from Sublime Text are familar with: Join Lines (`kb(editor.action.joinLines)`), Transpose characters around the cursor (`kb(editor.action.transpose)`), Transform to Uppercase (`kb(editor.action.transformToUppercase)`) and Transform to Lowercase (`kb(editor.action.transformToLowercase)`).
We added four new commands which users from Sublime Text are familiar with:
- Join Lines - `editor.action.joinLines`
- Transpose characters around the cursor - `editor.action.transpose`
- Transform to Uppercase - `editor.action.transformToUppercase`
- Transform to Lowercase - `editor.action.transformToLowercase`
These commands are not bound to any keyboard shortcuts by default.
## Languages
### JavaScript language support in HTML
Coding assistance for JavaScript embedded in HTML is back! You get code completions and signature help for DOM and JQuery APIs, validation, hovers, find references and goto definition, symbol highlighting and outline (Ctrl + Shift + o) and format. Note that the support doesn't follow script includes, it's just knows about definitions made in the same file.
Coding assistance for JavaScript embedded in HTML is back! You get code completions and signature help for DOM and JQuery APIs, validation, hovers, Find References and Go To Definition, symbol highlighting and outline (Ctrl + Shift + o) and format. Note that the language support doesn't follow script includes, it only knows about definitions made in the same file.
![JavaScript editing in HTML](images/1_8/javascript-in-html.gif)
### CSS improvements
The CSS language support can now handle the new [@apply rule](https://tabatkins.github.io/specs/css-apply-rule/).
CSS in HTML also got some improvements, in particular for styles defined in attributes:
CSS in HTML was also improved, in particular for styles defined in attributes:
![CSS in HTML attributes](images/1_8/css-in-html.png)
### Markdown preview improvements
### Markdown preview improvements TDB
Hide YAML metadata
Preview settings for fontFamily, fontSize, lineHeight
@ -228,8 +239,7 @@ Preview settings for fontFamily, fontSize, lineHeight
#### 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
@ -242,19 +252,20 @@ The `vscode-eslint` extension now supports validating file types other than Java
### 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.
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.
## Debugging
### 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 _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_:
- the individual sessions now show up as top level elements in the CALL STACK view,
- the floating debug widget shows the currently _active session_ (and all other sessions are available in a dropdown menu).<BR>![Debug Actions Widget](images/1_8/debug-actions-widget.png)
- debug actions (e.g. all actions in the floating debug widget) are performed on the active session. The active session can be changed either by using the drop down menu in the floating debug widget or by selecting a different element in the CALL STACK view.
- whenever a session stops (e.g. because a breakpoint or exception is hit), this session becomes the active session. This makes it possible to easily step between debug sessions just by pressing 'F5'.
- The individual sessions now show up as top level elements in the CALL STACK view.
- The floating debug widget shows the currently _active session_ (and all other sessions are available in a dropdown menu).<BR>![Debug Actions Widget](images/1_8/debug-actions-widget.png)
- Debug actions (e.g. all actions in the floating debug widget) are performed on the active session. The active session can be changed either by using the drop down menu in the floating debug widget or by selecting a different element in the CALL STACK view.
- Whenever a session stops (e.g. because a breakpoint or exception is hit), this session becomes the active session. This makes it possible to easily step between debug sessions just by pressing 'F5'.
An alternative way to start multiple debug session is by using a so-called _compound_ launch configuration. A compound launch configuration lists the names of two or more launch configurations that should be launched in parallel. Compound launch configurations show up in the launch configuration drop down menu.
@ -283,20 +294,22 @@ An alternative way to start multiple debug session is by using a so-called _comp
]
}
```
This [blog](https://medium.com/@auchenberg/introducing-simultaneous-nirvana-javascript-debugging-for-node-js-and-chrome-in-vs-code-d898a4011ab1#.fehi3batj) explains in detail how to setup a compound configuration for a node backend and a browser frontend.
This [blog](https://medium.com/@auchenberg/introducing-simultaneous-nirvana-javascript-debugging-for-node-js-and-chrome-in-vs-code-d898a4011ab1#.fehi3batj) explains in detail how to setup a compound configuration for a Node.js backend and a browser frontend.
### Adding individual Launch Configurations
We've tried to improve the experience of adding new configurations to an existing 'launch.json' by supporting snippet suggestions for IntelliSense. Snippet Intellisense is available if your cursor is located inside the `configurations` array. Or just press the `Add Configuration` button to invoke snippet Intellisense at the start of the array.
We've tried to improve the experience of adding new configurations to an existing `launch.json` by supporting snippet suggestions for IntelliSense. Snippet IntelliSense is available if your cursor is located inside the `configurations` array. Or just press the **Add Configuration** button to invoke snippet IntelliSense at the start of the array.
![Add Configuration](images/1_8/add-config.gif)
Intellisense lists the launch configuration snippets that are contributed by all installed debug extensions. This makes it really easy to combine launch configurations for different debuggers (e.g. Chrome and Node) into one launch.json.
IntelliSense lists the launch configuration snippets that are contributed by all installed debug extensions. This makes it really easy to combine launch configurations for different debuggers (e.g. Chrome and Node) into one launch.json.
Since debug extensions will have to opt into this new feature, please allow for some time until all debuggers have adopted this. In the November release only the builtin node debuggers contribute snippets.
### Some UI Polish
As per [user request](https://github.com/Microsoft/vscode/issues/14125) we now support rearranging the order of watch expressions using drag and drop.
Per [user request](https://github.com/Microsoft/vscode/issues/14125), we now support rearranging the order of watch expressions using drag and drop.
We have polished the look of the debug start action UI by grouping the start button with the drop down menu to tie them together:
@ -340,6 +353,7 @@ This feature is available in the `node`, `node2`, and [Chrome](https://marketpla
>**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
@ -366,6 +380,7 @@ lines="foo\nbar"
```
### Diagnostics for Source Map Problems (`node2`)
When debugging a Node app, you may have seen breakpoints turn gray with the message "Source map problem?". The new `node2` debug adapter has two new features which make it easier to understand these issues.
Typing `.scripts` in the debug console during a debugging session will cause the adapter to print out all the information it has about loaded scripts and their sourcemaps.

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

@ -17,7 +17,7 @@ var VSCODE_PATH = 'out/vscode.d.ts';
var TEMPLATE = 'docs/extensionAPI/vscode-api.template';
var DIST = 'docs/extensionAPI/vscode-api.md';
var VSCODE_VERSION = process.env['vscode-lastest'] ? process.env['vscode-lastest'] : 'b256eeec0ad3d6cba6b8f7649eaf60c140550cf5' /* 1.8.0 */;
var VSCODE_VERSION = process.env['vscode-lastest'] ? process.env['vscode-lastest'] : '40243d1e01f426f54670f3dbaa6b77d18469310d' /* 1.8.0 */;
function getVSCodeDefFileURL() {
if (VSCODE_VERSION === "latest") {

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

@ -345,12 +345,14 @@
"when": "editorFocus && renameInputVisible" },
{ "key": "shift+escape", "command": "closeAccessibilityHelp",
"when": "accessibilityHelpWidgetVisible && editorFocus" },
{ "key": "escape", "command": "closeAccessibilityHelp",
"when": "accessibilityHelpWidgetVisible && editorFocus" },
{ "key": "ctrl+c", "command": "problems.action.copy",
"when": "problemFocus" },
{ "key": "escape", "command": "closeAccessibilityHelp",
"when": "accessibilityHelpWidgetVisible && editorFocus" },
{ "key": "escape", "command": "closeReplaceInFilesWidget",
"when": "replaceInputBoxFocus && searchViewletVisible" },
{ "key": "ctrl+f", "command": "defaultSettings.action.focusSearch",
"when": "defaultSettingsEditor" },
{ "key": "ctrl+shift+f", "command": "search.action.focusActiveEditor",
"when": "searchInputBoxFocus && searchViewletVisible" },
{ "key": "ctrl+alt+enter", "command": "search.action.replaceAll",
@ -404,6 +406,7 @@
{ "key": "ctrl+k p", "command": "workbench.action.files.copyPathOfActiveFile" },
{ "key": "ctrl+n", "command": "workbench.action.files.newUntitledFile" },
{ "key": "ctrl+o", "command": "workbench.action.files.openFile" },
{ "key": "ctrl+k ctrl+o", "command": "workbench.action.files.openFolder" },
{ "key": "ctrl+k r", "command": "workbench.action.files.revealActiveFileInWindows" },
{ "key": "ctrl+s", "command": "workbench.action.files.save" },
{ "key": "ctrl+k s", "command": "workbench.action.files.saveAll" },