在 VS Code 中试试

十月 2019 (版本 1.40)

更新 1.40.1:此更新解决了这些问题

更新 1.40.2:此更新解决了这些问题

下载:Windows:x64 | Mac:Intel | Linux:deb rpm tarball snap


欢迎使用 Visual Studio Code 2019 年 10 月版。正如在10 月迭代计划中宣布的,我们专注于按照问题整理指南中记录的那样清理 GitHub 问题和拉取请求。在我们的所有 VS Code 仓库中,我们关闭(或分类或修复)了 4622 个问题,这比我们在 2018 年 9 月的上一次清理迭代中关闭的 3918 个问题还要多。在关闭问题的同时,您创建了 2195 个新问题。这使得问题净减少了 2427 个。主要的vscode 仓库现在有 2162 个未解决的功能请求和 725 个未解决的 Bug。此外,我们还关闭了 287 个拉取请求。作为这项工作的一部分,我们还调整了流程并更新了问题分类工作流

与去年一样,我们使用了 Benjamin Lannon 提供的实时跟踪器来跟踪进度。

Burn down chart of VS Code issues

在这个清理里程碑中,我们还解决了一些功能请求和社区拉取请求。继续阅读以了解新功能和设置。

工作台

活动栏指示器

我们为活动栏中的活动项引入了一个新指示器,使其更加突出并提高可读性。我们还调整了非活动前景色,使其与活动元素形成更强的对比。

Active Activity Bar indicator

您可以通过新的颜色令牌 activityBar.activeBorder 控制活动指示器。我们还为活动元素引入了一个可选的背景颜色 activityBar.activeBackground,配置后看起来如下:

Active Activity Bar indicator custom background

可主题化的窗口边框

我们引入了两个新的主题颜色 window.activeBorderwindow.inactiveBorder,用于在 VS Code 窗口周围提供边框。window.activeBorder 应用于活动(焦点)窗口,而 window.inactiveBorder 应用于非活动(非焦点)窗口。这些新颜色不继承任何颜色,因此必须由主题或 workbench.colorCustomizations 设置提供。如果只指定一种颜色,则该颜色的边框将应用于活动窗口和非活动窗口。

Animated image showing the use of the new window border colors

列表和树的键盘滚动

您现在可以按下 ⌘↑ (Windows, Linux Ctrl+Up)⌘↓ (Windows, Linux Ctrl+Down) 来使用键盘滚动列表和树。

禅模式下通知减少

在使用禅模式时,通知 Toast 不会再打扰您,除非它们通知错误。您可以通过新的 zenMode.silentNotifications 设置来控制此行为。您始终可以通过单击状态栏右下角的通知图标来访问所有通知。

大纲和面包屑的类型过滤器

有新的设置可以配置在大纲视图和面包屑导航中显示哪些符号。这些设置名为 outline.show{symbol type}breadcrumbs.show{symbol type}。例如,outline.showVariablesoutline.showFunctions 等。

Filtered Outline view

上面的屏幕截图显示了配置为不显示局部变量的大纲视图,您可以看到变量 hidden 未显示。

请注意,为符号分配类型取决于语言扩展。您可以在大纲视图中将鼠标悬停在符号标签上,查看正在使用的符号类型(显示在括号中)。

控制分割编辑器时的尺寸行为

新设置 workbench.editor.splitSizing 控制分割编辑器时的布局。默认情况下,尺寸将在所有编辑器之间均匀分布,如下所示:

splitSizing with distribute value

将此设置更改为 split,当前编辑器将被分割成两半,并且不会影响其他编辑器的大小。

splitSizing with split value

禁用 GPU 加速

我们收到了一些用户的问题报告,这些问题似乎与 VS Code UI 的 GPU 渲染方式有关。这些用户在使用附加的 --disable-gpu 命令行参数运行 VS Code 时,体验要好得多。使用此参数运行时,将禁用 GPU 硬件加速并回退到软件渲染器。

为了方便起见,您可以将此标志添加为设置,这样就不必每次都在命令行上传递它。

