2019年9月(版本1.39)
更新 1.39.1: 此次更新解决了这些问题,包括修复了一个安全漏洞。
更新 1.39.2: 本次更新解决了这些问题。
下载:Windows: x64 | Mac: Intel | Linux: deb rpm tarball snap
欢迎来到2019年9月发布的Visual Studio Code。此版本中有许多更新,我们希望您会喜欢,一些关键亮点包括:
- 在迷你地图中显示的文本选择 - 在迷你地图概览中查看选择区域。
- 切换区域折叠键盘快捷键 - 使用切换折叠快速展开和折叠区域。
- Source Control tree view - 在列表或新的树视图中显示待处理的更改。
- 在自定义工作目录中打开终端 - 为特定文件夹添加快捷键。
- HTML ARIA 属性参考链接 - 直接从 IntelliSense 链接到 ARIA 文档。
- CSS 属性补全包含分号 - 在输入 CSS 属性时自动添加分号。
- CSS 颜色变量预览 - 颜色变量补全显示颜色样本。
- 改进的列断点用户界面 - 直接在源代码中查看可能的内联断点。
- Inline debug actions in CALL STACK view - 在悬停时保持上下文调试操作。
- 远程资源管理器更新 - 资源管理器现在显示WSL发行版和仓库容器。
如果您想在线阅读这些发布说明,请访问更新在code.visualstudio.com上。
内部人员:想要尽快看到新功能吗?您可以下载每晚的内部人员版本,并在更新可用时立即尝试最新更新。要获取最新的Visual Studio Code新闻、更新和内容,请在Twitter上关注我们@code!
工作台
更新的源代码控制视图
源代码控制视图已更新为使用最新的树形小部件。您现在可以通过源代码控制标题栏上的切换视图模式按钮在列表视图和树形视图之间切换。

您可以使用scm.defaultViewMode设置更改默认视图,该设置接受list或tree值。
您现在还可以通过在视图中开始输入,自动享受更新后的树形小部件的键盘导航和过滤功能。

在树形视图模式下,显示文件夹时,Git扩展现在为文件夹提供了命令,例如暂存更改,这将应用于文件夹内的所有文件。
改进的可信域名设置
我们简化了1.38版本中引入的出站链接保护功能的可信域管理。
您现在可以使用命令管理受信任的域来轻松添加、删除或修改受信任的域,作为一个JSON文本文件。

可选择的完成详情
现在可以选择自动完成详细信息进行复制和粘贴。

Windows 上的日文用户界面字体已更新
在Windows上,我们已经将日文用户界面的字体从Meiryo切换为Yu Gothic UI和Meiryo UI。
UI 字体通过使用较窄的日语假名字符来节省水平空间。您可以通过安装 日语语言包 并使用 配置显示语言 命令将显示语言标识符设置为 ja 来使用日语 UI。
在下图中,您可以看到较窄的UI字体在Insiders(绿色图标)菜单栏中的外观。

在建议和悬停中改进的等宽字体显示
之前,建议和悬停小部件中的内联段没有指定font-family。在Windows / macOS上,这些段是用Chrome的默认选择font-family: monospace来渲染的。
在此次迭代中,我们将它们与整个VS Code用户界面中使用的无衬线系统字体进行了对齐。
- Windows:
Courier New->Consolas(与Segoe UI对齐) - macOS:
Courier->SF Mono,Monaco,Menlo(与SF Text和Helvetica Neue对齐) - Linux:无变化。内联代码段仍然以
Liberation Mono渲染,这是Chrome在Linux上对font-family: monospace的默认设置。
下面你可以看到SF Mono为内联代码块提供了更一致的外观。

设置编辑器中uniqueItems的验证
字符串数组设置的验证,这是在1.38版本中引入的,现在支持uniqueItems。
如果使用 "uniqueItems": true,设置编辑器中的重复条目将显示警告。
扩展README中的代码块高亮
扩展README中的代码块,现在在VS Code的扩展视图详细信息窗格中显示时会被高亮显示:

