2019 年 6 月(版本 1.36)
更新 1.36.1:此更新解决了这些问题。
下载:Windows:x64 | Mac:Intel | Linux:deb rpm tarball snap
欢迎来到 Visual Studio Code 2019 年 6 月版。此版本中有很多更新,我们希望您会喜欢,其中一些主要亮点包括:
- 隐藏/显示状态栏项目 - 仅显示您首选的状态栏项目。
- 资源管理器中的缩进引导线 - 清晰地突出显示您项目的文件夹结构。
- 更好的终端 Shell 选择器 - 轻松选择要在集成终端中使用的默认 Shell。
- 顺序任务执行 - 控制任务和子任务执行的顺序。
- 跳转到光标调试 - 当您跳转到新位置时,跳过代码执行。
- 禁用调试控制台换行 - 让您将调试输出保持在一行中。
- JavaScript/TypeScript 每夜构建扩展 - 新的扩展集成了 JS/TS 每夜构建。
- 新的 Java 安装程序 - 安装 VS Code、Java 扩展包和所需的 Java 依赖项。
- 远程开发(预览版)改进 - 保存到本地文件系统、将文件拖放到远程以及更多功能。
如果您想在线阅读这些发行说明,请访问 code.visualstudio.com 上的 更新。
内部人员: 想尽快看到新功能吗?您可以下载每夜 内部人员 构建版本,并尽快试用最新的更新。有关最新的 Visual Studio Code 新闻、更新和内容,请在 Twitter 上关注我们 @code!
工作台
隐藏单个状态栏项目
现在有一个用于状态栏的上下文菜单,用于隐藏和显示各个条目。
该配置会在所有工作区中全局持久化。
注意:设置 workbench.statusBar.feedback.visible
已被删除,转而采用这种新方法。您可以使用状态栏上下文菜单隐藏反馈笑脸。
树形缩进引导线
树形小组件现在支持缩进引导线。这意味着缩进引导线现在可以在文件资源管理器、搜索视图、调试视图等中使用。
与以前一样,您可以使用 workbench.tree.indent
设置控制树的缩进级别,现在您还可以使用 workbench.tree.renderIndentGuides
设置控制缩进引导线的行为。
workbench.tree.renderIndentGuides
的可能值是
onHover
- 当鼠标悬停在树上时显示缩进引导线。默认行为。always
- 始终在树中显示缩进引导线。none
- 不显示缩进引导线。
拖放文件夹以复制
现在可以将 VS Code 外部的文件夹拖放到文件资源管理器中进行复制。以前,当将文件夹拖放到 VS Code 资源管理器中时,我们总是会打开一个包含该文件夹的工作区。现在可以仅复制文件夹内容。
复制粘贴文件名增量器更改
当复制粘贴 VS Code 资源管理器中重复的文件和文件夹时,VS Code 会递增粘贴文件的名称。我们执行增量命名的方式有时会导致意外的结果。
为了简化命名,我们现在以以下方式递增文件名
“hello.txt” -> “hello copy.txt” -> “hello copy 2.txt” -> “hello copy 3.txt”
禁用 Alt 键聚焦自定义菜单栏
许多用户要求禁用在按下 Alt 键时聚焦自定义菜单栏的行为。要防止此行为,请将新设置 window.customMenuBarAltFocus
设置为 false
。
迷你地图搜索修饰
在文件中搜索时,结果匹配项现在将在文件和迷你地图中突出显示
更新的警告颜色
我们更新了 list.warningForeground
和 editorWarning.foreground
,以便更好地匹配编辑器警告颜色的其余部分。您将在文件资源管理器、Peek 错误视图和编辑器波浪线中看到此更新的颜色
我们还更新了 editorOverviewRuler.findMatchForeground
,以便在标尺中更好地突出显示更新的警告颜色
在线服务设置
VS Code 使用在线服务用于各种目的,例如下载产品更新、查找、安装和更新扩展,或在“设置”编辑器中提供自然语言搜索。您可以选择通过用户设置打开/关闭使用这些服务的功能,您可以使用标记 @tag:usesOnlineServices
进行筛选。现在有一个命令 文件 > 首选项 > 在线服务设置,该命令会在“设置”编辑器中应用该标记。
有关更多信息,请参阅我们的遥测文档。
集成终端
更好的默认 Shell 选择器
Windows 一段时间以来一直有选择默认 Shell命令,并且上个版本将其添加到了集成终端下拉菜单中。此命令现在也可在 macOS 和 Linux 上使用,并通过读取 /etc/shells
文件来公开系统上注册的 Shell。
使用干净的环境启动终端
VS Code 中的集成终端与普通终端的行为总是略有不同,尤其是在 Linux 和 macOS 上。原因是环境始终继承自 VS Code 的窗口(实例),并且移除了 VS Code/Electron 相关的环境变量,而普通终端通常是从 Dock/开始菜单启动,并使用系统环境。这可能会在某些情况下导致问题,例如,由于 Python 虚拟环境使用 $PATH
变量的方式,导致 Python 虚拟环境被破坏。
有一个新的预览选项 terminal.integrated.inheritEnv
,当该选项为 false
时,会导致终端不使用 VS Code 的环境。
相反,根据平台,它将执行以下操作:
- Linux:获取并使用 VS Code“主进程”的父进程的环境。
- macOS:从当前环境中提取一些重要的环境变量,并且仅包含这些变量。我们最终希望 macOS 的行为与 Linux 相同,但是目前在获取环境方面存在问题。
- Windows:当前此设置不会影响 Windows。
将 inheritEnv
设置为 false
的主要可见结果是,$SHLVL
(shell 级别)现在应为 1,并且 $PATH
不应包含重复的路径(前提是您的启动脚本没有有意包含这些路径)。
terminal.integrated.inheritEnv
的默认值为 true
,这是之前的行为,但是我们将来可能会将该值切换为 false
。
更改为 Ctrl+\
以前,Ctrl+\
映射到在 Linux 和 Windows 上拆分终端的命令,但是现在已更改为将 SIGQUIT
传递给 shell,正如大多数人期望终端执行的操作一样。如果您想要旧的行为,可以将此键盘快捷键添加到您的 keybindings.json
文件中。
{
"key": "ctrl+\\",
"command": "workbench.action.terminal.split",
"when": "terminalFocus"
}
任务
顺序依赖项执行
dependsOn
任务属性仍然默认为并行运行所有依赖项,但是现在您可以指定 "dependsOrder": "sequence"
,并按 dependsOn
中列出的顺序执行任务依赖项。dependsOn
中使用的任何后台/监视任务都必须具有一个问题匹配器,该匹配器会跟踪它们何时“完成”。
下面的示例任务会运行任务 Two、任务 Three,然后运行任务 One。
{
"label": "One",
"type": "shell",
"command": "echo Hello ",
"dependsOrder": "sequence",
"dependsOn": ["Two", "Three"]
}
问题匹配器路径检测
当扫描任务输出以查找问题时,会使用 fileLocation
问题匹配器属性提供有关路径的信息。除了现有的 relative
和 absolute
选项之外,现在还可以指定 autoDetect
。当使用 autoDetect
时,任务系统将自动尝试确定问题中的路径是相对路径还是绝对路径。
语言
TypeScript 3.5.2
此版本包括 TypeScript 3.5.2,这是一个小型更新,修复了一些重要的错误。
更快地使用 JavaScript 和 TypeScript 的仅语法功能
VS Code 的 JavaScript 和 TypeScript 语言功能由TypeScript 服务器提供支持。此服务器为诸如 IntelliSense 和错误报告之类的复杂功能以及诸如代码折叠和文档大纲之类的更简单功能提供支持。
诸如 IntelliSense 等功能需要 TypeScript 服务器在返回任何结果之前评估整个 JavaScript 或 TypeScript 项目,这对于较大的项目可能需要一些时间。在此处理过程中,服务器无法处理任何其他请求,包括仅需对当前文件进行基本语义理解的简单功能(如代码折叠)的请求。如果您曾经注意到代码折叠或文档大纲出现之前的延迟,您可能已经遇到过这个问题。
为了让您更快地开始处理代码,我们添加了一个新的实验性选项,VS Code 将使用两个 TypeScript 服务器:一个仅处理基于简单语法的操作,另一个处理项目处理、IntelliSense、错误报告和其他高级语言功能。要启用此行为,请设置 "typescript.experimental.useSeparateSyntaxServer": true
。此设置需要在您的工作区中使用 TypeScript 3.4 或更新版本。
调试
跳转到光标
我们添加了一个新的调试命令**跳转到光标**,它允许您将程序执行移动到新位置,而无需执行之间的任何代码。如果调试器支持**跳转到光标**,则新的命令将出现在调试时的编辑器上下文菜单和命令面板中。目前,此命令仅在 C# 扩展中可用,但其他调试扩展应该很快也会跟进。
禁用控制台自动换行
一个新的设置 debug.console.wordWrap
控制是否在调试控制台中启用自动换行。默认情况下,所有行都会自动换行。如果关闭此设置,则行将不再在调试控制台中断行,并且会出现水平滚动条。
Node.js 调试配置属性 useWSL 已弃用
随着 WSL 扩展的推出,VS Code 中已经实现了通用的 Windows Linux 子系统 (WSL) 支持。现在所有扩展都可以无缝地在 WSL 中使用。
因此,我们计划删除两年前添加到 VS Code 的 Node.js 调试器中的现在已过时的 WSL 支持。作为实现此目标的第一步,我们将弃用 useWSL
调试配置属性。从这个里程碑版本开始,在编辑器中打开 launch.json
文件时,该属性将显示波浪线。此外,当启动包含 useWSL
的调试会话时,还会出现通知。
以下是将现有使用 useWSL
标志的项目迁移到使用 WSL 扩展进行调试的步骤
- 确保您已安装 WSL 扩展。
- 在 VS Code 中打开您的项目文件夹。
- 使用 **WSL:在 WSL 中重新打开文件夹** 命令在 WSL 中重新打开项目。
- 按 F5。
- 从调试配置中删除
useWSL
标志。
有关更多信息,请参阅我们的在 WSL 中开发文档。
扩展的贡献
JavaScript 和 TypeScript 夜间版扩展
新的 JavaScript 和 TypeScript 夜间版扩展 使用 TypeScript 的夜间构建版本 (typescript@next) 作为 VS Code 内置的 TypeScript 版本,该版本支持 JavaScript 和 TypeScript IntelliSense。这使得测试最新的 TypeScript 功能并提供有关它们的反馈变得容易!
TSLint 1.2
我们发布了新版本的 TSLint 扩展,修复了一些重要的错误。此版本还在 VS Code 状态栏中添加了一个警告指示器,如果工作区中存在 tslint.json
文件但 TSLint 本身未正确安装,则会显示该指示器。
Java 开发人员的安装程序
有一个新的 Visual Studio Code Java 安装程序,旨在帮助首次使用的开发人员设置他们的 Java 环境。当您运行 Java 包安装程序时,它会自动检测是否已经安装了 JDK (Java 开发工具包)、Visual Studio Code 以及所需的扩展。如果未安装,安装程序可以为您下载并配置缺少的依赖项。您还可以使用安装程序将 Java 相关组件添加到您现有的 Visual Studio Code 安装中。
安装 Java 扩展后,Visual Studio Code 将提供全面的 Java 开发功能,例如智能代码完成、重构、调试和测试以及项目管理和应用程序服务器集成。
远程开发 (预览)
我们一直在继续开发 远程开发 扩展,它允许您使用容器、远程机器或 Windows Linux 子系统 (WSL) 作为功能齐全的开发环境。您可以在 远程开发版本说明 中了解新的扩展功能和错误修复。
要了解有关在 Windows 上开发 Linux 应用程序的更多信息,请参阅 Windows 开发人员平台团队的这篇 使用 WSL 和 Visual Studio Code Remote 提升 Windows 中的 Linux 开发体验 博客文章。
作为远程 UI 扩展的 Chrome 调试器
如果您正在远程窗口中处理 Web 项目,则可以使用 Chrome 调试器扩展 在本地 Chrome 窗口中对其进行调试。只需安装该扩展,在远程服务器上启动您的开发服务器,转发服务器的端口,然后启动您的启动配置即可。有关详细信息,请参阅扩展 README。
扩展创作
将 vscode 包拆分为 @types/vscode 和 vscode-test
在去年的 event-stream 事件期间,我们发现 vscode
包受到了影响,因为它的 223 个传递依赖项包括 event-stream
。这些依赖项还会不时地为许多 VS Code 扩展引起 GitHub 安全警报。为了解决依赖项的复杂性,我们开始精简 vscode
包。
vscode
包有两个用途
- 下拉
vscode.d.ts
用于扩展开发。 - 通过下载和启动 VS Code 的本地副本运行集成测试。
现在,我们将 vscode
拆分为 @types/vscode
和 vscode-test
,这两个包具有更专注的功能。
@types/vscode
包含每个版本的vscode.d.ts
。例如,npm i @types/[email protected]
安装 VS Code 1.34 扩展 API。与通过postinstall
脚本下拉vscode.d.ts
的vscode
不同,此包可以被包管理器完全缓存。vscode-test
提供了一组用于使用 VS Code 运行集成测试的 API。旧的vscode
包将继续工作,但新功能将仅提供给vscode-test
。我们建议您切换到vscode-test
,它具有更精简的依赖关系图和更灵活、明确记录的 API。您可以在 测试扩展 文章中了解有关使用vscode-test
的更多信息。
此外
vscode-dts
允许您通过 CLI 快速下载任何版本的 VS Code API。vsce
现在会根据engines.vscode
检查@types/vscode
版本,以防止您使用与旧版本 VS Code 不兼容的新 API。- 已更新
helloworld-test-sample
、测试扩展 页面和 持续集成 页面,以使用vscode-test
。 - 测试扩展页面包含一个迁移指南,以帮助您从
vscode
过渡到@types/vscode
和vscode-test
。 - 所有 VS Code 示例扩展现在都使用
@types/vscode
。 - VS Code 扩展生成器使用
@types/vscode
和vscode-test
包搭建扩展。
Node.js 更新
VS Code 运行的 Electron 版本已更新,并将 Node.js 从 10.2.0
更新到 10.11.0
。现在所有扩展都将在此较新版本的 Node.js 上运行。
远程 API
有一个新的属性 vscode.env.remoteName
,它在远程扩展主机运行时定义。它的值由引导远程扩展主机的扩展定义,该值在本地和远程扩展主机上都可用。
需要知道它们是在远程还是本地扩展主机上运行的扩展可以使用 Extension#extensionKind
,该值可以是 ExtensionKind.UI
或 ExtensionKind.Workspace
。该值表示扩展的 package.json
文件中定义的值或用户覆盖的值。当不存在远程扩展主机时,该值始终为 ExtensionKind.UI
。
DocumentLink.tooltip
新的 DocumentLink.tooltip
属性允许 DocumentLinkProvider
自定义用户将鼠标悬停在文档链接上时显示的文本。
VS Code 包括有关如何激活链接的说明(在上面的示例中为 cmd + 单击
)以及 tooltip
文本。
端口转发和端口映射现在除了 'localhost' 外,还支持 '127.0.0.1'
vscode.env.openExternal
API 使用默认的外部应用程序打开 URI。当远程扩展在本地 URI(例如 https://127.0.0.1:8080
)上调用 openExternal
时,VS Code 会自动打开一个隧道,该隧道将本地计算机上的端口连接到远程计算机上打开的端口。以前,这种自动隧道仅针对“localhost”URI 启用,但现在也针对“127.0.0.1”启用。
此外,webview 端口映射 API 现在除了处理 'localhost' URI 外,还处理 '127.0.0.1' URI。
更多属性标记为只读或 ReadonlyArray
VS Code API 中更多的属性现在在 vscode.d.ts
中标记为只读,以更好地表达它们对扩展的意图。
值得注意的更改包括
- 事件接口上的所有字段现在都是只读的。事件对象不应被修改,因为同一对象可以分派给多个侦听器。
DiagnosticCollection
上的方法现在接受只读数组。进行此更改的原因是,您只能通过其方法更新DiagnosticCollection
,而不是通过修改先前传递给它的数组。Extensions.all
现在是一个只读数组,因为它不能被修改。TextEditor.insertSnippet
现在接受只读数组,因为它不会修改其参数。
这些新的 readonly
修饰符可能会导致扩展代码出现编译错误,这些代码显式键入了 VS Code API 以前使用的非只读类型。
vscode.window.onDidChangeTextEditorSelection(e => {
// Error: `e.selections` is now a readonly array but
// our `updateForSelections` function takes a mutable array
updateForSelections(e.selections);
});
function updateForSelections(selections: vscode.Selection[]) {
...
}
要解决此问题,请将 readonly
修饰符也传播到扩展的源代码中。
vscode.window.onDidChangeTextEditorSelection(e => {
updateForSelections(e.selections);
});
function updateForSelections(selections: readonly vscode.Selection[]) {
...
}
TerminalOptions.hideFromUser
runInBackground
终端的 hideFromUser
选项现在位于稳定的 API 中。使用此选项可以完全隐藏终端,直到调用 Terminal.show()
。
const term = window.createTerminal({ hideFromUser: true });
term.sendText('do something');
与 sendText
和 onDidWriteData
API 结合使用,扩展程序可以与交互式终端交互,例如,建立连接,并且仅在出现问题时才调用 Terminal.show()
。
评论反应
评论 API 现在支持显示和管理评论上的用户反应。当存在 Comment.reactions
时,反应将呈现在评论正文下方。
如果扩展程序使用 CommentController.reactionHandler
注册反应处理程序,则用户将能够响应现有反应或使用反应选择器创建新反应。
建议的扩展 API
每个里程碑都带有新的提议的 API,扩展作者可以尝试使用它们。一如既往,我们非常重视您的反馈。这是您必须执行的操作来尝试提议的 API。
- 您必须使用 Insiders 版本,因为提议的 API 会频繁更改。
- 您必须在扩展的
package.json
文件中包含以下行:"enableProposedApi": true
。 - 将最新版本的 vscode.proposed.d.ts 文件复制到您的项目中。
请注意,您不能发布使用提议的 API 的扩展。我们很可能会在下一个版本中进行重大更改,我们绝不希望破坏现有扩展。
vscode.workspace.fs
有一个提议的 API,允许扩展程序与 文件系统提供程序 交互。该 API 允许扩展程序从任意文件系统创建、读取、写入和删除文件和文件夹。例如,语言扩展程序现在可以加载从 ftp 服务器或其他远程源提供的源文件。
可以通过 workspace 对象上的新属性访问该 API:vscode.workspace.fs
。试一试,并随时在 issue #48034 上留下反馈。
代码插入的更新 API
我们已经重构和简化了代码插入的提议。现在,它不再使用提供程序模式,而是更像文本装饰 API。
export function createWebviewTextEditorInset(
editor: TextEditor,
line: number,
height: number,
options?: WebviewOptions
): WebviewEditorInset;
给定编辑器、行和高度,您可以创建插入。然后,插入使用从 WebviewPanel
中已知的 Webview。与装饰一样,插入在其包含的编辑器关闭后将被处理掉。
Webview.resourceRoot
webview 上提议的 resourceRoot
常量公开了在 webview 中加载本地资源的根目录。
const panel = vscode.window.createWebviewPanel(
CatCodingPanel.viewType,
'Cat Coding',
vscode.ViewColumn.One,
{
// Restrict the webview to only loading local content from our extension's `media` directory.
localResourceRoots: [vscode.Uri.file(path.join(extensionPath, 'media'))]
}
);
const resourceRoot = await panel.resourceRoot;
panel.html = `<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="Content-Security-Policy" content="default-src 'none'; img-src ${resourceRoot} https:;">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Cat Coding</title>
</head>
<body>
<img src="${resourceRoot}/${path.join(extensionPath, 'media')}/cat.gif" width="300" />
</body>
</html>`;
当 VS Code 在桌面上运行时,resourceRoot
将是 vscode-resource:
。但是,当 VS Code 在其他环境中(例如浏览器)运行时,该值可能会有所不同。
获取默认 shell 的 API
由于 terminal.integrated.shell.<platform>
设置现在默认为 null
,因此扩展程序无法再使用该设置来检测默认 shell。现在有一个提议的 API vscode.env.shell
,它将返回终端的默认 shell。
const shell = vscode.env.shell;
if (shell.search(/(powershell|pwsh)/i) !== -1) {
// Do something special that PowerShell needs
}
语言服务器协议
已经实现了用于 TypeScript 的新版本的 语言服务器索引格式 工具。新版本具有改进的格式,可更轻松地将大型转储导入数据库,而无需特定于数据库。有关运行这些工具的详细信息,请参阅 lsif-node 存储库中的说明。
工程
Electron 4.0 更新和 Electron 6.0 探索
在此里程碑中,我们完成了将 Electron 4 打包到 VS Code 中的探索,使其成为第一个与稳定版一起发布的 Electron 版本。这是一个主要的 Electron 版本,带有 Chrome 69 和 Node.js 10.11.0(与我们当前带有 Chrome 66 和 Node.js 10.2.0 的版本相比,向前迈进了一大步)。
不幸的是,由于 issue #75054,我们不得不禁用一个版本的 macOS 简单全屏支持("window.nativeFullScreen": false
)。我们希望在下月初在我们的 Insiders 版本中包含修复程序。
我们已经开始探索更新到 Electron 6,我们希望很快将其推送到 Insiders 版本。
更好的代码加载
Electron 4 使我们可以访问新的脚本缓存 API。借助新的缓存 API,可以在不影响第一次启动的情况下创建 缓存数据,并且可以重复创建以覆盖延迟解析的函数。这和我们加载程序的改进使代码加载速度提高了约 15%。
Linux 32 位支持结束
VS Code 使用 Electron 框架 在多个平台上运行。在此版本中,我们迁移到 Electron 4.x 版本,这意味着 VS Code 将不再在 Linux 32 位上运行。请更新到 64 位版本的 VS Code。您所有的设置和扩展都将像以前一样工作,而无需迁移任何内容。您可以阅读 Electron 的相关 博客文章,以获取更多信息。
基于 iframe 的 webview 探索
在此迭代中,我们探索使用普通的 iframe 而不是 Electron 的 <webview>
标签来实现 VS Code 的 webview。此工作主要是为了支持在浏览器中运行 VS Code 而完成的,但是 <webview>
也相当复杂,并且过去曾给我们带来问题。我们希望最终能够用普通的 iframe 替换对 <webview>
的使用。
我们在基于 iframe 的 webview 上取得了重大进展,现在可以成功地在浏览器中从扩展程序运行许多 webview,但是仍然有很多工作要做。我们将在 7 月继续进行这项探索。
值得注意的修复
- 41356:移动到下一个/上一个错误的热键不应将 NVDA 的焦点移出编辑器。
- 45515:Uri#parse 可以破坏路径组件。
- 54084:在单步执行时,不要更改调试触控栏按钮的位置。
- 70248:cls 命令不会清除终端(Windows 10 1903,ConPTY)。
- 74710:图像预览应仅为图像大小绘制“透明”棋盘格背景。
- 75359:通过调试控制台更改值后,“变量”窗格不会更新。
- 41085:Git:如果 .git 在打开的文件夹之外,则文件事件不起作用。
感谢
最后但并非最不重要的一点,非常感谢以下人员,他们帮助使 VS Code 变得更好!
对 vscode
的贡献
- Abby (@abbychau):添加一个选项,以允许在 Git 初始化或克隆后在新窗口中打开 PR #69763。
- Andrius (@andrius-pra):同步 Typescript 插件提供的语言 PR #75371。
- Aurélien Pupier (@apupier):将许可证字段添加到 package.jsons #68423 PR #68771。
- Jakub Čábera (@Ash258):shellscript:添加折叠标记 PR #75828。
- Lee Houghton (@asztal):处理多个使用 /tmp/vscode-typescript 的用户 PR #75547。
- Babak K. Shandiz (@babakks):将
cachedScrollTop
添加到 SCM 面板 PR #74723。 - Patrick Burke (@burknator):使状态栏缩放按钮成为 IStatusbarEntry #74454 PR #75618。
- Chase Adams (@chaseadamsio):支持快速输入/快速打开的主题 PR #74041。
- Christian Oliff (@coliff):建议用户安装 EditorConfig 扩展 PR #75391。
- Hung-Wei Hung (@hwhung0111):修复评论中的一些拼写错误 PR #75565。
- Jean Pierre (@jeanp413)
- Jonas Kemper (@jk21): Package json 信息 PR #72763
- @malingyan2017: 修复停靠栏中最近列表不显示最近的文件/文件夹的问题 #74788 PR #75108
- Denis Stepanov (@meduzik): 启动命令中的空参数现在可以正确转义 PR #25098
- Micah Smith (@Olovan): 修复问题 #35245 PR #75357
- @orange4glace
- Jesse Mazzella (@ozyx): 从 baseFolderName 的仓库 URL 中删除尾随的 '/' PR #75822
- Alasdair McLeay (@penx): CSS 导入的 Node 模块解析 PR #70693
- Raul Piraces Alastuey (@piraces): 当向导在静默模式下运行时,禁止显示 MsgBox PR #76215
- Remco Haszing (@remcohaszing)
- Evgeny Zakharov (@risenforces): 添加 window.disableMenuBarAltBehavior 选项 PR #73258
- Samuel Bronson (@SamB): 修复拼写错误: timemout -> timeout PR #75162
- TBK (@TBK): 添加对 APKBUILD 的支持 PR #75706
- Tomáš Chaloupka (@tchaloupka): 修复捷克语的 LANG 环境变量 PR #75519
- Tony Xia (@tony-xia)
- Waldir Pimenta (@waldyrious): 修复示例缩写 (e.g.) 的拼写 PR #74785
对我们问题跟踪的贡献
- John Murray (@gjsjohnmurray)
- Alexander (@usernamehw)
- Eric Amodio (@eamodio)
- Jean Pierre (@jeanp413)
- Danny Tuppeny (@DanTup)
如果您想帮助我们管理收到的问题,请参阅我们的社区问题跟踪页面。
对 vscode-css-languageservice
的贡献
- Dmitry Parzhitsky (@parzh): 修复伪元素特异性 PR #154
对 vscode-html-languageservice
的贡献
- Liam Newman (@bitwiseman): 将 js-beautify 更新到 1.10.0 PR #61
- Javey (@Javey): 使其可以通过 uglify-js 压缩 PR #64
对 language-server-protocol
的贡献
- Danny Tuppeny (@DanTup): 修复拼写错误 "must not sent" -> "must not send" PR #747
对 debug-adapter-protocol
的贡献
- Joel Day (@joelday): 添加 Papyrus 实现 PR #59
对 vscode-azurecli
的贡献
- Matthew Burleigh (@mburleigh): 在新编辑器中打开结果 PR #55
- Matthew Burleigh (@mburleigh): 添加状态栏项以指示进度 PR #56
对 vscode-vsce
的贡献
- @atsutton: 将日志级别更改为信息级别。 PR #369
- James George (@jamesgeorge007)
- Jonathan Nagy (@nagytech): 允许指定提交消息 PR #365
对 vscode-recipes
的贡献
- Mladen Mihajlović (@mika76): Vue - 使用从问题中收集的信息更新了自述文件 PR #213
- Ephraim Khantsis (@doom777): 更新 ng-test 启动配置 PR #212
对 localization
的贡献
有超过 800 名 Cloud + AI 本地化社区成员正在使用 Microsoft 本地化社区平台 (MLCP),其中有大约 100 名活跃贡献者参与 Visual Studio Code。我们感谢您的贡献,无论是提供新的翻译、投票选择翻译,还是提出流程改进建议。
这是贡献者的快照。有关该项目的详细信息,包括贡献者姓名列表,请访问项目站点:https://aka.ms/vscodeloc。
- 波斯尼亚语: Ismar Bašanović, Ernad Husremovic。
- 保加利亚语: Иван Иванов, Gheorghi Penkov。
- 捷克语: Tadeáš Cvrček, Michal Franc, Jan Kos, Radim Hampl。
- 丹麦语: René Pape, Lars Vange Jørgensen, Martin Liversage, Lasse Stilvang, Anders Lund, Allan Kimmer Jensen, Anton Ariens。
- 荷兰语: Leroy Witteveen, Luc Sieben, Maxim Janssens, Damien van Gageldonk, Tom Meulemans。
- 英语(英国): Martin Littlecott, Alexander Ogilvie, Fabio Zuin, Mohit Nain, Sulkhan Ninidze, alshyab wa3ed, Tejas kale。
- 芬兰语: Lasse Leppänen, Petri Niinimäki, Sebastian de Mel。
- 法语: Antoine Griffard, Thierry DEMAN-BARCELÒ。
- 德语: Julian Pritzi, Patrick Burke, Ettore Atalan, Meghana Garise。
- 希腊语: Θοδωρής Τσιρπάνης, Charalampos Fanoulis, Vassilis Vouvonikos。
- 希伯来语: חיים לבוב, Eyal Ellenbogen。
- 印地语: Sanyam Jain, Kishan K。
- 匈牙利语: Boldi Kemény。
- 简体中文: 斌 项, paul cheung, 张锐, Yizhi Gu, Yiting Zhu, Justin Liu, Shi Liu, Pluwen, Joel Yang, Jieting Xu, Chen Yang, 涛 罗, 立飞 李, 雨齐 刘, cuibty wong, 建 周, XIANG ZUO。
- 繁体中文: LikKee 沥祺 Richie, Winnie Lin, Jeremy。
- 印尼语: Jakka Prihatna, Arif Fahmi, Septian Adi, Heston Sinuraya, Hendra Widjaja, Don Nisnoni, Eriawan Kusumawardhono, Bervianto Leo Pratama, Laurensius Dede Suhardiman, Rifani, rsyad, Christian Elbrianno。
- 意大利语: andrea falco, Aldo Donetti。
- 日语: Michihito Kumamoto, Yoshihisa Ozaki, Aya Tokura, TENMYO Masakazu, 太郎 西岡。
- 韩语: Hongju, 우현 조, Hoyeon Han, Hong Kwon。
- 拉脱维亚语: Kaspars Bergs, Andris Vilde。
- 立陶宛语: Andrius Svylas, Tautvydas Derzinskas, Karolis Kundrotas, Martynas J..
- 挪威语: Dag H. Baardsen, Ole Kristian Losvik。
- 波兰语: Rafał Całka, Marcin Weksznejder, Jakub Żmidziński, Rafał Wolak, Szymon Seliga, Grzegorz Miros。
- 葡萄牙语(巴西): Alessandro Trovato, Thiago Dupin Ugeda, Weslei A. de T. Marinho, Rafael Lima Teixeira, Gerardo Magela Machado da Silva, Marcos Albuquerque, Loiane Groner, Alessandro Fragnani, Judson Santiago, Andrei Bosco, Fábio Corrêa, Roberto Fonseca, Fabio Lux, Emmanuel Gomes Brandão, Guilherme Pais, Rodrigo Vieira, André Gama。
- 葡萄牙语(葡萄牙): Nuno Carapito, Pedro Daniel, José Rodrigues, Diogo Barros。
- 罗马尼亚语: Stefan Gabos。
- 俄语: Дмитрий Кирьянов, Анатолий Калужин。
- 西班牙语: David Fernández Aldana, Ricardo Rubio, Thierry DEMAN, José María Aguilar。
- 瑞典语: Johan Spånberg, Notetur Nomen。
- 泰米尔语: Merbin J Anselm, Jeyanthinath Muthuram, Boopesh Kumar, Nithun Harikrishnan, Vignesh Rajendran。
- 土耳其语: Meryem Aytek, Fıratcan Sucu, Ahmetcan Aksu, Mehmet Yönügül, Ömer Sert, Anıl MISIRLIOĞLU, Misir Jafarov, Bruh Moment。
- 乌克兰语: Arthur Murauskas, Alexander Varchenko, Вадим Шашков, Евгений Коростылёв。
- 越南语: Van-Tien Hoang, Vuong Bui, Chủ Tất。