添加此标志的步骤:

  • 打开命令面板 (⇧⌘P (Windows, Linux Ctrl+Shift+P))。
  • 运行首选项:配置运行时参数命令。
  • 此命令将打开一个 argv.json 文件来配置运行时参数。您可能已经看到了一些默认参数。
  • 添加 "disable-hardware-acceleration": true
  • 重启 VS Code。

注意:除非您遇到问题,否则请勿使用此设置!

编辑器

按语言设置 files.eol

现在可以按语言设置 files.eol。例如,您可以定义所有 'mylanguage' 语言标识符的文件都使用 \n 作为所有新文件的默认行尾序列。

"[mylanguage]": {
   "files.eol": "\n"
}

行尾序列用于新文件。对于现有文件,始终保留当前的行尾序列。要更改现有文件的行尾序列,请使用更改行尾序列命令。

使用 files.eol 语言设置,'shellscript' 的默认行尾序列现在定义为 \n

小地图缩放和改进的字体渲染

新设置 editor.minimap.scale 将小地图的大小配置为几个常量值之一,这对于高 DPI 或超宽显示器特别有用。此外,小地图字体的渲染现在更平滑、更清晰。

Animated image showing the ability to resize the minimap

通过键盘进行定义预览 Hover

有一个新的命令显示定义预览 Hover,可以更好地访问定义预览悬停小部件,该小部件可以通过鼠标悬停在符号上并按下取决于平台和配置的修饰键来触发。以前,只提供了显示 Hover命令,这相当于将鼠标光标悬停在符号上。现在,通过显示定义预览 Hover,可以通过键盘显示详细的悬停信息。

Animated image showing the use of the new Show Definition Preview Hover command

括号匹配的改进

以前,VS Code 只会在光标紧邻括号字符时高亮匹配的括号。现在,如果存在包含括号,VS Code 将始终高亮它们。

Image showing highlighted enclosing brackets

我们还调整了转到括号选择到括号操作,使其使用包含括号。

复制选区

我们添加了一个名为复制选区的新操作。执行时,当前选区将被复制,并且结果将被选中。如果没有选区,则将复制当前行,所有这些操作都不会写入系统剪贴板。

字体特性设置

现在可以更精细地控制字体特性。配置 "editor.fontLigatures": true 时,VS Code 会打开 ligacalt。但有些字体有更多设置,例如 Fira Code 使用的样式集。

现在允许明确控制这些字体特性,例如:

"editor.fontFamily": "Fira Code",
"editor.fontLigatures": true,
"[javascript]": {
  "editor.fontLigatures": "'ss02', 'ss19'",
},

上述设置将编辑器配置为使用 Fira Code 字体家族,为所有语言打开字体连字,并在 JavaScript 文件中启用“横线”('ss02')和“点零”('ss19')字体特性设置。这些设置使得在 JavaScript 中 >= 连字渲染为带有横线,而 0 渲染为带有内点。

Image showing font feature settings in the editor

改进 Unicode 组合字符的处理

我们改进了对Unicode 组合字符的处理,并将此类序列视为原子字符(在光标移动、编辑操作或块光标渲染中)。这最好使用块光标样式和前后动画来演示。

之前
Animation showing cursor movement before

之后
Animation showing cursor movement after

在相关的更改中,状态栏现在在 Col 部分显示 Unicode 码点计数。

光标重做

软撤消命令已重命名为光标撤消。此操作很有用,例如当使用 ⌘D (Windows, Linux Ctrl+D) 选择下一个匹配项但多跳了一次时,因为它只撤消上一次光标状态更改。此外,我们现在添加了光标重做,它可以重做之前撤消的光标状态更改。

Diff 编辑器改进

内置的 diff 计算曾有一个硬编码的 5 秒超时,之后会放弃并返回非最小 diff。您现在可以使用 "diffEditor.maxComputationTime" 配置此超时,将超时设置为 0 将始终计算最小 diff,无论需要多久。此外,当计算时间超过一秒时,diff 编辑器现在会渲染一个进度条。

