Visual Studio Code 1.36 释出 详细介绍
主要亮点包括:
隐藏/显示状态列专案 - 仅显示首选状态列专案。浏览器中的缩排指南 - 清楚地突出显示专案的资料夹结构。更好的终端shell选择器 - 轻松选择要在整合终端中使用的预设shell。顺序任务执行 - 控制任务和子任务执行的顺序。跳转到游标除错 - 跳转到新位置时跳过程式码执行。禁用除错控制台自动换行 - 允许您将除错输出保持为一行。JavaScript / TypeScript每晚构建 - 新扩充套件集成了JS / TS每晚构建。新的Java安装程式 - 安装VS程式码,Java扩充套件包和所需的Java依赖项。远端开发(预览)改进 - 储存到本地档案系统,将档案拖放到远端控制器等。如果您想在网上阅读这些发行说明,去更新上code.visualstudio.com。有业内人士:想尽快看到新功能吗?您可以下载每晚的Insiders构建版本,并在可用时立即尝试最新的更新。对于最新的Visual Studio Code新闻,更新和内容,请在Twitter @code上关注我们!
工作台
隐藏单个状态列项现在有一个状态列的上下文选单可以隐藏和显示单个条目。

配置在所有工作区中全域性保留。
注意:该设定workbench.statusBar.feedback.visible已被删除,以支援这种新方法。您可以使用状态列上下文选单隐藏反馈笑脸。
树缩排指南
树视窗小部件现在支援缩排指南。这意味着缩排指南现在可在档案资源管理器,搜寻检视,除错检视等中使用。
和以前一样,您可以使用workbench.tree.indent设定控制树的缩排级别,现在您还可以控制缩排指南对workbench.tree.renderIndentGuides设定的行为方式。
可能的值workbench.tree.renderIndentGuides是:
onHover - 悬停在树上时显示缩排引导线。预设行为。always - 始终在树中显示缩排引导线。none - 不要显示缩排指南。
拖放要复制的资料夹
现在可以将资料夹从VS Code外部拖放到档案资源管理器中进行复制。以前,在将资料夹放入VS Code Explorer时,我们总是开启包含该资料夹的工作区。现在可以只复制资料夹内容。
复制贴上档名增量或更改
复制贴上VS Code Explorer中重复的档案和资料夹时,VS Code会增加贴上档案的名称。我们进行增量命名的方式有时会导致意外结果。为了简化命名,我们现在按以下方式递增档名:
“hello.txt” - >“hello copy.txt” - >“hello copy 2.txt” - >“hello copy 3.txt”
禁用自定义选单栏的Alt键焦点
许多使用者要求在按下Alt键时禁用聚焦自定义选单栏的行为。要防止出现此行为,请将新设定设定window.customMenuBarAltFocus为false。迷你搜索装饰
在档案中搜索时,现在将在档案和小地图中突出显示生成的匹配:
更新了警告颜色
我们已更新list.warningForeground并editorWarning.foreground更好地匹配其余的编辑器警告颜色。您将在档案资源管理器,Peek错误检视和编辑器曲线中看到此更新颜色:
我们还更新了editorOverviewRuler.findMatchForeground以更好地突出标尺中更新的警告颜色:

