🚀 在 VS Code 中

2023 年 10 月(版本 1.84)

更新 1.84.1:此更新解决了以下问题

更新 1.84.2:此更新解决了以下问题

下载:Windows:x64 Arm64 | Mac:通用 Intel Silicon | Linux:deb rpm tarball Arm snap


欢迎使用 Visual Studio Code 2023 年 10 月版。此版本包含许多更新,希望您会喜欢,其中一些主要亮点包括:

如果您想在线阅读这些发行说明,请访问 code.visualstudio.com 上的更新

Insiders: 想要尽快试用新功能吗?您可以下载每晚构建的 Insiders 版本,并在最新更新可用时立即试用。

辅助功能

清除、格式化和保存选择加入音频提示

audioCues.clear 启用时,声音指示终端、通知或聊天响应已被清除。

在文件和笔记本中,可以将 audioCues.saveaudioCues.format 设置为在用户手势时播放,或者始终为每个事件播放。禁用后,将改用 ARIA 警报,并且可以使用 accessibility.alert.formataccessibility.alert.save 进行自定义。

Windows 放大镜同步

Windows 放大镜现在可以在 VS Code 中正确跟随光标。

辅助功能视图改进

默认情况下,用户的光标位于终端辅助功能视图的底部;要改为保留位置,您可以将 terminal.integrated.accessibleViewPreserveCursorPosition 设置为 true

可以使用 accessibility.hideAccessibleView 隐藏辅助功能视图,如果您与有视觉用户的观众共享屏幕,这将非常有用。

当用户开始键入并聚焦之前的元素以实现更流畅的工作流程时,辅助功能视图现在会关闭。

窗口标题中聚焦视图的文本编辑器

在上一个迭代中,我们向 window.title 添加了 ${focusedView} 变量。我们现在还指示何时聚焦 文本编辑器

工作台

自定义活动栏位置

现在,您可以将活动栏移动到侧边栏的顶部,如下面的视频所示。

Move Activity bar position

当活动栏放置在顶部时,“帐户”和“管理”按钮将移动到标题栏的最右侧。

注意: 仅当启用自定义标题栏时才支持此功能 ("window.titleBarStyle": "custom")。

隐藏编辑器选项卡

用户现在可以通过将 workbench.editor.showTabs 设置为 none 来隐藏编辑器选项卡。其他 showTabs 选项包括 multiple(默认)和 single,用于为活动编辑器显示单个编辑器选项卡。

Hide editor tab bar

最大化编辑器组

有一个新的命令 视图:切换最大化编辑器组 (⌘K ⌘M (Windows、Linux Ctrl+K Ctrl+M)) 用于最大化编辑器组。这将隐藏所有其他组,并在选项卡栏中添加一个按钮,允许用户恢复之前的布局。如果设置 workbench.editor.doubleClickTabToToggleEditorGroupSizes 设置为 maximize,用户可以双击编辑器选项卡来最大化和取消最大化编辑器组。

Maximize editor group showing button to restore to original layout

设置编辑器中类似的设置搜索

与命令面板类似,设置编辑器现在运行类似的设置搜索,以收集给定查询的更多相关结果。

该实现目前处于早期阶段,您可以期待在接下来的几次迭代中有所改进。

The query "automatically save files" in the Settings editor showing some auto save settings

当文件或工作区的协议链接在 VS Code 中打开时,现在会显示一个对话框要求确认

Confirm protocol links dialog display for a local file