在使用 diff 编辑器时,一个令人困惑的地方是比较仅有前导或尾随空格差异的文件,并且 diff 编辑器被配置为忽略修剪的空格。这将导致源代码管理显示文件已修改,而 diff 编辑器不显示任何 diff。VS Code 现在检测到这种情况时会显示一个显示空格差异按钮,以帮助您快速显示空格中的 diff。这可以通过 diff 编辑器顶部的显示/忽略修剪尾随空格差异命令进行切换。

Animation for button that shows when comparing two files that contain only whitespace diffs but the diff editor is configured to ignore trim whitespace

集成终端

Chord 键绑定现在默认支持

新设置 terminal.integrated.allowChords(默认为 true)允许作为 Chord 键绑定一部分的键绑定跳过终端进行评估,而是由 VS Code 处理(绕过 terminal.integrated.commandsToSkipShell 允许列表)。

请注意,终端中关于键绑定的相同限制仍然适用;在进行此评估时,将考虑优先级最高的 Chord 键绑定。

例如,如果一个扩展贡献了键绑定 Ctrl+M A,并且您在 keybindings.json 文件中定义了以下内容:

[
  { "key": "ctrl+m a", "command": "workbench.action.terminal.toggleTerminal" },
  { "key": "ctrl+m a", "command": "workbench.action.focusLastEditorGroup" }
]

Ctrl+M A 将导致 workbench.action.focusLastEditorGroup 命令执行,因为它是在 Chord 中的最后一个键绑定,并且用户键绑定优先级高于扩展贡献的键绑定。

快速滚动支持

终端现在支持使用 Alt 加鼠标滚轮,根据 editor.fastScrollSensitivity 设置中定义的多乘数来加快滚动速度。

右键单击行为的新“粘贴”选项

rightClickBehavior 设置添加了一个新选项,用于在终端中始终通过右键单击进行粘贴。

"terminal.integrated.rightClickBehavior": "paste"

双击选择单词使用更多分隔符

现在在终端中双击选择单词时,字符 ,:; 也被视为单词分隔符。

如果终端的初始工作目录设置为符号链接,则该符号链接现在将在终端中保留。

命令导航现在从滚动位置开始工作

命令导航可以在终端中运行的命令之间进行导航或选择。现在它会考虑终端的滚动位置,因此您可以滚动、查找上一个命令,并且终端会从终端视口向上滚动(以前是从底部滚动)。

Command navigation jumps to nearest command after scrolling

命令导航默认仅在 macOS 上绑定,键绑定为 Cmd+Up/Down,命令选择键绑定为 Cmd+Shift+Up/Down

如果您想在 Windows 或 Linux 上使用此功能,这里有一些示例键绑定:

{
  // Terminal command tracking on Windows and Linux
  { "key": "ctrl+up",          "command": "workbench.action.terminal.scrollToPreviousCommand", "when": "terminalFocus" },
  { "key": "ctrl+down",        "command": "workbench.action.terminal.scrollToNextCommand", "when": "terminalFocus" },
  { "key": "ctrl+shift+up",    "command": "workbench.action.terminal.selectToPreviousCommand", "when": "terminalFocus" },
  { "key": "ctrl+shift+down",  "command": "workbench.action.terminal.selectToNextCommand", "when": "terminalFocus" },
}

任务

任务快速选择列表

如果您只定义了一个任务,任务:配置任务命令现在总是跳过任务的快速选择列表。要将此行为扩展到任务:运行任务和其他任务快速选择,您可以将 task.quickOpen.skip 设置为 true

新设置 task.quickOpen.history 控制在任务快速选择中显示多少个任务作为最近使用的任务。将 task.quickOpen.history 设置为 0 可禁用任务快速选择的最近任务部分。

具有 detail 属性的任务现在将在某些任务列表中显示该详细信息。您可以通过将 task.quickOpen.detail 设置为 false 来关闭任务快速选择中的详细信息。

运行文件夹的 NPM 脚本选项

当设置 npm.enableRunFromFolder 启用时,选中文件夹后,文件资源管理器的上下文菜单会显示命令在文件夹中运行 NPM 脚本...。该命令会显示此文件夹中包含的 NPM 脚本的快速选择列表,您可以选择要作为任务执行的脚本。

慢任务提供者警告