高亮显示使用当前的颜色主题。
编辑器
切换折叠
您现在可以使用切换折叠 (⌘K ⌘L (Windows, Linux Ctrl+K Ctrl+L)) 命令来展开和折叠一个折叠区域。
迷你地图编辑器选择装饰
编辑器选择现在在小地图中高亮显示:

你可以通过修改minimap.selectionHighlight主题颜色来更改这些装饰的颜色。
小地图的触摸事件
现在可以使用触摸拖动小地图滑块。
多光标粘贴的新选项
过去,当从剪贴板粘贴多行文本时,VS Code 会检查剪贴板文本的行数是否与光标数量匹配,如果匹配,它会将每一行“分发”或“展开”到一个光标。现在,您可以通过 editor.multiCursorPaste 设置来控制此行为,该设置可以有以下值:
spread- 每个光标粘贴一行文本(默认)。full- 每个光标粘贴完整的剪贴板文本。
集成终端
使用自定义工作目录打开新终端
有一个新命令允许使用自定义当前工作目录(cwd)创建终端:
{
"key": "cmd+shift+h",
"command": "workbench.action.terminal.newWithCwd",
"args": {
"cwd": "${fileDirname}"
}
}
您可以创建自己的键盘快捷键,以便在任何数量的方便工作目录中打开新终端。cwd 值可以是普通路径或变量。
更好的区域检测
terminal.integrated.setLocaleVariables 设置已被新的 terminal.integrated.detectLocale 设置取代。默认值为 auto,它会在终端会话中将 $LANG 变量设置为检测到的语言 UTF-8 值,但仅在用户未明确配置时才会生效。这个更好的默认设置应该会减少与终端语言和编码相关的问题。
语言
HTML ARIA 属性参考
HTML ARIA属性的自动完成和悬停信息现在包括对相应WAI-ARIA文档的引用。

带分号的CSS属性补全
CSS属性补全现在在行尾插入分号。
您可以使用此功能与 Ctrl+Enter(Windows / Linux)或 Cmd+Enter(macOS)来创建新行,而不会将结束的 ; 推到新行。
您可以使用[css|scss|less].completion.completePropertyWithSemicolon设置来控制此功能。

变量补全的CSS颜色预览
在完成CSS变量时,如果原始变量是颜色字符串,VS Code现在会显示带有其颜色的完成项:

markdown.links.openLocation
新的 markdown.links.openLocation 设置控制 Markdown 文件中的链接在何处打开。
markdown.links.openLocation 有两个值:
currentGroup- 在当前编辑器组中打开链接(默认)。beside- 在当前Markdown编辑器旁边打开链接。
"markdown.links.openLocation": "beside" 在处理文档时可能很有用。
调试
改进的列断点用户界面
在调试时,VS Code 现在会在行内显示所有断点候选位置。这使得用户更容易在更准确的位置放置断点。为了避免界面混乱,只有在行上有多个可能的位置时才会显示候选断点。
您可以直接与内联断点进行交互;点击以启用和禁用它们,并调用它们的上下文菜单以获取更多操作。

请注意,此功能需要底层运行时或调试器的支持,我们预计未来只有少数调试扩展会使用此功能。在此版本中,Node Debug 和 Debugger for Chrome 支持此功能。作为扩展作者的示例,我们的 Mock Debug 示例“模拟”了对此的支持。
CALL STACK 视图中的内联调试操作
当CALL STACK视图中显示会话或线程时,我们现在会在悬停时显示内联调试操作。这将使在调试多个会话或线程时更容易控制调试流程。您不再需要首先将焦点设置在会话或线程上才能对其执行操作。
如果一个会话只有一个线程,所有操作都会显示在会话上,因为线程不会显示。否则,所有操作都会在其上下文中显示(会话操作显示在会话上,线程操作显示在线程上)。