协议链接可以指向本地文件(例如 vscode://file/path/to/file)或远程文件(例如 vscode://vscode-remote/ssh-remote+[USER@]HOST[:PORT]/path/to/file)。对于每种情况,都有新的设置来禁用此行为

  • security.promptForLocalFileProtocolHandling - 用于本地协议链接
  • security.promptForRemoteFileProtocolHandling - 用于远程协议链接

编辑器

最近的快速修复键盘快捷键

有一个新设置可以从 ⌘. (Windows、Linux Ctrl+.) (命令 ID editor.action.quickFix)激活行中最接近的快速修复,无论您的光标在该行中的哪个位置。以前的预览功能,代码操作小组件:包含附近的快速修复 (editor.codeActionWidget.includeNearbyQuickFixes) 现在默认启用。

该命令突出显示将使用快速修复重构或修复的源代码。正常的代码操作和非修复重构仍然可以在光标位置激活。

Example of new Quick Fix behavior, showing activation on nearest errors, and how all Code Actions are still available at the cursor location

多文档高亮显示

通过设置 编辑器:多文档匹配项 (editor.multiDocumentOccurrencesHighlight) 添加了对跨多个文档的代码高亮显示的初始支持。此初始实现仅包含文本匹配项,未来将支持语义高亮显示。

源代码管理

使用 --force-if-includes 强制推送

此里程碑现在支持 --force-if-includes 选项,这是 Git 2.30 中添加的 --force-with-lease 的辅助选项。新选项确保强制推送的提交是在检查远程引用的顶端提交后创建的,并减少在启用自动获取时丢失提交的机会。您可以通过禁用 git.useForcePushIfIncludes 设置来禁用 --force-if-includes 的使用。

笔记本

执行时滚动改进

改进了通过 Shift+Enter 执行笔记本时如何显示下一个单元格,以帮助关注输出。这也减少了重新执行已具有输出的单元格时单元格的移动量。

IPython 堆栈跟踪渲染

来自 IPython 的异常堆栈跟踪现在渲染可点击链接,以帮助导航到错误。这仅在 Jupyter 扩展首先不更改堆栈跟踪的情况下适用:"jupyter.formatStackTraces": false

调试

JavaScript 调试器

改进的事件侦听器断点视图

事件侦听器断点视图更加友好,现在以带有复选框的树状结构呈现

Event Listener Breakpoints view shown as a tree with the Canvas WebGL Error Fired event checked

更好地处理源地图重命名

当代码使用捆绑器编译时,变量可以重命名。这在所有捆绑器中的导入中尤其常见,在 esbuild 中的某些本地标识符中也很常见。调试器现在知道每个重命名应用到的作用域,这修复了用户历史上遇到的许多障碍。

这需要调试器解析编译模块的语法树。这在后台线程中完成,并且仅在检测到重命名时完成,但可以通过在您的 launch.json 中设置 "sourceMapRenames": false 来禁用该行为,以避免任何性能影响。

远程开发

远程开发扩展允许您使用 开发容器、通过 SSH 或 远程隧道 的远程计算机,或 Windows Subsystem for Linux (WSL) 作为功能齐全的开发环境。

亮点包括:

  • 您现在可以使用您的 Microsoft 帐户登录隧道。
  • Windows 上现在支持通过 SSH 和隧道连接到开发容器。

您可以在 远程开发发行说明中了解有关这些功能的更多信息。

扩展贡献

GitHub Copilot

流式内联聊天

GitHub Copilot Chat 扩展的内联聊天现在可以进行渐进式文本编辑,并以接收响应的速度“键入”。这比之前等待接收整个聊天响应后再将其应用于编辑器的行为更自然。

并非所有编辑都是插入,对于替换,Copilot 有时很难确定从哪里开始。在这些情况下,流式传输可能还不能按预期工作。请继续关注此领域的改进。

聊天代理

在此迭代中,我们构建了一种与 Copilot Chat 交互的新方式:代理。代理就像专家一样,他们有可以帮助您的专业知识,您可以通过使用 @ 符号提及他们在聊天中与他们交谈。目前,有两个代理:

  • @workspace 具有关于您的工作区中代码的上下文,可以帮助您导航它,查找相关文件或类。
  • @vscode 了解 VS Code 编辑器本身的命令和功能,可以帮助您使用它们。

每个代理还支持一些斜杠命令,您以前可能使用过的斜杠命令现在应该与代理一起使用。例如,/explain 现在是 @workspace /explain。但作为快捷方式,您也可以只键入 / 以获得一个完成列表,该列表将自动扩展为完整的代理和命令。

@workspace

@workspace 代理使用元提示来确定要从工作区收集哪些信息以帮助回答您的问题。元提示使用的一种方法是回顾您的对话历史记录,以解决问题中不明确的单词/短语。例如,如果您问 @workspace 它做什么?,元提示现在将考虑历史记录以弄清楚 实际上是什么,以及要收集哪些信息来回答问题。元提示还使用广泛的术语,包括更多同义词,来生成潜在相关术语的列表。

@workspace 响应中的文件路径和符号是可点击的链接。这使得导航到 Copilot 引用的代码变得容易。

在决定从工作区索引哪些文件时,@workspace 代理会遵循 .gitignore.copilotignore

代理替换斜杠命令

新的代理替换了斜杠命令的功能,例如 /createWorkspace/createNotebook,并添加了斜杠修饰符

  • /createWorkspace --> @workspace /new
  • /createNotebook --> @workspace /newNotebook
  • /explain --> @workspace /explain
  • /fix --> @workspace /fix
  • /test --> @workspace /test
  • /vscode --> @vscode /api

Slash command menu showing agents and slash modifiers

试用新的代理,并键入 /help 以获取更多提示!

提交消息生成

Copilot Chat 现在可以使用源代码管理输入框中的新“闪烁”操作,根据待处理的更改生成提交消息。

导入分组

生成的导入现在始终放在文件顶部或现有导入块下方。大多数常见编程语言都支持此功能。

改进的 /explain 上下文

您可以通过 @workspace /explain 命令或上下文菜单中的 使用 Copilot 解释 操作,要求 Copilot Chat 解释活动编辑器中的代码选择。Copilot Chat 现在包括引用的符号(如函数和类)的实现,从而产生更准确和有用的解释。当您安装了为以下语言之一贡献语言服务的扩展时,这在跨文件时效果最佳:TypeScript/JavaScript、Python、Java、C#、C++、Go 或 Ruby。

持久聊天视图状态

以前,Copilot Chat 视图最初是隐藏的,然后稍后显示。Copilot Chat 视图现在在窗口重新加载之间保持活动状态,因此您不必手动重新打开它。此外,聊天视图现在引导您完成登录 GitHub 并激活 GitHub Copilot 免费试用版的过程。

使用配置的显示语言进行聊天

默认情况下,Copilot Chat 现在最初使用您在 VS Code 中配置的显示语言进行响应。您可以通过配置 github.copilot.chat.localeOverride 来覆盖此自动行为。

减少欢迎消息的冗长程度

您现在可以控制当您首次开始对话时,Copilot Chat 是否使用冗长的欢迎消息问候您,方法是配置 github.copilot.chat.welcomeMessage。选项包括 first(默认)、alwaysnever

终端快速修复

当终端中运行失败的命令时,Copilot 现在将提供快速修复来解释发生了什么。

A sparkle icon shows up that offers to explain a command

可以通过当前终端提示符旁边的闪烁图标 (⌘. (Windows、Linux Ctrl+.)) 触发此操作。

终端命令建议

当终端聚焦时,Copilot 现在可以通过 ⌘I (Windows、Linux Ctrl+I) 键绑定提供 CLI 命令建议。这会调出预填充了 @workspace /terminal 的快速聊天

Ctrl/Cmd+I now opens up the Quick Chat

/terminal 斜杠命令经过优化,可以使用当前 shell 建议 shell 命令。建议的质量和 UX 将在下一个版本中得到更多改进。

改进了在终端中运行操作的显示

当代码块具有 shell 语言类型时,在终端中运行 操作现在显示在代码块的悬停时

The code block now shows run in terminal in the top level actions, not hidden in the overflow menu

内联聊天可以使用终端命令回复

内联聊天现在可以使用要在终端中运行的命令进行回复

Run in terminal from inline chat

Python

改进了在终端中运行行的功能

Python 扩展改进了在未选择要运行的代码时,将行发送到 Python REPL (Shift+Enter) 的行为。以前,当您将光标放在一行 Python 代码上并按下 Shift+Enter 时,Python 扩展会将确切的行内容发送到 REPL,即使它会失败,例如,由于是多行命令的一部分。

借助新的实验性 智能发送 功能,Python 扩展会将光标位置周围最小的可运行代码块发送到 REPL 执行。这确保只有完整且可执行的代码段被发送到 REPL。光标也会自动移动到下一个可执行行,以便在迭代执行多个代码块时提供流畅的体验。

要试用它,您可以添加以下 用户 设置:"python.experiments.optInto": ["pythonREPLSmartSend"]。虽然此功能目前处于实验阶段,但我们希望它在未来成为默认行为。如果您对如何进一步改进此功能有反馈或建议,请告诉我们!

主题:Catppuccin Macchiato(在 vscode.dev 上预览)

Python 代码检查扩展的改进

我们对我们支持的代码检查扩展进行了一些改进,以便为您的常用 Python 工具提供更可配置和灵活的体验。

PylintMypyFlake8 扩展现在提供设置,允许您为希望从代码检查中排除的文件指定 glob 模式。如果您正在处理包含许多子项目的大型代码库,并且希望从代码检查中排除某些文件夹,这将非常有用。这些设置是 "pylint.ignorePatterns""mypy-type-checker.ignorePatterns""flake8.ignorePatterns"

这些扩展还支持 cwd 设置,允许您为代码检查器指定工作目录。此设置已更新为支持变量 ${fileDirname},因此工作目录可以动态设置为您在编辑器中打开的文件的父文件夹。如果您正在处理单代码库,并且希望在打开来自不同子项目的文件时动态更新代码检查器工作目录,这将非常有用。这些设置是 "pylint.cwd""mypy-type-checker.cwd""flake8.cwd"

"mypy-type-checker.preferDaemon" 设置的默认值已更改(仅适用于 Mypy 扩展)。以前,它设置为 true,这意味着默认情况下将使用 Mypy 守护程序。在收到反馈后,我们将默认值更改为 false。如果您想知道哪个值最适合您,我们的建议是,如果您将 Mypy 报告范围设置为整个工作区 ("mypy-type-checker.reportingScope": "workspace"),出于性能原因,请使用 Mypy 守护程序。否则,如果报告范围设置为当前文件,我们建议您使用扩展附带的 Mypy 可执行文件。

已弃用的内置代码检查和格式化功能

鉴于在 VS Code 中对代码检查和格式化扩展所做的所有工作和改进,我们已弃用 Python 扩展中附带的内置代码检查和格式化功能。这包括所有代码检查和格式化命令以及设置(python.linting.*python.formatting.*)。如果您仍在继续使用这些已弃用的设置,我们建议您删除它们,并改用受支持的代码检查和格式化扩展。

如果您正在使用没有受支持扩展的代码检查器,请查看社区贡献的 Ruff 扩展Ruff 是一个用 Rust 编写的 Python 代码检查器,支持各种代码检查器,例如 pyflakes、pycodestyle、pydocstyle 等。最近添加了在 VS Code 中使用 Ruff 作为格式化程序的支持 ("[python]": { "editor.defaultFormatter": "charliermarsh.ruff" })。

您还可以为您喜爱的 Python 工具创建自己的代码检查器或格式化程序 VS Code 扩展。查看我们的 Python 工具扩展模板 以快速入门。

创建环境通知

虚拟环境是使用需要安装依赖项的 Python 项目的推荐方法。它们提供隔离和可重现性,并且在 Python 项目中非常流行。

因此,当您尝试运行或调试具有列出依赖项的 Python 文件或项目,但工作区中未选择虚拟环境时,Python 扩展现在会显示通知。此通知提供了一种通过 Python:创建环境 命令快速创建新虚拟环境的方法。

如果您的工作区中已经有虚拟环境,您可以选择它,也可以选择删除并重新创建它。

可以通过将 python.python.createEnvironment.trigger 设置为 off 来禁用此通知。

Notification stating that a virtual environment is not currently selected with an option to Create the environment or disable the notification

虚拟环境取消激活助手

几个月前,我们宣布了一项新的实验性功能,用于使用环境变量进行终端激活,通过在终端中自动激活选定的环境来增强您的开发工作流程,而无需显式激活命令。但是,由于没有显式激活脚本工作,因此当启用此实验时,deactivate 命令不再起作用。

Python 扩展现在将检测您何时尝试运行 deactivate 命令,并显示一个助手通知,以指导您如何在 shell 中添加脚本,以便在通过环境变量激活环境时,该命令将再次起作用。它还提供一个按钮来打开您的 shell 配置文件,以便您添加必要的脚本。

Notification stating that the deactivate command is not working and offering a button to open the shell profile file

您可以在 vscode-python wiki 上找到有关如何为您的 shell 添加必要脚本的完整文档。

如果您不在实验中并且想试用此功能,您可以添加以下 用户 设置:"python.experiments.optInto": ["pythonTerminalEnvVarActivation"]

测试输出的改进

当启用 pythonTestAdapter 实验时,我们对如何在 Python 扩展中查看和交互测试输出进行了重大改进,几个月前宣布。以前,来自测试发现和执行的输出不一致地分散在 Python 测试日志 输出通道和 测试结果 面板中,某些信息在两者中重复。为了整合体验,与测试执行相关的输出显示在 测试结果 面板中,测试发现显示在 Python 输出通道中。要了解更多信息,请阅读我们相关的 vscode-python wiki

如果您使用 Pytest 并在您的 settings.json 中设置 "python.testing.pytestArgs": ["--color=yes"],则此新方法还支持输出中的着色。着色仅适用于 测试结果 面板中的测试执行,不适用于发现或 Python 测试日志 面板中的输出。

Test execution output displayed in Test Results panel with colors, while test discovery output is displayed in the Python output channel

还有一个新的按钮 显示输出,用于在测试发现发生错误时,从测试资源管理器视图轻松打开测试日志。

"Show output" button to open the Test Logs in the Test Explorer view

Python 调试器扩展的平台特定版本

Python 调试器 扩展现在发布平台特定版本,以便每次更新时仅安装必要的平台特定文件。这减小了扩展的大小,并有助于缩短启动时间。

Tensorboard 扩展

Tensorboard 功能已从 Python 扩展移至独立的 Tensorboard 扩展。

如果您对此新扩展有任何问题或希望提供反馈,您可以在 Tensorboard 扩展 GitHub 存储库 中提交问题。

Jupyter

执行前置/依赖单元格

使用 Jupyter 扩展,您现在可以从 单元格运行 按钮旁边的下拉菜单中运行目标单元格的所有前置或依赖单元格。这仍然是一个预览功能,可以通过 jupyter.executionAnalysis.enabled 设置和 notebook.consolidatedRunButton 设置启用。

此功能目前由 Pylance 扩展提供支持,因此您需要安装最新版本的 Pylance 预览版才能使用此功能。

VS Code 语音

我们正在引入一个新的扩展,为 VS Code 带来语音支持!新的 VS Code 语音 扩展集成到 GitHub Copilot Chat 中,以启用用于聊天输入的语音转文本转录服务。

安装后,会出现一个麦克风图标,选择后,将开始根据您的语音转录结果在聊天输入中填充文本。转录在您的本地计算机上计算,不需要连接到互联网。

VS Code Speech activated by the microphone icon

GitHub Pull Requests and Issues

GitHub Pull Requests and Issues 扩展方面取得了更多进展,该扩展允许您处理、创建和管理 pull requests 和 issues。

  • 项目已显示,可以从 Pull Request 描述 webview 中添加。
  • 与 GitHub Copilot 集成,以从 PR 创建 视图生成 PR 标题和描述。
  • 扩展程序可以识别使用 GitHub CLI (gh pr checkout) 签出的 PR。

查看扩展程序的 0.76.0 版本的更新日志,以了解其他亮点。

预览功能

浮动编辑器窗口

我们继续探索如何将编辑器从工作台窗口中拉出到它们自己的窗口中,现在想邀请 VS Code Insiders 社区试用这个令人兴奋的新功能并提供反馈。

确保安装 VS Code Insiders,并在编辑器上运行新的 视图:将活动编辑器移动到新窗口 命令,以在浮动窗口中打开它们。

我们仍然需要解决许多问题并提供缺少的 功能,但我们乐观地认为我们可以在不久的将来在 Stable 版本中启用此功能。

感谢您的测试!

语言服务器的 WASM-WASI 支持

实验性的 wasm-wasi-core 扩展已添加对 WASM/WASI 中语言服务器的支持。

还有一个扩展展示了一个用 Rust 编写并编译为 WASM 的简单语言服务器,位于 vscode-wasm 仓库 中。该扩展依赖于由 Rust analyzer 团队 维护的 language server crate

扩展创作

改进的测试运行器

现在有了一个命令行运行器和 VS Code 扩展,可以更轻松地运行扩展的测试。使用新方法的扩展可以在 VS Code 的测试 UI 中运行。虽然需要进行一些迁移,但这通常只需要几分钟。请阅读 VS Code 测试扩展 文档以获取更多信息。

最终确定的 TestMessage.contextValue API

您可以为 TestMessage 提供一个 contextValue,以便在用户对这些消息执行操作时显示。此外,还提供了两个新的菜单贡献点:testing/message/contexttesting/message/content。前者显示在“测试结果”树视图中的消息上,后者显示在编辑器中的消息上方。例如,这可以用于提供一个操作来更新快照测试中的 fixture。

Failed test result with Update Snapshot action displayed

请在 issue #190277 中阅读更多关于 contextValue 的信息。

更新的 codicon

以下新图标已添加到我们的 codicon 库中

New codicons

  • copilot
  • git-fetch
  • mic
  • mic-filled
  • thumbsup-filled
  • thumbsdown-filled
  • coffee
  • game
  • snake
  • vr
  • chip
  • music
  • piano

新的主题颜色

  • textPreformat.background:预格式化文本段的背景颜色

每个名称的根文件夹图标

文件图标主题作者现在可以使用新的属性 rootFolderNamesrootFolderNamesExpanded 为根文件夹定义特定于名称的图标。您可以查看 文件图标主题指南 以获取更多信息。

建议的 API

每个里程碑都附带新的提议 API,扩展作者可以试用它们。与往常一样,我们希望收到您的反馈。以下是试用提议 API 的步骤

  1. 查找您想要试用的提议,并将其名称添加到 package.json#enabledApiProposals
  2. 使用最新的 @vscode/dts 并运行 npx @vscode/dts dev。它会将相应的 d.ts 文件下载到您的工作区。
  3. 您现在可以针对该提议进行编程。

您不能发布使用提议 API 的扩展。下一个版本中可能会有重大更改,我们绝不希望破坏现有的扩展。

支持通过问题报告器配置发送给扩展的数据

一个新的提议 API 允许扩展作者通过问题报告器发送其他数据。

export interface IssueUriRequestHandler {
  // Handle the request by the issue reporter for the Uri you want to direct the user to.
  handleIssueUrlRequest(): ProviderResult<Uri>;
}

export interface IssueDataProvider {
  // Provide the data to be used in the issue reporter.
  provideIssueData(token: CancellationToken): ProviderResult<string>;

  // Provide the template to be used in the description of issue reporter.
  provideIssueTemplate(token: CancellationToken): ProviderResult<string>;
}

export namespace env {
  export function registerIssueUriRequestHandler(
    handler: IssueUriRequestHandler
  ): Disposable;
  export function registerIssueDataProvider(provider: IssueDataProvider): Disposable;
}

您可以提供一个 URI 通过 handleIssueUrlRequest 将扩展问题外部提交到 GitHub,或者为 provideIssueDataprovideIssueTemplate 提供一个模板 string 和扩展数据 string,以便通过问题报告器将其他扩展数据发送到 GitHub。

请在 issue #196863 中阅读更多关于此提议的信息。

具有自定义排除规则的文件监视器

在这个里程碑中,我们添加了一个提议 API,用于创建可以完全控制排除规则的文件系统监视器

export interface FileSystemWatcherOptions {
  /**
   * An optional set of glob patterns to exclude from watching.
   * Glob patterns are always matched relative to the watched folder.
   */
  readonly excludes?: string[];
}

export function createFileSystemWatcher(
  pattern: RelativePattern,
  options?: FileSystemWatcherOptions
): FileSystemWatcher;

这个新的 API 使您的扩展可以完全控制文件监视器,无论它是递归监视器还是非递归监视器,也无论它是要监视工作区内部还是外部。用户或默认配置的文件监视排除规则将不适用,因此您可以确保只收到您订阅的事件。

工程

Windows 32 位支持结束

不再支持 Windows 32 位 VS Code。如果您仍在使用 32 位版本的 VS Code,则应更新到 64 位版本。

扩展和文档

Java 的 Gradle

通过改进的 Gradle for Java 扩展,在 VS Code 中进行 Java 开发变得更加容易。预发布版本由于采用了 Build Server Protocol (BSP),因此对构建 Gradle 项目具有更好的支持。与 VS Code 中使用的其他协议(例如 Language Server Protocol (LSP))类似,BSP 在开发环境和构建工具(如 Gradle)之间提供了抽象层。

要试用新的 Gradle 支持,请同时安装 Extension Pack for JavaGradle for Java 扩展的预发布版本。您可以在 Java 扩展团队的这篇最新 博客文章 中了解更多关于 Gradle 和 BSP 的信息。

Gradle for Java pre-release extension

FastAPI 教程

FastAPI 是一个现代且快速的 Web 框架,用于构建 Python API,并且由于其简洁性和性能而变得越来越受欢迎。

您现在可以通过我们新的 FastAPI 教程 学习如何充分利用 VS Code 和 Python 扩展来创建和调试 FastAPI 应用程序!

自定义布局用户指南

有一篇新的 自定义布局 文章描述了工作台和编辑器的布局自定义。您将在那里学习如何修改 VS Code 的主要 UI 元素,例如视图、面板和编辑器,以适应您首选的工作流程。

Customize Layout dropdown

主题包括

  • 主侧边栏和辅助侧边栏
  • 面板位置和对齐
  • 固定的编辑器标签页
  • 编辑器组布局
  • 以及更多

值得注意的修复

  • 194812workbench.settings.settingsSearchTocBehavior 设置为 hide 时,搜索时会显示 ToC
  • 195722 当出现网络问题时,设置编辑器为空白

感谢

最后但同样重要的是,衷心感谢 VS Code 的贡献者。

问题跟踪

对我们的问题跟踪的贡献

拉取请求

vscode 的贡献

vscode-js-debug 的贡献

language-server-protocol 的贡献