当任务提供者运行缓慢时,我们现在会显示警告,并提供避免减速的建议。可以针对单个任务类型禁用警告,也可以通过将 task.slowProviderWarning 设置为 false 来禁用所有任务的警告。

Slow task provider warning

禁用任务自动检测

如果您关心的所有任务都定义在 tasks.json 文件中,那么您可能希望禁用所有扩展任务提供者,以提高运行任务时的性能。虽然单个扩展提供禁用其任务提供者的设置是良好的实践,但您现在可以通过将 task.autoDetect 设置为 off 来禁用所有任务提供者。

问题匹配器提示

过去,任何没有问题匹配器的任务都需要在 tasks.json 中设置一个空的问题匹配器来跳过问题匹配器提示。现在,您可以使用 task.problemMatchers.neverPrompt 为所有任务或特定任务类型禁用问题匹配器提示。问题匹配器提示中还有一个新选项可以禁用提示。

Problem matcher prompt dropdown

源代码管理

活动编辑器更改时高亮文件

源代码管理视图现在将自动在其树/列表视图中高亮活动编辑器文件。

SCM view highlighting the active file

Git:改进的未跟踪文件管理

您现在可以使用Git:未跟踪更改设置单独管理未跟踪文件。如果您想在源代码管理视图的单独组中看到未跟踪文件,请选择 separate 选项。如果您想永远不看到它们,请选择 hidden。默认提交操作将根据此设置进行调整,并且在使用 mixed 设置值时仅包含未跟踪更改。

Git untracked files

Git:合并提交时的自动提交消息

每当 VS Code 检测到您正在进行 git 合并提交时,它将自动使用 Git 的默认提交消息填充提交输入框。

Git merge commit message

Git:在文件资源管理器中显示

现在在源代码管理视图的 Git 仓库中有一个上下文菜单操作在文件资源管理器中显示,用于在文件资源管理器中显示文件。

Git Reveal in Explorer

Git:克隆进度

克隆操作现在支持在右下角通知中显示进度。

Git clone progress

调试

断点可以在概览标尺中显示

为了更轻松地处理大型文件中的断点,您现在可以通过启用新设置 debug.showBreakpointsInOverviewRuler 在编辑器的概览标尺中显示断点。

breakpoints in overview ruler

复合调试配置的 PreLaunch 任务

目前,每个调试配置都可以通过 preLaunchTask 属性指定在调试会话开始前运行的任务。这在调试单个程序时运行良好,但在使用涉及多个程序的复合配置时会变得很麻烦。

在此里程碑中,我们为每个复合调试配置添加了对 preLaunchTask 的支持。通过此添加,一个任务可以在单个调试会话开始之前构建所有调试目标。如果发生构建错误,则不会启动任何会话。

prelaunch task for compound debug configurations

语言

CSS 媒体查询符号

在 CSS/SCSS/Less 文件中,媒体查询符号现在显示在大纲视图、面包屑路径和转到文件中符号列表中。

CSS media query symbols

typescript.tsserver.maxTsServerMemory

如果您正在处理包含数千个文件的大型 TypeScript 项目,新的 typescript.tsserver.maxTsServerMemory 设置允许您增加为 IntelliSense 提供支持的 TypeScript 服务器的最大内存使用量。

扩展开发

vscode.env.uiKind

添加了一个新的 API vscode.env.uiKind,以便扩展可以知道它正在哪种 UI 中运行。为了支持在浏览器中运行 VS Code,可能的值是 UIKind.WebUIKind.Desktop

调用层次结构提供者 API

我们已最终确定调用层次结构提供者 API:CallHierarchyProvider。它支持查看调用层次结构功能,该功能查找函数、方法等的调用者和被调用者。

任务 CustomExecution

CustomExecution 任务类型 API 已最终确定。如果 Shell 或进程任务不适合您的任务,您可以使用 CustomExecution 任务在您的扩展中执行回调。在任务提供者扩展指南中了解更多信息。

调试 API:“startDebugging”请求的“consoleMode”选项