改进的调用堆栈视图行为
我们改进了CALL STACK视图的功能:
- 点击调试会话或线程不再展开它们。您必须直接点击chevron(>)UI元素。这可以防止在您只想移动焦点时意外展开会话或线程。
- 如果新的调试会话没有中断,VS Code 不再自动聚焦它们。
调试控制台中改进的链接检测
VS Code 现在可以在调试控制台的表达式中检测链接,而不仅仅是在字符串输出中。链接检测算法也得到了改进。
PreLaunchTask 现在可以引用默认构建
随着新变量${defaultBuildTask}的引入,现在可以有一个通用的preLaunchTask,它总是引用默认的构建任务:
{
"name": "Hello World",
"type": "node",
"request": "launch",
"preLaunchTask": "${defaultBuildTask}"
}
${defaultBuildTask} 解析为执行命令 Tasks: Run Build Task 时运行的任务名称。类似于使用 Run Build Task 命令,如果有多个默认构建任务,或者没有默认构建任务,则会显示一个快速选择器来选择构建任务。
当preLaunchTask出错时保存选择
现在,当出现preLaunchTask错误时,您可以通过在用户设置中记住我的选择复选框来记住您的选择。您的选择存储在用户设置中的debug.onTaskErrors中,它可以有三个值;prompt(默认)、debugAnyway和showErrors。

对扩展的贡献
远程开发(预览)
工作仍在继续在远程开发扩展上,这些扩展允许您使用容器、远程机器或Windows Subsystem for Linux (WSL) 作为全功能的开发环境。
1.39版本的功能亮点包括:
- Remote Explorer 现在支持 WSL 扩展,并让您可以轻松连接到已安装的 Linux 发行版。
- 新增在容器卷中克隆仓库命令,以便您可以隔离地处理源代码仓库。
- 实验性支持SSH连接共享和使用SSH连接到Windows远程机器。
您可以在远程开发发布说明中了解新扩展功能和错误修复。
您还可以阅读最近的两篇博客文章,描述:
预览功能
预览功能尚未准备好发布,但功能足够使用。我们欢迎您在开发过程中提供早期反馈。
TypeScript 3.7-beta 支持
尽管VS Code在TypeScript 3.7正式发布之前不会捆绑它,但我们已经开始支持所有令人兴奋的TypeScript 3.7-beta新功能。
这些包括:
- 在JavaScript和TypeScript文件中,可选链和空值合并的语法高亮显示。
- 支持可选链的完成功能。
- 通过新的
javascript.format.semicolons和typescript.format.semicolons设置来控制分号。
您可以通过安装TypeScript Nightly扩展轻松尝试所有这些新的TypeScript 3.7功能。请分享反馈,并告诉我们您在使用TypeScript 3.7测试版时是否遇到任何错误!
扩展开发
扩展终端API
扩展终端API已经最终确定,允许扩展对终端输入做出反应并完全控制其输出。以下代码创建了一个扩展终端,并在启动时以红色打印'Hello world':
const writeEmitter = new vscode.EventEmitter<string>();
const pty: vscode.Pseudoterminal = {
onDidWrite: writeEmitter.event,
open: () => writeEmitter.fire('\x1b[31mHello world\x1b[0m'),
close: () => {}
};
vscode.window.createTerminal({ name: 'My terminal', pty });
查看API参考和extension-terminal-sample以获取更多详细信息。
符号和补全的弃用标签
允许将完成项和符号标记为弃用的符号标签API已经最终确定。了解更多信息,请参阅1.38版本发布说明。
在这里你可以看到Java扩展正在使用SymbolTag.Deprecated来显示引用已弃用类型或成员的源代码,并用删除线表示。

调试会话名称不再只读
可以更改DebugSession的名称。调试会话的名称最初取自DebugConfiguration。任何更改都会在用户界面中正确反映。
如果webviews没有使用Webview.asWebviewUri来处理本地资源时的警告
在开发使用Webview API的扩展时,我们现在会在您创建直接使用vscode-resource: URI加载本地资源的webview时记录一个警告,而不是使用新的Webview.asWebviewUri API。

