Visual Studio Code 是一个开源的代码编辑器,支持 IntelliSense、调试、Git 和代码片断。可在 Windows、Linux 和 macOS 上下载使用。支持常见的脚本和编程语言,还可以通过安装扩展来获得更多语言和功能的支持。
微软于今天正式发布了 1.73 版本,更新内容如下:
从搜索中包括和排除文件夹
当在搜索视图的结果树状视图中右键单击一个文件夹时,现在在上下文菜单中有两个新的选项。
-
选择 Restrict Search to Folder(将搜索限制到文件夹)会将选定的文件夹路径添加到要包括的文件文本框中。在这个文本框中添加路径将把搜索结果限制在符合列出的路径或模式的结果中。
-
选择 Exclude Folder from Search(从搜索中排除文件夹)可以将选定的文件夹路径添加到要排除的文件文本框中。在这里添加一个路径将排除任何符合所列路径或模式的搜索结果。
Command Center 模式快捷方式
Command Center(命令中心)增加了一个新的顶部部分,使其容易发现如何导航到文件、运行命令等。
这个简短的模式列表还提供了键盘绑定提示,这样你就可以直接跳到你最常用的模式,而无需通过命令中心。
命令中心的用户界面默认不显示在标题栏中,但你可以通过 Window.CommandCenter( window.commandCenter
)启用它,或右键点击标题栏并勾选命令中心来启用。
Merge Editor
在这个版本中,继续打磨 merge editor(合并编辑器),这次更新包含了一些错误修复和一些新功能:
-
接受双方追加冲突
在这个版本中,Accept Incoming(接受输入)和 Accept Current(接受当前)这两个选项总是可以被选中。当这两个选项都被采纳时,合并编辑器会追加相应的更改行。
在下面的示例中,
RelativePattern
被导入了两次,因为两行都被接受。当冲突可以在字符层面没有冲突的情况下解决时,会显示 Accept Combination(接受组合)这个选项,可以用来自动解决冲突。
在下面的示例中,两段代码都被导入到同一个导入语句中。
-
Diff 优化
当基础视图被打开时,会显示当前聚焦的一边和基础之间的差异。这个差异视图可以用来更好地理解 Incoming 和 Current 的变化。
-
Diff 算法的改进
合并编辑器的默认差异算法已被改变。新的差异算法针对合并场景进行了优化。如果新算法导致问题,设置
"mergeEditor.diffAlgorithm": "smart"
可以切换回以前的算法(现在默认是experimental
)。新的差异算法目前只在合并编辑器中默认启用。如果你想让普通的差异编辑器也使用新的差异算法,你可以设置
"diffEditor.diffAlgorithm": "experimental"
, -
在冲突中导航
你现在可以点击冲突计数器来跳到下一个未处理的冲突:
在文件重命名/移动时,Markdown 自动更新链接
如果你已经厌倦了当你移动或重命名文件时不小心破坏了你的 Markdown 中的链接或图片,那么可以试试新的 markdown.updateLinksOnFileMove.enabled
设置。
启用这个新设置后,当文件在 VS Code Explorer 中被移动或重命名时,VS Code 将自动更新 Markdown 中的链接和图片。
你可以使用 markdown.updateLinksOnFileMove.include
来控制受影响的文件的类型。默认情况下,它对所有的 Markdown 文件和常见的图像文件格式都是启用的
新的音频提示
有新的音频提示来帮助处理任务和终端:
- 任务完成 - 任务完成的声音(由
audioCues.taskCompleted
设置控制) - 任务失败 - 任务失败时的声音( 由
audioCues.taskFailed
设置控制) - 终端快速修复 - 如果当前行中有快速修复功能(由
audioCues.terminalQuickFix
设置控制)。
改进的分支创建和保护工作流程
当你在 VS Code for the Web 上的 GitHub 或 Azure Repos 仓库中时,提交到受保护的分支现在会通知你当前分支受到保护,并提示你创建一个新的分支。
这个流程也会遵循以下设置:
git.branchPrefix
允许你用配置好的前缀来预填分支名的快速输入。"git.branchProtectionPrompt": "alwaysCommitToNewBranch"
允许你在尝试提交到受保护的分支时跳过提示,直接进入创建新分支的快速输入。
此外,当你创建一个新的分支时,你可以通过配置 "remoteHub.switchToCreatedBranch": "always"
绕过关于是否切换到新创建的分支的提示。
上述所有内容也适用于在桌面版 VS Code 上使用 GitHub Repositories 或 Azure Repos 扩展时。
新的 Python 扩展
-
迁移到 isort 扩展
在这个版本中,微软正在迁移到使用独立的 isort 扩展,而不是通过自动安装构建于 Python 扩展之上的 isort 支持。
-
Pylance 默认关闭自动导入功能
自从自动导入首次在 Pylance 中实现以来,微软已经收到了很多反馈,例如,当建议被意外接受时,自动添加到文件中的导入十分令人困惑。从这个版本开始,在使用 Pylance 时,软件包将不再被默认自动导入。如果你想为你的 Python 项目重新启用自动导入,你可以设置
"python.analysis.autoImportCompletions":true
来实现。 -
Pylint 和 Flake8 扩展
在之前的版本中,发布了新的 Pylint 和 Flake8 扩展,它们通过语言服务器协议(LSP)与 Python 扩展协同工作,提供提示。在这个版本中,如果你还在使用 Python 扩展中内置的 Pylint 和 Flake8 功能,则会显示一个通知,提示你安装这些新扩展。
远程开发
远程开发扩展允许你使用容器、远程机器或 Windows Subsystem for Linux(WSL)作为一个全功能的开发环境。这个版本的亮点包括:
- 开发容器模板 - 在现有模板的基础上快速创建一个开发容器。
- 开发容器功能--通过包括预包装的功能来为开发容器增加功能。
- 在没有起始文件夹的情况下创建新的开发容器。
更多详情可查看:https://code.visualstudio.com/updates/v1_73