在上一个里程碑中,我们引入了一个新的提议 API,用于控制调试会话的层次结构是共享单个调试控制台还是使用单独的控制台。此 API 现已正式发布,因此您可以在 Marketplace 上发布的扩展中使用它。

图标颜色令牌

我们很高兴最终为图标引入新的颜色令牌。我们正在慢慢为某些区域添加这些令牌,下面是第一批。

符号

这些图标出现在大纲视图、面包屑导航和建议小部件中。

  • symbolIcon.arrayForeground
  • symbolIcon.booleanForeground
  • symbolIcon.classForeground
  • symbolIcon.colorForeground
  • symbolIcon.constructorForeground
  • symbolIcon.constantForeground
  • symbolIcon.enumeratorForeground
  • symbolIcon.enumeratorMemberForeground
  • symbolIcon.eventForeground
  • symbolIcon.fieldForeground
  • symbolIcon.fileForeground
  • symbolIcon.folderForeground
  • symbolIcon.functionForeground
  • symbolIcon.interfaceForeground
  • symbolIcon.keyForeground
  • symbolIcon.keywordForeground
  • symbolIcon.methodForeground
  • symbolIcon.moduleForeground
  • symbolIcon.namespaceForeground
  • symbolIcon.nullForeground
  • symbolIcon.numberForeground
  • symbolIcon.objectForeground
  • symbolIcon.operatorForeground
  • symbolIcon.packageForeground
  • symbolIcon.propertyForeground
  • symbolIcon.referenceForeground
  • symbolIcon.snippetForeground
  • symbolIcon.stringForeground
  • symbolIcon.structForeground
  • symbolIcon.textForeground
  • symbolIcon.typeParameterForeground
  • symbolIcon.unitForeground
  • symbolIcon.variableForeground

Symbol icon colors

问题和通知

我们已将问题和通知图标的默认颜色设置为继承自编辑器前景颜色,因此如果更改这些颜色,它们将继承到其他区域。

Problem icon colors

您还可以明确设置问题面板和通知的图标颜色:

  • problemsErrorIcon.foreground
  • problemsWarningIcon.foreground
  • problemsInfoIcon.foreground
  • notificationsErrorIcon.foreground
  • notificationsInfoIcon.foreground
  • notificationsWarningIcon.foreground

灯泡

灯泡图标也可以主题化。

  • editorLightBulb.foreground
  • editorLightBulbAutoFix.foreground

Lightbulb icon colors

vscode.env.asExternalUri

vscode.env.asExternalUri API 允许扩展将一个外部 URI(例如 http:https: URI)从扩展运行的位置解析为客户端机器上同一资源的 URI。这是 vscode.env.openExternal API 的配套,不同之处在于它不使用外部程序打开解析后的 URI,而是将结果返回给扩展。

import * as vscode from 'vscode';
import * as http from 'http';

const PORT = 3000;

export function activate(context: vscode.ExtensionContext) {
  startLocalServer(PORT);

  context.subscriptions.push(
    vscode.commands.registerCommand('example.command', async () => {
      const resolved = vscode.env.asExternalUri(
        vscode.Uri.parse(`http://localhost:${PORT}`)
      );
      vscode.window.showInformationMessage(
        `Resolved to: ${resolved} on client and copied to clipboard`
      );
      vscode.env.clipboard.writeText(resolved.toString());
    })
  );
}

function startLocalServer(port: number) {
  const server = http.createServer((req, res) => {
    res.end('Hello world!');
  });
  server.on('clientError', (err, socket) => {
    socket.end('HTTP/1.1 400 Bad Request\r\n\r\n');
  });
  server.listen(port);
  vscode.window.showInformationMessage(`Started local server on port: ${port}`);
}

对于 http:https: URI,如果扩展在客户端机器上运行,则 asExternalUri 不执行任何操作。但是,如果扩展正在远程运行,vscode.env.asExternalUri 会自动建立从本地机器到远程 target 的端口转发隧道,并返回隧道的本地 URI。

如果使用 vscode.env.uriScheme URI 调用 asExternalUri,则它会返回一个 URI,该 URI 在浏览器中打开(例如通过 openExternal)时将触发注册的 URI 处理程序。