尽管旧的vscode-resource: URI 将继续有效,我们希望所有 webview 扩展迁移到 Webview.asWebviewUri API 作为新的 API:
- 处理一些从网络驱动器加载本地资源时的棘手边缘情况。
- 使得可以拥有一个能够加载本地和远程内容混合的webview。
- 对于 VS Code 的网页版本将更加可靠。
树视图消息API
在树形视图中设置消息的API已经最终确定。您可以在树形视图扩展示例中查看如何使用消息API的示例。
更新了 Octicons 样式
我们已经更新了我们的Octicons以匹配我们的新图标轮廓样式,以便我们所有的图标保持一致。
![]()
SCM 文件夹菜单
更新后的SCM视图现在支持以树形结构呈现更改。作为SCM提供者,您可以使用scm/resourceFolder/context菜单ID向文件夹的菜单贡献命令。
语言服务器协议
3.15.0 版本的 语言服务器协议 的规范已经发布。该版本尚未最终确定,因此仍然欢迎在 语言服务器协议仓库 中提交问题或拉取请求以提供反馈。流式传输和进度报告支持已添加到下一版本的语言服务器协议中。节点服务器和 VS Code 客户端的实现分别以 vscode-languageserver@6.0.0-next.1 和 vscode-languageclient@6.0.0-next.1 的形式提供。
调试适配器协议
取消支持
一个新的cancel请求已被添加到调试适配器协议中,可以向调试适配器提示前端客户端不再对之前发出的特定请求所产生的结果感兴趣。
此请求具有提示特性:调试适配器只能尽力满足此请求,但不能保证。前端客户端只有在定义了supportsCancelRequest能力并且其值为true时才能调用此请求。
被取消的请求仍然需要发送一个响应。这可以是一个正常的结果或一个错误响应。从被取消的请求中返回部分结果是可能的,但请注意,前端客户端没有通用的方法来检测响应是否是部分的。
在九月份的版本中,VS Code 支持取消 stacktrace、scopes 和 variables 请求(用于 CALL STACK 和 VARIABLES 视图)以及 completions 请求(用于调试控制台)。
请注意,截至九月,只有Mock Debug扩展实现了取消功能。
在源范围内查找可能的断点
新的breakpointLocations请求可以被DAP客户端用来查找给定源范围内的所有可能的断点位置。这可以在用户界面中使用,以提高“内联”(“列”)断点的可发现性。
客户端只有在定义了supportsBreakpointLocationsRequest能力并且其值为true时,才能调用breakpointLocations请求。
提议的扩展API
每个里程碑都伴随着新的提议API,扩展作者可以尝试使用它们。一如既往,我们非常重视您的反馈。以下是您尝试提议API需要做的事情:
- 你必须使用Insiders,因为提议的API经常变化。
- 您必须在扩展的
package.json文件中包含这一行:"enableProposedApi": true。 - 将最新版本的vscode.proposed.d.ts文件复制到项目的源代码位置。
请注意,您不能发布使用提议API的扩展。我们可能会在下一个版本中进行重大更改,并且我们从不希望破坏现有的扩展。
vscode.env.uiKind
新增了一个提议的API vscode.env.uiKind,它允许扩展程序判断当前使用的UI类型。为了支持在浏览器中运行VS Code,可能的值为UIKind.Desktop和UIKind.Web。
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}`);
}
vscode.env.asExternalUri 目前仅支持 http: 和 https: URI。如果扩展在客户端机器上运行,则此操作为空操作。然而,如果扩展在远程运行,vscode.env.asExternalUri 会自动建立一个从本地机器到远程 target 的端口转发隧道,并返回隧道的本地 URI。
资源的只读webview编辑器
你可以找到VS Code扩展来预览从着色器到Excel文件再到3D模型的所有内容。一些大胆的扩展甚至构建了复杂的编辑器风格体验,用于可视化编辑二进制或XML文件。虽然使用VS Code现有的扩展API已经可以实现所有这些功能,但目前构建预览或自定义编辑器需要以非直观的方式拼凑一堆API。这也给扩展本身留下了很多工作,通常导致用户体验与VS Code的其他部分不一致。自定义编辑器API提案旨在改善这一点。
自定义编辑器API将为扩展提供一个框架,用于创建完全可定制的读写编辑器,这些编辑器用于替代VS Code的标准文本编辑器来处理特定资源。例如,一个XAML自定义编辑器可以为您的.xaml文件显示一个所见即所得(WYSIWYG)风格的编辑器。我们的最终目标是尽可能地为扩展提供最大的灵活性,同时保持VS Code的快速、轻量和一致性。
在这个迭代中,我们分享了自定义编辑器API提案的第一部分:只读的、基于webview的自定义编辑器。您可以在此处找到自定义编辑器提案的概述here。自定义编辑器已经被用于支持VS Code的内置图像预览。
当前的提案只是第一步,可能会进行重大修订。我们将在接下来的几个月里继续迭代自定义编辑器API。
树视图标题
树视图的标题一直是从扩展的package.json文件中获取的。现在,树视图的标题最初是从package.json中获取的,但之后可以更改。对title属性的更改将正确地反映在视图标题的UI中。
startDebugging consoleMode 选项用于合并调试控制台
为了更好地支持分层调试会话,我们向vscode.debug.startDebugging API添加了一个可选参数consoleMode。此参数控制VS Code是否应合并父调试会话和子调试会话的调试控制台。例如,这对于集群调试特别有用,因为有许多子会话,如果所有调试会话都进入同一个调试控制台,会更加清晰。
已移除弃用的 Terminal.onDidWriteData API
Terminal.onDidWriteData 提议的 API 已被移除,取而代之的是全局事件 window.onDidWriteTerminalData。
工程
网站刷新
我们更新了Visual Studio Code 网站的图标和颜色,以更好地匹配我们的品牌。这一变化在整个网站和文档页面中都有体现。

通过 terser 进行 JavaScript 压缩
我们将产品构建中用于JavaScript压缩的工具更改为terser。之前我们使用的是旧版本的uglify-es。在采用过程中,terser的开发者们给予了我们很大的帮助。
文件监视器更新(Chokidar)
在这个里程碑期间,我们将macOS和Linux的文件监视器更新到了3.x版本,这带来了性能的提升、内存消耗的减少以及更小的包体积。你可以从Chokidar repo和Chokidar 3博客文章中了解更多信息。
集成测试针对实际构建运行
我们的产品构建运行一个大型集成测试套件作为构建的一部分。以前,这些测试是针对从源代码运行的VS Code执行的。现在,这些测试使用构建版本的VS Code来验证构建是否准备好发布。
使用 TypeScript 3.6 构建 VS Code
VS Code 核心和内置扩展现在使用 TypeScript 3.6 构建。
图像预览已移至内置扩展
VS Code 的图像预览功能已从核心代码库中移出,并转移到一个内置的 Image Preview 扩展中。图像预览的功能应该与之前几乎完全相同。

将图像预览提取到内置扩展中,使得修复错误和添加功能变得更加容易,并且最终将允许扩展更轻松地覆盖VS Code的内置图像预览。
这一变化是由我们在本次迭代中完成的自定义编辑器API工作所启用的。
新文档
Node.js 部署教程
Node.js 部署教程 已移至 Azure JavaScript 开发者中心 在 learn.microsoft.com 上。
在那里你可以找到使用Visual Studio Code的教程:
显著的修复
- 78984: 触摸在建议小部件中不起作用
- 79196: 调试控制台显示REPL结果和console.log输出的顺序错误
- 80003: 常规断点没有标题工具提示
- 55106: 如果至少有一个会话验证,断点将显示为已验证
- 80435: 请让我隐藏资源管理器侧边栏中的空文件夹部分
- 80464: SetVariable 请求的失败消息未显示
- 80402: 调试UI在调试会话结束时没有清理旋转器
- 82047: 新标题变量用于指示远程名称
感谢您
最后但同样重要的是,向以下帮助使VS Code变得更好的人们表示衷心的感谢!:
对我们问题跟踪的贡献:
- John Murray (@gjsjohnmurray)
- Andrii Dieiev (@IllusionMH)
- Alexander (@usernamehw)
- ArturoDent (@ArturoDent)
请查看我们的社区问题跟踪页面,如果您想帮助我们管理收到的议题。
对 vscode 的贡献:
- Andrew Branch (@andrewbranch): [typescript-language-features] 添加分号的格式化选项 PR #80828
- Arash Arbabi (@ATheCoder): 修复: #81077 PR #81156
- Christian Oliff (@coliff): 到ux.stackexchange.com的HTTPS链接 PR #80255
- David Reis (@davidreis97): 为建议小部件添加触摸事件支持(修复 #78984) PR #81442
- Dmitry Gozman (@dgozman)
- @ElasticPencil: 一个只读编辑器在文本区域中不遵守只读属性 PR #81394
- @harujii: 将Yu Gothic UI添加到日文字体族 PR #79735
- Xueping (@Heromyth): 添加对CPP的.c++扩展支持 PR #80187
- Andrii Dieiev (@IllusionMH)
- Jason Ginchereau (@jasongin): 将烟雾UI自动化重构为单独的包 PR #80293
- Jean Pierre (@jeanp413)
- @KapitanOczywisty: 修复HTML样式标签中的PHP PR #80657
- Kimmo Lehto (@kke): 修复 terminalProcess 拼写错误 "exectuableVerification" PR #81165
- Lars Hvam (@larshp): 编辑, modes.ts: 文档, 修复损坏的链接 PR #81606
- Jiaxun Wei (@LeuisKen): 任务: 更新 tsc 目标 PR #80050
- @navrkald: 如果设置了环境变量 DONT_PROMPT_WSL_INSTALL,则跳过 WLS 检查。PR #80529
- @pi1024e: 拼写错误修复: disposables PR #80154
- Ron Buckton (@rbuckton): 修复以允许在补全中使用可选链令牌 PR #81402
- Lionell Pack (@Rophuine): 为小地图添加触摸事件 PR #81097
- Sergio Schvezov (@sergiusens)
- Fuchen Shi (@shifuchen98): 修复批量替换弹出窗口中的拼写错误 PR #81572
- Prabhanjan S Koushik (@skprabhanjan)
- Konstantin Solomatov (@solomatov)
- Salvador Cabrera Lozano (@txava): 修复 #26659. PR #80227
- Alexander (@usernamehw): 在构造函数中更新状态栏项的启用状态 PR #80517
- Dipen Ved (@vedipen): 保存所有并提交修复 PR #81609
- Yuya Tanaka (@ypresto): 修复了在问题视图中被编辑器查找功能劫持的Cmd+F键 PR #80068
对 vscode-eslint 的贡献:
- Rafał Chłodnicki (@rchl): 修复publishDiagnostics消息中的None位置值 PR #753
- Wil Lee (@kourge): 在README的TypeScript部分添加
typescriptreactPR #764
对vscode-languageserver-node的贡献:
- Jason Dent (@Jason3S): 向 CodeAction 协议添加 isPreferred。PR #489
- Thomas Mäder (@tsmaeder): PR #512
- Adam Yarris (@RubbaBoy): 修复了README中的死链接 PR #834
对language-server-protocol的贡献:
- Krzysztof Cieślak (@Krzysztof-Cieslak): 添加 DiagnosticTag 到文档 PR #645
- Remy Suen (@rcjsuen): 修复 #375 添加更多格式化选项 PR #735
- Danny Tuppeny (@DanTup): 移除 workspace/symbol 的“非空字符串”注释 PR #770
- Mickael Istria (@mickaelistria): 问题 #782 - InitializationParams.clientName PR #783
- Roberto Aloi (@robertoaloi): 将Erlang和Elixir添加到支持的编程语言列表中 PR #812
- @KamasamaK: 添加了 SignatureHelpContext PR #805
- Eyal Kalderon (@ebkalderon): 修复 gh-pages 中的拼写错误 PR #820
对debug-adapter-protocol的贡献:
- Pahan Sarathchandra (@pahans): 添加 Ballerina 调试适配器 PR #77
对vscode-debugadapter-node的贡献:
- Damjan Cvetko (@zobo): 修复了terminateThreadsRequest的错误签名 PR #214
- Holger Benl (@hbenl): 添加数据断点请求以支持测试 PR #219
对 vscode-css-languageservice 的贡献:
- Simon Siefke (@SimonSiefke): 修复拼写错误 PR #179
对 vscode-vsce 的贡献:
- Sumesh Majhi ⚡ (@MajhiRockzZ): 更新 README.md PR #387
对localization的贡献:
有超过800名Cloud + AI Localization社区成员使用微软本地化社区平台(MLCP),其中约有100名活跃贡献者参与Visual Studio Code的本地化工作。我们感谢您的贡献,无论是提供新的翻译、对翻译进行投票,还是建议流程改进。
这是贡献者的快照。有关项目的详细信息,包括贡献者名单,请访问项目网站https://aka.ms/vscodeloc。
- 丹麦语: Mark Drastrup, Lasse Stilvang.
- 荷兰语: Niels ter Haar, Laurens Kwanten.
- 英语(英国): Martin Littlecott, s.benson, sonali Dixit.
- 芬兰语: Kiti Suupohja, Tommi Finnilä.
- 法语: Thierry DEMAN-BARCELÒ, Maxime Coquerel, Antoine Griffard, Rodolphe NOEL, DJ Dakta.
- 德语: Christof Opresnik.
- 希腊语: Θοδωρής Τσιρπάνης.
- 希伯来语: Yonatan Bachar, Snir Broshi.
- 印地语: mtar05, निरव आडतिया, Amit Gusain, Degant Puri.
- Chinese Simplified: Justin Liu, Yizhi Gu, paul cheung, yungkei fan, 斌 项, Yiting Zhu, 一斤瓜子, Tianzhi Zeng, cool yang, Peng Zeng, Y!an, Joel Yang, 楠 姜, 建 周.
- Chinese Traditional: Winnie Lin, 蔡牧村, 謝政廷, Yi-Jyun Pan, Poy Chang.
- 印尼语: Eriawan Kusumawardhono, Riwut Libinuko, William Surya Permana, Septian Adi, Laurensius Dede Suhardiman.
- 意大利语: Luigi Bruno, Alessandro Alpi, Claudio Mezzasalma, Marco Dal Pino.
- Japanese: Michihito Kumamoto, Hiroyuki Mori, Aya Tokura, 井上 圭司, Yuzo Konishi, Yoshihisa Ozaki, Kogesaka, Yuta Ojima, TENMYO Masakazu, Koichi Makino, Takayuki Fuwa.
- 韩语: Hongju, Sungjin Jeong, Seikwang Chung.
- 拉脱维亚语: Andris Vilde.
- 立陶宛语: Renatas Laužadis.
- 波兰语: Kacper Łakomski.
- 葡萄牙语(巴西): Marcelo Fernandes, Marcondes Alexandre, Felipe Oliveira, Alan Bueno.
- 葡萄牙语(葡萄牙): Pedro G..
- 罗马尼亚语: Mihail-Gabriel Alexe.
- 俄语: konpl.
- 西班牙语: José María Aguilar, Abdón Rodríguez P., Ricardo Estrada Rdez, Anix Cormak, Carlos Mendible.
- 泰米尔语: Rajeshkumar Ramasamy.
- 土耳其语: Safa Selim.
- 乌克兰语: Oleksandr Krasnokutskyi, Arthur Murauskas.
- 越南语: Vương, Van-Tien Hoang, Hai Nguyen, Tuan Duong.