https://code.visualstudio.com/updates/v1_52

本次更新推荐功能

  • 资源管理器支持 Undo 操作(比如撤销移动文件),焦点需要在资源管理器
  • 打开编辑器页面,排序支持配置 explorer.openEditors.sortOrder,推荐使用 字母排序 alphabetical
  • 改善 整体 滚动条体验,比如侧边栏树过多时,将可以整体滚动
  • 支持禁用扩展和其依赖项
  • 扩展问题快速排查 Help: Start Extension Bisect (开始扩展二等分) 命令,参见

工作台 (Workbench)

  • 预览编辑器模式(标题为斜体的模式)
    • 添加了 workbench.editor.enablePreviewFromQuickOpen 配置
    • 代码导航改善(比如 跳转到定义 F12)
      • A -> B 时,B 为 预览模式
      • B -> C 时,B 变为 非预览模式,C 为预览模式
    • 编辑器溢出菜单(右上角…),添加“使编辑器保持打开”菜单
  • 重新打开VSCode的恢复行为,window.restoreWindows 添加新的选项
    • preserve,当 通过 命令行 code 命令打开一个目录时,将恢复之前未关闭的窗口
  • 添加配置 workbench.editor.splitOnDragAndDrop 控制拖动编辑器标签的行为(shift 键可以切换其行为)
  • 资源管理器支持 Undo 操作(比如撤销移动文件),焦点需要在资源管理器
  • 资源管理器长时间操作,进度条提示,并支持 undo 按钮
  • 打开编辑器页面,排序支持配置 explorer.openEditors.sortOrder,不影响标签顺序
    • editorOrder 默认,和打开顺序一致
    • alphabetical 字母排序
  • 提升终端环境处理(异步解析 shell 环境变量)
  • 改善 整体 滚动条体验,比如侧边栏树过多时,将可以整体滚动
  • 可以通过 sash.hoverBorder 自定义 hover 边框颜色
  • 树展开模式配置 workbench.tree.expandMode

源代码版本控制 (Source Control)

  • 重启后 源代码控制 视图将仍然会保持之前的折叠状态
  • 添加了几个命令
    • Git: Cherry Pick… - Cherry pick a specific commit to your branch.
    • Git: Rename - Perform a git rename of the active file.
    • Git: Push Tags - Push all local tags to the remote.
    • Git: Checkout to (Detached)… - Perform a checkout in detached mode.
  • 添加了几个新设置
    • git.pruneOnFetch - Make VS Code run git fetch –prune when fetching remote refs.
    • git.ignoreSubmodules - You can now make sure VS Code ignores changes in submodule repositories, which is useful in large monorepos.
    • git.openAfterClone - Control whether and how to open a folder after you cloned a git repository: on the current window, on a new window, when no folder is opened and by prompting the user.
    • git.useCommitInputAsStashMessage - Enable VS Code to use the commit message in the source control input box as a stash message, when running Git: Stash.
    • git.followTagsWhenSync - Follow tags when running Git: Sync.
    • git.checkoutType - Control what refs are shown, and in what order, when you run the Git: Checkout… command.
  • 其他略

调试 (Debugging)

  • 调试侧边栏,断点视图,支持添加断点条件(VSCode 层面支持,但是还没有扩展支持)
  • UI 改进
  • launch.json 和 tasks.json 变量
    • ${fileWorkspaceFolder} 文件所在工具空间区目录
    • ${fileDirnameBasename} 文件所在目录
    • ${pathSeparator} 路径分隔符
  • 其他 略

扩展 (Extensions)

  • 扩展侧边栏和扩展详情页联动
  • 扩展详情页支持更多操作
  • 支持禁用扩展和其依赖项
  • 扩展问题快速排查 Help: Start Extension Bisect (开始扩展二等分) 命令,参见

快捷键编辑器 (Keyboard Shortcuts editor)

  • cmd + shift + p 命令窗口,支持快捷键快速配置,鼠标 hover 上去,快速跳转到快捷键编辑器
  • 搜索框支持如下 filter 命令
    • @command:commandId - Filters by command ID. For example,
    • @command:workbench.actions.showCommands.
    • @keybinding:keybinding - Filters by keybinding. For example, @keybinding:f1.
    • @source:user|default|extension - Filters by source.

智能感知 (IntelliSense)

  • 在没有语言服务器的况下,VSCode 将提示本文档中的单词,现在通过 editor.wordBasedSuggestionsMode 支持提示全部文档中的单词
  • 配置 editor.suggest.showInlineDetails
  • TypeScript 自动导入,支持显示路径
  • 自定义 Customize CodeLens 字体字号
    • "editor.codeLensFontFamily": "Comic Sans MS",
    • "editor.codeLensFontSize": 12,

编辑器 (Editor)

  • editor.stickyTabStops 空格选择类似于 Tab 的行为
  • 添加命令,删除单词 deleteInsideWord,删除光标处的整个单词,和 alt + 退格 不同(为 deleteWordLeft
  • 差异编辑器,自动换行和编辑器行为一致
  • Insert Snippet 命令将显示所有与的代码片段,添加隐藏按钮,以隐藏该代码片段

集成终端 (Integrated Terminal)

语言 (Languages)

  • Markdown 内联智能选择
    • Expand: ⌃⇧⌘→
    • Shrink: ⌃⇧⌘←
  • 其他略

文档 (Documentation)

其他