移除实验性 Custom Data 设置和贡献点

[html/css].experimental.customData 设置和 contributes.[html/css].experimental.customData 贡献点在 1.38 中已弃用,现在已移除。您可以改用稳定的 Custom Data 设置和贡献点。要了解有关 Custom Data 格式的更多信息,请参阅 microsoft/vscode-custom-data 仓库。

extensionKind 可以是数组

package.json 中,extensionKind 属性可以具有值 "ui""workspace",以指示扩展在远程情况下应该在哪里运行。在此版本中,extensionKind 现在可以是一个数组。例如,["ui", "workspace"] 将表示扩展可以在 "ui""workspace" 两侧运行,如果在 "ui" 侧安装,则优先在该侧运行。

提议的扩展 API

每个里程碑都会带来新的提议 API,扩展作者可以试用。一如既往,我们非常希望收到您的反馈。要试用提议的 API,您需要执行以下操作:

  • 您必须使用 Insiders 版本,因为提议的 API 会频繁更改。
  • 您的扩展的 package.json 文件中必须有这一行:"enableProposedApi": true
  • 将最新版本的 vscode.proposed.d.ts 文件复制到您项目的源代码位置。

请注意,您不能发布使用提议 API 的扩展。在下一个版本中可能存在破坏性更改,我们绝不希望破坏现有扩展。

支持 IntelliSense 替换模式

我们正在开发一项功能,允许用户决定建议是应该替换现有文本还是仅插入。例如,在 con|st 中接受 console 可能会得到 console(替换)或 consolest(插入)。这两种模式都有其优点,最终取决于当前上下文和用户偏好。为了使此功能发挥最佳效果,我们需要扩展告诉我们该怎么做。因此,我们提议为 CompletionItem#range 属性添加一个新类型,将其更改为如下所示:

interface CompletionItem {
  range?: Range | { insert: Range; replace: Range };
}

范围仍然是可选的或简单范围,但它也可以是两个范围:一个用于插入,一个用于替换。有关更多详细信息,请参阅问题 #10266

任务详情

Task 上有一个新属性,任务提供者可以使用该属性在 UI 中显示任务时为其添加 detail。您也可以在 tasks.json 中使用 detail 属性。内置的 npm 扩展使用任务详情来显示将运行哪个 npm 脚本。

tasks with detail

支持将 WebviewPanelOptions 传递给自定义编辑器

本次迭代中,我们继续了关于自定义编辑器 API 提议的工作。现在,提议的 registerWebviewEditorProvider 函数接受一组 options,允许您在自定义编辑器 webview 中启用retainContextWhenHidden 和其他功能。

export function registerWebviewEditorProvider(
  viewType: string,
  provider: WebviewEditorProvider,
  options?: WebviewPanelOptions
): Disposable;

工程

在浏览器中测试运行 VS Code

现在有一个最小配置,VS Code 可以在浏览器中运行,可用于开发和测试。浏览器实例仍然缺少一些功能,并且正在积极开发中。

在您本地克隆的 vscode 仓库中,从命令行执行 yarn web,并访问 http://localhost:8080/。有关克隆和构建 vscode 仓库的更多详细信息,请参阅设置说明

VS Code running in a browser

注意:请勿将此设置用于任何严肃的开发。其目的是让社区贡献更改回 VS Code,以改善浏览器中的整体体验。

使用 TypeScript 3.7 构建 VS Code

VS Code 现在使用 TypeScript 3.7 构建。这是一个令人兴奋的更新,因为它允许我们在代码库中使用可选链 (?.)(同时带来许多其他改进)。

您今天就可以通过安装JavaScript and TypeScript Nightly 扩展在 VS Code 中开始使用 TypeScript 3.7 功能。

Electron 6.0 更新

在此里程碑中,我们完成了将 Electron 6 打包到 VS Code 中的探索,这是此 Electron 版本首次随稳定版一起发布。这是一个主要的 Electron 版本,附带 Chromium 76.0.3809.146 和 Node.js 12.4.0(与我们当前使用 Chromium 69 和 Node.js 10.11.0 的版本相比,这是一个重大飞跃)。

