最近微软VS团队宣布了其免费开源的编辑器Visual Studio Code的新版本。今天我们就一起来尝鲜其带来的功能变化。
![fe1a92710622d31343d9937be1f30365.png](https://img-blog.csdnimg.cn/img_convert/fe1a92710622d31343d9937be1f30365.png)
概述
新版本带来了很多变化,其中最主要的亮点功能有:
保留全局搜索和替换的"Preserve Case"选项支持不区分大小写,在多文件搜索/替换中不区分字母大小写。
设置编辑器字符串数组验证,检查min,max,enum值和glob模式。
调整光标周围的线条,使光标在编辑器中居中。
在对比编辑器中复制和还原,可以轻松的复制或恢复已删除的内容。
跳转到行功能支持负号,快速跳转到文件末尾。
HTML和CSS的MDN参考链接,直接从IntelliSense链接到MDN文档。
添加缺失等待快速修复,可以在异步代码中查找忽略的等待。
调试数据断点,当跟踪值更改时,调试器会中断。
VS Code图标存储库,可用于扩展作者的官方产品图标。
Alpine Linux发行版支持,用于远程WSL和容器扩展。
工作台
在搜索和替换中保留大小写
在上一个版本中,编辑器的"查找/替换"控件中添加了"Preserve Case"选项。同样的选项现在可用作全局搜索和替换中的AB图标。
对于连字符分隔的单词,还有一种新的大小写模式。
![cad93e390cf466963a8a1b948d553d5f.png](https://img-blog.csdnimg.cn/img_convert/cad93e390cf466963a8a1b948d553d5f.png)
更新了取消搜索图标
对长时搜索时,更新了取消搜索的图标,以更好地表示操作。
![e61a276eaf04f5986ec606126565323c.png](https://img-blog.csdnimg.cn/img_convert/e61a276eaf04f5986ec606126565323c.png)
验证字符串数组设置
如果当前值不满足指定的minItems,maxItems,item.enum或item.pattern模式,则设置编辑器会显示字符串数组项的错误。
![084d86e7054f9afcd86f2796fc8fa175.png](https://img-blog.csdnimg.cn/img_convert/084d86e7054f9afcd86f2796fc8fa175.png)
对外链接的链接保护
新版本中VS Code在打开对外链接之前会发出提示。
可以直接打开链接或信任特定域以绕过此提示。使用"配置可信域"按钮或命令,可以为特定域或所有对外链接启用/禁用链接保护。
Explorer改进
顶级资源创建
新版本改进了在资源管理器中创建顶级文件和文件夹的过程。现在有三种方法可以在文件资源管理器的根目录中创建文件或文件夹:
滚动超出最后一个元素,以便调用空白区域的上下文菜单。
按Escape可清除资源管理器中的焦点和选择,从而使标题区域操作在Explorer根目录上执行。
使用滚动条上的上下文菜单。
打开文件并保留焦点
现在可以从资源管理器中预览打开文件,同时将焦点保持在资源管理器中。新的命令是filesExplorer.openFilePreserveFocus,默认情况下,它可以通过Space键触发。
资源管理器文件命名
有一个新设置项explorer.incrementalNaming来控制重复文件命名,可设置为simple或者smart。
simple:在重复名称的末尾附加单词"copy",后面可能跟一个数字。这是当前VS Code的默认行为。
smart:在重复名称的末尾添加一个数字。如果数字已经是名称的一部分,会递增数字计数。
最大化编辑器切换命令
新命令Toggle Editor Group Sizes(workbench.action.toggleEditorWidths)将在最大化活动编辑器组和最适编辑器组宽度之间切换。
工作台的网格布局
工作台的布局引擎新版中做了重写,以使用与编辑器区域本身相同的网格小部件。Insiders版本中已经默认启用了此功能。其设置项为
workbench.useExperimentalGridLayout,1.38中正式默认启用。
切换编辑器区域/最大化面板
新引擎为将来的工作台布局提供了更大的灵活性。在1.38版本中最明显地表现为隐藏编辑区域的能力。网格布局中有一个新命令"Toggle Editor Area"可以隐藏编辑器区域并允许面板(例如Output或Debug控制台)填充布局。 "Toggle Maximized Panel"命令也具有相同的效果。这意味着最大化的面板现在真正最大化,而没有编辑器之前留下的微小差距。
![1451ca36a9d11aacd1dd81a76879694a.png](https://img-blog.csdnimg.cn/img_convert/1451ca36a9d11aacd1dd81a76879694a.png)
从面板或侧边栏等任何位置打开文件,编辑器将自动重新出现。
隐藏单个macOS Touch Bar条目
新配置项keyboard.touchbar.ignored可以有选择地从macOS Touch Bar中删除VS Code。 VS Code默认添加以下命令:
workbench.action.navigateBackworkbench.action.navigateForwardworkbench.action.debug.startworkbench.action.debug.runworkbench.action.debug.continueworkbench.action.debug.pauseworkbench.action.debug.stepOverworkbench.action.debug.stepIntoworkbench.action.debug.stepOutworkbench.action.debug.restartworkbench.action.debug.stop
新编辑器组上下文快捷键
对条件语句有两个新的when子句上下文键盘快捷键
activeEditorGroupIndex:从1开始的数字,反映编辑器网格中编辑器组的位置。索引为1的组将是左上角的第一个组。
activeEditorGroupLast:编辑器网格中的最后一个编辑器组将为true。
可访问性改进
针对可访问性问题,新版本改进有:
字导航现在遵循NVDA和VoiceOver所期望。在编辑器中使用单词导航进行导航时,可以正确朗读该单词。
indows放大镜工具现在可以在编辑器中跟随光标。
截屏模式
截屏模式有一些改进(开发人员:Toggle Screencast模式):
屏幕录像键绑定标签的长度现在有限制。
可以通过screencastMode.verticalOffset设置调整键绑定标签垂直位置。
可以将键绑定标签配置为仅通过screencastMode.onlyKeyboardShortcuts设置呈现实际的键盘快捷键。
改进了键盘快捷键渲染样式。
编辑器
光标周围的行(scrollOff)
新版本中可以通过设置editor.cursorSurroundingLines,在将光标移向文件的开头或结尾时自定义要在光标周围显示的可见行数。相当于Vim中的scrollOff。
在Find中进行多行搜索
编辑器Find控件现在支持多行文本搜索和替换。按Ctrl + Enter,可以在输入框中插入新行。
在差异编辑器中复制并恢复
使用内联差异编辑器时,有复制或还原已删除内容的新操作。将鼠标悬停在内联差异编辑器中的已删除内容上,现在可以做以下操作:
复制整个已删除的内容
复制特定行
还原更改
![4eefb7f345c8e69189a96f4d90eb674a.png](https://img-blog.csdnimg.cn/img_convert/4eefb7f345c8e69189a96f4d90eb674a.png)
跳转到行,支持负线号
可以在"转到行"选择器中键入负行号,以从文件末尾进行导航。例如,键入-1将显示文件的最后一行。
全局搜索小地图装饰
小地图(代码概述)现在显示文件和全局搜索中搜索的搜索结果。
集成的终端
terminal.integrated.cwd变量回退
在cwd设置中使用变量时,例如:
"terminal.integrated.cwd": "${fileDirname}"
当无法解析变量时,终端现在将错误记录到控制台并回退到工作空间目录,而不会抛出错误。
自动化shell设置
除了为集成终端设置shell之外,现在可以指定用于自动化的shell(例如"任务")。如果使用tmux作为shell,这将特别有用。
"terminal.integrated.shell.osx": "/Users/user/bin/tmux_script"
"terminal.integrated.automationShell.osx": "bash