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

本次更新推荐功能

使用者

  • 无标题文件,基于 AI 的语言自动检测技术
  • 支持原生的多色括号,通过 editor.bracketPairColorization.enabled 配置启用,性能更优
  • 终端 - 绘图(表格)字符和块元素字符自定义渲染支持。在 GPU 渲染情况下(terminal.integrated.gpuAcceleration),效果是绘图字符将不会有空隙。可以使用 Zenith 观察效果
  • 调试 - 调试运行中时,编辑器断点装订线上下文菜单,添加 运行到此行 的菜单项
  • JS/TS - 嵌入 JavaScript 和 TypeScript 提示, command + , 搜索 inlayHints 开启
  • 预览特性 - 编辑器组锁定 (参见下文)
  • 预览特性 - 文件快速跳转支持通过 "" 实现精确包含匹配

扩展开发者

  • 设置编辑器的描述支持 markdown 代码块的高亮提示
  • Web 扩展,VSCode 已经支持完全在浏览器中运行,这种情况下扩展主机将在浏览器环境中运行,因此无法使用 Node 相关 API(如本地文件系统,进程相关 NodeAPI),但是仍可以使用 VSCode 所有 API,运行环境为 Browser WebWorker。如果扩展不需要使用操作系统API,则可以在 package.json 声明扩展的 "browser" 入口点以支持 Web 模式。一旦一个扩展支持 Web 模式,则可以在 github.dev 中使用(或 github1s.com )。体验纯 Web 版 VSCode,可以在 github 仓库页面按 . 键。关于 Web 扩展 的开发,参见官方扩展: Web Extensions
  • API 添加 vscode.env.appHost 属性,返回当前环境是在 桌面、Codespaces 还是 github.dev
  • 平台特定扩展,issue #23251 ,这将允许扩展作者为不同平台(Windows、macOS、Linux)创建单独的扩展版本。方案已确定,将在九月的里程碑落地。

工作台 (Workbench)

  • 无标题文件,基于 AI 的语言自动检测技术,默认已开启,可以通过 >change language mode 的 自动检测 (Auto detect) 配置手动触发
  • 终端编辑器如果正在运行,弹出的二次确认对话框,将显示 取消 和 终止
  • 当编辑器重新打开后,记忆的文件如果无法加载时,仍然显示编辑器,而不是关闭,这样可以保留编辑器布局
  • 设置编辑器的描述支持 markdown 代码块的高亮提示
  • 打开设置编辑器的快捷键配置,支持在侧边栏的方式打开

    {
    "key": "cmd+,",
    "command": "workbench.action.openSettings",
    "args": {
    "openToSide": true
    }
    }

编辑器 (Editor)

  • 支持原生的多色括号,通过 editor.bracketPairColorization.enabled 配置启用,性能更优
  • 自动完成的内联完成,参见:文档
  • Peek 视图更新

终端 (Terminal)

  • 绘图(表格)字符和块元素字符自定义渲染支持。在 GPU 渲染情况下(terminal.integrated.gpuAcceleration),效果是绘图字符将不会有空隙。可以使用 Zenith 观察效果

terminal-glyph-before terminal-glyph-after

  • 改进了某些字体的下划线的渲染方法
  • 重新加载窗口后更快的重新连接

调试 (Debug)

  • 在 Watch 视图设置值
  • UI 小更新
    • 针对 URL 类型的变量字符串,可以快速调起浏览器
    • 同一个调试配置第二次启动时,将提示用户防止误启动
    • Clicking on a disabled breakpoint in the editor’s breakpoint gutter now enables the breakpoint instead of removing it.
    • 调试运行中时,编辑器断点装订线上下文菜单,添加 运行到此行 的菜单项
  • 新设置
    • debug.confirmOnExit 当窗口存在 Debug 会话时,关闭窗口将弹出二次确认窗
    • debug.console.acceptSuggestionOnEnter 控制调试控制台是否接收建议
  • JavaScript 调试
    • 移除 Legacy node 调试器
    • Improved stepping in async functions and Node.js internals