我们已开始探索更新到 Electron 7,希望很快将其推送到 Insiders 版本。

显著修复

  • 78634:调整大小后终端内容丢失 (powershell/conpty)
  • 25854:无法拖动 Markdown 预览以启动新编辑器组
  • 81824:Webview 编辑器未出现在“从历史记录打开上一个编辑器”命令中

致谢

最后但同样重要的是,衷心感谢以下帮助改进 VS Code 的贡献者:

对问题跟踪的贡献

如果您想帮助我们管理传入的问题,请参阅我们的社区问题跟踪页面。

vscode 的贡献

language-server-protocol 的贡献

vscode-eslint 的贡献

vscode-json-languageservice 的贡献

vscode-css-languageservice 的贡献

node-jsonc-parser 的贡献

debug-adapter-protocol 的贡献

vscode-vsce 的贡献

inno-updater 的贡献

localization 的贡献

有超过 800 名 Cloud + AI Localization 社区成员正在使用 Microsoft Localization Community Platform (MLCP),其中有大约 100 名活跃贡献者对 Visual Studio Code 做出贡献。我们感谢您的贡献,无论是提供新的翻译、对翻译进行投票,还是提出流程改进建议。

这里是贡献者的快照。有关项目的详细信息,包括贡献者姓名列表,请访问项目网站:https://aka.ms/vscodeloc

  • Bosnian (Latin, Bosnia and Herzegovina): Adnan Rizvan。
  • Czech: Michal Franc, Jan Hruby。
  • Danish: Lasse Stilvang, Frederik bruun。
  • Dutch: Laurens Kwanten, Lemuel Gomez, Niels ter Haar。
  • English (United Kingdom): Graham Smith, Martin Littlecott, Alexander McLean。
  • French: Antoine Griffard, Rodolphe NOEL, Bruno Lewin, Maxime Bouveron, DJ Dakta。
  • German: Simon Haag, Adrian Bähr, Julian Tomsik。
  • Hebrew: Ariel Bachar。
  • Hindi: Kishan K, Rohit Raj。
  • Chinese Simplified: Yizhi Gu, paul cheung, 斌 项, 顺 谭, 一斤瓜子, Charles Lee, Peng Zeng, Charles Dong, 楠 姜, yungkei fan, ztluo, David Huang, 普鲁文, Zhen-Qi Liu, zhichen zhao, Phil Wang。
  • Chinese Traditional: Jimmy Hu, 船長, E L, Winnie Lin。
  • Indonesian: Jakka Prihatna, Eriawan Kusumawardhono, Nicko Satria Utama, Christian Elbrianno, Septian Adi。
  • Italian: Alessandro Alpi, Luigi Bruno。
  • Japanese: Yuta Ojima, Michihito Kumamoto, Aya Tokura, TENMYO Masakazu, Takayuki Fuwa, Koichi Makino。
  • Korean: Hongju, Sungjin Jeong。
  • Polish: Andrzej Poblocki, Kacper Łakomski。
  • Portuguese (Brazil): Marcelo Fernandes, Marcondes Alexandre, Roberto Fonseca, Alessandro Fragnani, Arthur Renato, Jota Freitas Jr, Caio Felippe Curitiba Marcellos。
  • Portuguese(Portugal): Pedro Filipe。
  • Romanian: Andrei Tudor, Bogdan Mateescu, Stefan Gabos。
  • Russian: Kazakov Lex, Vadim Svitkin, TJS。
  • Spanish: Aleks M, José María Aguilar, Jerónimo Milea, Ricardo Estrada Rdez, Abdón Rodríguez P..
  • Swedish: Sven Axelsson, Patric Högman。
  • Tamil: Pradeep Krishnan。
  • Turkish: Ahmetcan Aksu, Cansu Gürler, Mehmet Yönügül, Umut Can Alparslan。
  • Ukrainian: Arthur Murauskas, Oleh Hatsenko, Oleksandr Krasnokutskyi, Did Kokos。
  • Vietnamese: huy dk, Việt Anh Nguyễn, Ha Xuan Anh Nguyen, Quoc Han Dinh。