尝试以扩展 VS Code 中的代理模式!

2019 年 10 月 (版本 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 个未解决的错误。此外,我们关闭了 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) 来使用键盘滚动列表和树。

Zen 模式下更少的通知

在使用 Zen 模式时,除非通知是关于错误的信息,否则通知浮窗将不再分散您的注意力。您可以通过新的 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 加速

我们收到了一些用户的问题报告,这些问题似乎与 GPU 如何用于渲染 VS Code 的 UI 有关。这些用户在运行 VS Code 时使用附加的 --disable-gpu 命令行参数,体验会好得多。使用此参数运行将禁用 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

键盘定义预览悬停

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

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) 选择下一个匹配项时,如果一次性前进得太远,因为它只撤销上次光标状态更改。此外,我们现在添加了光标重做,它会重做之前撤销的光标状态更改。

差异编辑器改进

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

在使用差异编辑器时,当比较的文件只有前导或尾随空白差异,并且差异编辑器配置为忽略修剪空白时,会产生混淆。这会导致源代码管理显示文件已修改,而差异编辑器不显示任何差异。VS Code 现在在这种情况下会显示一个显示空白差异按钮,以帮助您快速显示空白中的差异。这可以通过差异编辑器顶部的显示/忽略尾随空白差异命令进行切换。

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

集成终端

默认支持组合键

新的设置 terminal.integrated.allowChords (默认 true) 允许属于组合键的快捷键跳过终端的评估,转而由 VS Code 处理 (绕过 terminal.integrated.commandsToSkipShell 允许列表)。

请注意,终端中的快捷键仍然存在相同的限制;在进行此评估时,将考虑优先级最高的组合键。

例如,如果一个扩展贡献了快捷键 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 命令,因为它是最终的快捷键,并且用户快捷键的优先级高于扩展贡献的快捷键。

快速滚动支持

终端现在支持 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: Untracked Changes 设置单独管理未跟踪文件。如果您希望在源代码管理视图中将未跟踪文件显示在一个单独的组中,请选择 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

复合调试配置的预启动任务

目前,每个调试配置都可以通过 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(`https://:${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 并访问 https://: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 的贡献

Microsoft Localization Community Platform (MLCP) 拥有超过 800 名 云+AI 本地化社区成员,其中约有 100 名活跃贡献者参与 Visual Studio Code 的本地化工作。我们感谢您的贡献,无论是提供新翻译、对翻译进行投票,还是提出流程改进建议。

以下是贡献者的快照。有关项目(包括贡献者名单)的详细信息,请访问项目网站:https://aka.ms/vscodeloc

  • 波斯尼亚语 (拉丁语, 波斯尼亚和黑塞哥维那): Adnan Rizvan。
  • 捷克语: Michal Franc, Jan Hruby。
  • 丹麦语: Lasse Stilvang, Frederik bruun。
  • 荷兰语: Laurens Kwanten, Lemuel Gomez, Niels ter Haar。
  • 英语 (英国): Graham Smith, Martin Littlecott, Alexander McLean。
  • 法语: Antoine Griffard, Rodolphe NOEL, Bruno Lewin, Maxime Bouveron, DJ Dakta。
  • 德语: Simon Haag, Adrian Bähr, Julian Tomsik。
  • 希伯来语:Ariel Bachar。
  • 印地语: Kishan K, Rohit Raj。
  • 简体中文: 顾亦知, paul cheung, 项斌, 谭顺, 一斤瓜子, Charles Lee, 曾鹏, Charles Dong, 姜楠, yungkei fan, ztluo, David Huang, 普鲁文, 刘真祺, zhichen zhao, Phil Wang。
  • 繁体中文: Jimmy Hu, 船長, E L, Winnie Lin。
  • 印尼语: Jakka Prihatna, Eriawan Kusumawardhono, Nicko Satria Utama, Christian Elbrianno, Septian Adi。
  • 意大利语:Alessandro Alpi, Luigi Bruno。
  • 日语: Yuta Ojima, Michihito Kumamoto, Aya Tokura, TENMYO Masakazu, Takayuki Fuwa, Koichi Makino。
  • 韩语: Hongju, Sungjin Jeong。
  • 波兰语: Andrzej Poblocki, Kacper Łakomski。
  • 葡萄牙语 (巴西): Marcelo Fernandes, Marcondes Alexandre, Roberto Fonseca, Alessandro Fragnani, Arthur Renato, Jota Freitas Jr, Caio Felippe Curitiba Marcellos。
  • 葡萄牙语 (葡萄牙): Pedro Filipe。
  • 罗马尼亚语: Andrei Tudor, Bogdan Mateescu, Stefan Gabos。
  • 俄语: Kazakov Lex, Vadim Svitkin, TJS。
  • 西班牙语: Aleks M, José María Aguilar, Jerónimo Milea, Ricardo Estrada Rdez, Abdón Rodríguez P。
  • 瑞典语: Sven Axelsson, Patric Högman。
  • 泰米尔语: Pradeep Krishnan。
  • 土耳其语: Ahmetcan Aksu, Cansu Gürler, Mehmet Yönügül, Umut Can Alparslan。
  • 乌克兰语: Arthur Murauskas, Oleh Hatsenko, Oleksandr Krasnokutskyi, Did Kokos。
  • 越南语: huy dk, Việt Anh Nguyễn, Ha Xuan Anh Nguyen, Quoc Han Dinh。