安装器 (Installer)

  • 可以在 Windows 11 通过 Microsoft Store 安装 VSCode

Notebooks

更过关于 Notebook

  • Markdown 支持 [text](#header-slug) 链接快速调转,其中 header-slug 为标题将连续的空白字符替换为 - 得到的字符串,支持中文
  • 处理大量输出时的性能改进,方法是将对象传输协议从 JSON 变更为 二进制本身
  • onNotebook 激活事件改进
  • 自定义布局设置按钮,添加到编辑器工具栏

语言特性 (Language Features)

  • TypeScript 4.4
  • 嵌入 JavaScript 和 TypeScript 提示, command + , 搜索 inlayHints 开启
  • JavaScript 文件检查添加拼写检查
  • TypeScript 语法服务器开关(语法服务器用于在项目加载阶段提供简单的提示能力),配置项为 typescript.tsserver.useSyntaxServer

预览特性 (Preview features)

  • 编辑器工具栏溢出菜单,添加 锁定编辑器组,可以用于禁止 markdown 在预览窗口打开问题件,
    • 锁定后效果如下
      • 除非手动拖动到该组,新的文件将不会再改组中打开
      • 新编辑器将在最近使用的未锁定的组中打开,如果全部被锁定,则在最新使用的编辑组旁边创建一个新的组。
      • 编辑器组的锁定状态在重新启动时会保持和恢复
      • 还可以锁定空组,从而实现更稳定的编辑器布局
      • 锁定的组由操作工具栏中的锁定图标(右上角)添加一个锁图标进行指示
    • 同时还添加如下命令
      • workbench.action.experimentalLockEditorGroup
      • workbench.action.experimentalUnlockEditorGroup
      • workbench.action.experimentalToggleEditorGroupLock
  • 自动锁定编辑器组配置:workbench.editor.experimentalAutoLockGroups
  • 文件快速跳转支持通过 "" 实现精确包含匹配

扩展贡献 (Contributions to extensions)

  • Jupyter
    • Run By Line 一行一行的运行
    • Debugging 调试运行
  • Python
    • 接入 Testing API,支持测试视图
    • 直接通过编辑器工具栏运行/调试按钮运行 Python 文件
  • GitHub Pull Requests and Issues
    • 评论 Peek 视图,支持折叠/展开单个评论按钮 和 折叠/展开全部评论命令(>GitHub Pull Requests: Expand All Comments>GitHub Pull Requests: Collapse All Comments

扩展制作 (Extension authoring)

  • Web 扩展,VSCode 已经支持完全在浏览器中运行,这种情况下扩展主机将在浏览器环境中运行,因此无法使用 Node 相关 API(如本地文件系统,进程相关 NodeAPI),但是仍可以使用 VSCode 所有 API,运行环境为 Browser WebWorker。如果扩展不需要使用操作系统API,则可以在 package.json 声明扩展的 "browser" 入口点以支持 Web 模式。一旦一个扩展支持 Web 模式,则可以在 github.dev 中使用(或 github1s.com )。体验纯 Web 版 VSCode,可以在 github 仓库页面按 . 键。关于 Web 扩展 的开发,参见官方扩展: Web Extensions
  • Commands 贡献点,添加 shortTitle 属性
  • API 添加 vscode.env.appHost 属性,返回当前环境是在 桌面、Codespaces 还是 github.dev
  • RendererContext.workspace.isTrusted for notebook renderers
  • 平台特定扩展,issue #23251 ,这将允许扩展作者为不同平台(Windows、macOS、Linux)创建单独的扩展版本。方案已确定,将在九月的里程碑落地。
  • Updated codicons
  • 演练贡献的更新

调试器扩展制作

调试适配器协议 (Debug Adapter Protocol) - DAP

提案扩展 API (Proposed extension APIs)

工程 (Engineering)

文档 (Documentation)