version 1.17
# September 2017 (version 1.17) (opens new window)
Welcome to the September 2017 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:
- macOS Touch Bar support (opens new window) - Touch Bar actions for navigation and debugging.
- Source code folding improvements (opens new window) - Collapse region markers and off-side language blocks.
- Integrated Terminal performance (opens new window) - Terminal rendering is up to 45 times faster.
- Automatic import suggestions (opens new window) - See module and path import suggestions while coding.
- Debugging shows source location (opens new window) - Easily navigate from the Debug Console to source code.
- Better colorization of regex and format strings (opens new window) - Helps with parsing and identifying errors.
- Improved multiple SCM support (opens new window) - New UI to view changes in multiple source control repositories.
- New online documentation (opens new window) - Java language, 'Tips and Tricks', and Debugging Recipes topics.
- Preview: Multi-root workspaces (opens new window) - No reload on workspace updates, combined view of available tasks.
- Multi-root guide for extension authors (opens new window) - To help extenders be ready for multi-root workspaces.
If you'd like to read these release notes online, go to Updates (opens new window) on code.visualstudio.com (opens new window).
You can also check out this 1.17 release highlights video (opens new window) from Cloud Developer Advocate Brian Clark (opens new window).
The release notes are arranged in the following sections related to VS Code focus areas. Here are some further updates:
- Workbench (opens new window) - Better macOS native tabs support, new editor label formats.
- Editor (opens new window) - Snippet transforms, more Emmet preferences, optimized history navigation.
- Languages (opens new window) - TypeScript 2.5.3, Extract Method triggers rename, language support in Markdown code blocks.
- Extension Authoring (opens new window) - macOS Touch Bar support, styled completions and signature help text.
# Folding regions (opens new window)
Folding now supports region markers. Markers are defined by the language in the language configuration.
The following languages currently have markers defined:
- TypeScript/JavaScript:
//#region
and//#endregion
and//region
and//endregion
- C#:
#region
and#endregion
- C/C++:
#pragma region
and#pragma endregion
- F#:
//#region
and//#endregion
- PowerShell:
#region
and#endregion
- VB:
#Region
and#End Region
Each language also has snippets available for the markers. Type '#' and invoke code completion to see them.
To have region markers configured for your language, contact the language extension provider.
# Snippet selector (opens new window)
The snippet picker dropdown shown by the Insert Snippet command now displays snippets in two groups, User Snippets and Extension Snippets. User-defined snippets are listed on top to give you quick access to your favorite snippets.
# Snippet transforms (opens new window)
The VS Code snippet engine now supports variable transformations. Transformations can change the value of a variable before inserting it. The format is var_name/regular_expression/format_string/options
. The sample below is a snippet that creates a public Java class whose name is derived from the filename.
"Public Class": {
"prefix": "pclass",
"body": [
"public class ${1:${TM_FILENAME/(.*)\\.java/${1:/capitalize}/}} {",
"\tpublic $1 (${2:params}) {",
"\t\t$0",
"\t}",
"}"
],
"description": "New public class"
}
2
3
4
5
6
7
8
9
10
11
The new part is this: ${TM_FILENAME/(.*)\\.java/${1:/capitalize}/}
and this is what it does:
- Resolve the value for
TM_FILENAME
, for examplemyClass.java
. - Use the regular expression
/(.*)\\.java
to create a matching group for everything that precedes the.java
ending, for examplemyClass
. - Take the value of the first matching group, ensure it start with capital letters (
/capitalize
), and insert it (MyClass
).
To learn more, check out our snippet grammar (opens new window) to see what you can do and then get creative.
# Coloring of warning squiggles (opens new window)
You can now use a different color for warning squiggles to differentiate them from information:
- 01
- 搭配 Jenkins 实现自动化打包微前端多个项目09-15
- 02
- 自动化打包微前端多个项目09-15
- 03
- el-upload 直传阿里 oss 并且显示自带进度条和视频回显封面图06-05