线上服务设定
VS Code将线上服务用于各种目的,例如下载产品更新,查询,安装和更新扩充套件,或在“设定”编辑器中提供自然语言搜寻。您可以选择通过使用者设定开启/关闭使用这些服务的功能,您可以使用标记进行过滤@tag:usesOnlineServices。现在有一个命令档案 > 首选项 > 线上服务设定(程式码 > 首选项 > macOS上的线上服务设定),它在设定编辑器中应用标记。
有关更多资讯,请参阅我们的遥测文件。
整合终端
更好的预设shell选择器
Windows已经有一段时间使用Select Default Shell命令,最后一个版本它被新增到Integrated Terminal下拉选单中。此命令现在也可在macOS和Linux上使用,并通过读取/etc/shells档案公开在系统上注册的shell 。
启动环境干净的终端
VS Code中的整合终端始终与普通终端略有不同,特别是在Linux和macOS上。原因是环境始终从VS Code的视窗(例项)继承,VS Code / Electron相关的环境变数被删除,而普通终端通常从Dock / Start选单启动并使用系统环境。这可能会在某些情况下导致问题,例如Python虚拟环境因其使用$PATH变数的方式而被破坏。有一个新的预览选项,terminal.integrated.inheritEnv当false导致终端不使用VS Code的环境时。
相反,根据平台,它将执行以下操作:
Linux:获取并使用VS Code的“主程序”的父程序的环境。macOS:从当前环境中提取一些重要的环境变数并仅包含它们。最终我们希望macOS的行为与Linux相同,但目前在获取环境方面存在问题。Windows:目前此设定不会影响Windows。设定inheritEnv为的主要可见结果false是$SHLVL(shell级别)现在应为1并且$PATH不应包含重复路径,前提是您的启动指令码不会有意包含它们。
terminal.integrated.inheritEnvis 的预设值true,这是先前的行为,但我们可能会false在将来将值切换为。
更改为Ctrl +
之前,Ctrl+已对映到在Linux和Windows上拆分终端的命令,但这已被更改为传递SIGQUIT到shell,因为大多数人都希望终端能够做到。如果您想要旧的行为,可以将此键盘快捷方式新增到您的keybindings.json档案中。{
"key": "ctrl+", "command": "workbench.action.terminal.split", "when": "terminalFocus"
}
任务
顺序依赖执行
该dependsOn任务属性仍然预设为并行执行所有的依赖,但现在你可以指定"dependsOrder": "sequence"和你的任务依赖于它们中列出的顺序执行dependsOn。使用的任何后台/监视任务dependsOn必须有一个问题匹配器,可以跟踪它们何时“完成”。下面的示例任务执行任务二,任务三,然后执行任务一。
{
"label": "One",
"type": "shell",
"command": "echo Hello ",
"dependsOrder": "sequence",
"dependsOn":[
"Two",
"Three"
]
}
问题匹配路径检测
扫描任务输出以查询问题时,将使用fileLocation问题匹配器属性提供有关路径的资讯。除现有选项relative和absolute选项外,您现在可以指定autoDetect。使用时autoDetect,任务系统将自动尝试确定问题中的路径是相对路径还是绝对路径。语言
TypeScript 3.5.2
此版本包括TypeScript 3.5.2,这是一个修复了一些重要错误的小更新。仅使用JavaScript和TypeScript的语法功能
VS Code的JavaScript和TypeScript语言功能由TypeScript服务器提供支援。该服务器支援IntelliSense和错误报告等复杂功能,以及程式码折叠和文件大纲等简单功能。
诸如IntelliSense之类的功能要求TypeScript服务器在返回任何结果之前评估整个JavaScript或TypeScript专案,这对于较大的专案可能需要一些时间。在进行此处理时,服务器无法处理任何其他请求,包括对程式码折叠等简单功能的请求,只需要对当前档案有基本的语义理解。如果您在程式码折叠或文件大纲可用之前发现延迟,则可能已经看到过此问题。
为了让您更快地开始使用程式码,我们添加了一个新的实验选项,VS Code使用两个TypeScript服务器:一个只处理简单的基于语法的操作,一个完整的处理专案处理,IntelliSense,错误报告和其他高阶语言功能。要启用此行为,请设定"typescript.experimental.useSeparateSyntaxServer": true。此设定需要在工作区中使用TypeScript 3.4或更高版本。
除错
跳转到游标
我们添加了一个新的除错命令Jump to Cursor,它允许您将程式执行移动到新位置,而无需执行其间的任何程式码。如果侦错程式支援Jump to Cursor,则在除错时新命令将出现在编辑器上下文选单和Command Palette中。目前此命令仅可从C#扩充套件中获得,但其他除错扩充套件应该很快就会出现。