欢迎来到2017年9月发行的Visual Studio代码。在这个版本中有一些重要的更新,我们希望你会喜欢,一些关键的亮点包括:
- macOS Touch Bar支持 - Touch Bar操作,用于导航和调试。
- 源代码折叠改进 - 折叠区域标记和离线语言块。
- 集成终端性能 - 终端渲染速度高达45倍。
- 自动导入建议 - 编码时请参阅模块和路径导入建议。
- 调试显示源位置 - 轻松从Debug Console导航到源代码。
- 正则表达式和格式字符串更好的着色 - 有助于解析和识别错误。
- 改进了多个SCM支持 - 新UI可以查看多个源代码管理库中的更改。
- 新的在线文档 - Java语言,“提示和技巧”和调试配方主题。
- 预览:多根工作区 - 工作区更新时无重新加载,可用任务的组合视图。
- 扩展作者的多根指南 - 帮助扩展程序为多根工作区做好准备。
新的Visual Studio代码标志
我们更新了VS代码标识和颜色,橙色为稳定版本,绿色为内部人士。
发布 | 稳定 | 业内人士 |
---|---|---|
macOS / Linux | ![]() | ![]() |
视窗 | ![]() | ![]() |
注意:根据您的平台,由于应用程序图标的操作系统缓存,您可能仍然会看到早期的徽标。
更好 - 等待支持
VS代码可以--wait从命令行的参数开始,直到打开的实例关闭。在这个里程碑中,我们使这个功能更加强大,当所有的编辑器被关闭时也会终止调用进程。因此,您现在可以使用--wait已经打开的实例,从而使其体验更快。
注意:默认情况下,我们现在将重用任何已打开的实例。为了避免这种情况,请将-n参数添加到命令行。
文件编码的新功能
现在可以配置每种语言的设置files.encoding以及files.autoGuessEncoding设置。VS代码现在也支持CP 850和CP 865编码。
编辑
折叠区域
折叠现在支持区域标记。标记由语言配置中的语言定义。
以下语言当前具有定义的标记:
- TypeScript / JavaScript: //#region和//#endregion and //region和//endregion
- C#:#region和#endregion
- C / C ++:#pragma region和#pragma endregion
- F#://#region和//#endregion
- Powershell:#region和#endregion
- VB:#Region和#End Region
每种语言也有标记可用的片段。键入'#'并调用代码完成以查看它们。
要为您的语言配置区域标记,请与语言扩展提供商联系。
折叠在离线语言中
在符合代码块偏离规则的语言中,空行属于下一个折叠区域。
该设置在语言配置中进行配置,并为以下语言启用:
Python,Yaml,Pug,Markdown,Clojure,CoffeeScript,FSharp。
片段选择器
“ 插入代码段”命令显示的代码段选择器下拉列表显示了两组用户代码段和扩展程序代码片段。用户定义的片段列在顶部,以便您快速访问您最喜爱的片段。
代码片段转换
VS代码片段引擎现在支持变量转换。变换可以在插入变量之前更改变量的值。格式是var_name/regular_expression/format_string/options。下面的示例是一个代码片段,它创建一个公共Java类,其名称源自文件名。
"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"
}
新的部分是这样的:${TM_FILENAME/(.*)\\.java/${1:/capitalize}/}这是它的作用:
- 解决价值TM_FILENAME,例如myClass.java。
- 例如,使用正则表达式/(.*)\\.java为.java结束之前的所有内容创建匹配的组myClass。
- 取第一个匹配组的值,确保以大写字母(/capitalize)开始,然后插入它(MyClass)。
要了解更多信息,请查看我们的代码段语法,以查看您可以做什么,然后获得创造性。
灯泡改进
- 新editor.lightbulb.enabled设置在编辑器中启用或禁用“代码操作”灯泡。默认值为true。
- “代码操作”菜单现在默认选择第一个条目,使其更容易运行。
Emmet偏好
我们将继续在Emmet 2.0中增加更多Emmet偏好设置的支持。除了我们在上一个版本中添加的首选项,我们现在有:
- bem.elementSeparator
- bem.modifierSeparator
- filter.commentBefore
- filter.commentTrigger
- filter.commentAfter
filter.commentAfterEmmet 2.0中的首选项格式不同,简单。
例如,而不是旧的格式
"emmet.preferences": {
"filter.commentAfter": "\n<!-- /<%= attr('id', '#') %><%= attr('class', '.') %> -->"
}
你会用
"emmet.preferences": {
"filter.commentAfter": "\n<!-- /[#ID][.CLASS] -->"
}
集成终端
新的渲染引擎
集成终端现在正在使用一种新的基于画布的渲染引擎,根据情况,渲染速度提高约5到45倍。这种改变减少了输入延迟,功耗,并显着增加了终端的帧速率。
您可以在我们最近的博客文章中更详细地阅读。
调试
调试控制台消息显示源位置
调试控制台中的输出消息现在可以选择在右侧显示始发源位置:
单击此源将在编辑器中打开源文件。
注意:以下调试器已经支持此功能:
我们期望更多的调试扩展可以很快地采用这个功能
任务
我们向任务添加了多文件夹支持。如果已创建具有多个文件夹的工作空间,则会收集所有使用任务版本“2.0.0”的工作区文件夹的任务,并将其显示在相应的“运行”命令中。启动配置还可以将任务从同一工作空间文件夹引用为预启动任务。
Gulp,Grunt,Jake和npm的任务自动检测现在也支持多根工作区。此外,增强了任务贡献API,以支持不同工作空间文件夹的贡献任务。
请注意,多文件夹支持仍然需要内部人员构建。
语言
TypeScript 2.5.3
VS代码现在包括TypeScript 2.5.3。此更新带来了一些重要的修复和改进,重点是提取方法重构。
在JavaScript和TypeScript中导入路径快速建议
自VS代码1.9以来,JavaScript和TypeScript为IntelliSense提供了导入路径。但是,您可能不知道此功能,因为它需要在键入导入时手动触发IntelliSense。使用VS代码1.17,我们会在您开始键入import或require路径时立即自动显示模块和路径建议:
自动检测TypeScript手表构建任务
现在,TypeScript会自动为tsconfig.json项目中的文件创建监视任务,以及正常的构建任务:
JavaScript和TypeScript IntelliSense现在支持Markdown
JavaScript和TypeScript的建议和参数提示现在可以呈现Markdown内容。