2018 年 4 月(版本 1.23)
更新 1.23.1:此更新解决了这些 问题。
下载:Windows: x64 | Mac: Intel | Linux 64 位: deb rpm tarball | 32 位:deb rpm tarball
欢迎使用 Visual Studio Code 的 2018 年 4 月版本。此里程碑 VS Code 团队一直专注于 API 工作以支持扩展作者,但此版本中仍然有许多更新,我们希望您会喜欢。一些主要亮点包括
- 突出显示的缩进参考线 - 帮助可视化源代码缩进。
- 在保存时运行代码操作 - 在保存时运行诸如整理导入之类的操作。
- NPM 脚本浏览器 - 在您的项目中快速查找、运行和调试 NPM 脚本。
- 问题视图过滤 - 选择哪些文件将显示错误和警告。
- 使用鼠标中键进行列选择 - 使用鼠标中键拖动可进行快速列选择。
- CSS 区域折叠 - 在您的 CSS/SCSS/Less 代码中创建区域以进行有用的代码折叠。
- 改进了对新属性的 CSS 支持 - 对 CSS 实验属性的智能建议。
- Markdown 工作区符号搜索 - 在整个工作区中搜索 Markdown 标题。
- 自定义活动栏视图 - 扩展作者可以创建自己的活动栏项目。
- 新的部署网站教程 - 了解如何将静态网站部署到 Azure 存储。
如果您想在线阅读这些发行说明,请访问 更新,网址为 code.visualstudio.com。
您还可以观看来自云开发倡导者 Brian Clark 的此 1.23 版本亮点视频。
发行说明按与 VS Code 关注领域相关的以下部分排列。以下是一些其他更新
- 编辑器 - 更好的 Unicode 文件支持,更稳定的编辑器定位。
- 工作台 - 复制搜索结果、更好的 Git 克隆工作流程、VS Code 进程浏览器。
- 调试 - 日志点表达式支持智能补全和显示结构化对象。
- 语言 - JavaScript/TypeScript 整理导入操作、持久的 Markdown 预览。
- 扩展编写 - 新的 webview 和文件系统提供程序 API,“源”文件级别操作。
Insiders:想尽快看到新功能吗?您可以下载每日构建的 Insiders 版本,并尽快试用最新更新。
编辑器
突出显示的缩进参考线
现在,当您在各种源代码块之间移动光标时,VS Code 可以突出显示活动的缩进参考线。
突出显示颜色名称为 editorIndentGuide.activeBackground
,您可以在 workbench.colorCustomizations
设置中修改它
"workbench.colorCustomizations": {
"editorIndentGuide.activeBackground": "#ff0000"
}
在保存时运行代码操作
新的 editor.codeActionsOnSave
设置允许您配置一组在保存文件时运行的代码操作。例如,对于 JavaScript、TypeScript 和其他提供整理导入代码操作的扩展,您可以通过 设置 在保存时启用整理导入
"editor.codeActionsOnSave": {
"source.organizeImports": true
}
您还可以使用特定于语言的设置来启用或禁用哪些代码操作在保存时运行。以下设置仅为 TypeScript 文件启用保存时整理导入
"[typescript]": {
"editor.codeActionsOnSave": {
"source.organizeImports": true
}
},
"[typescriptreact]": {
"editor.codeActionsOnSave": {
"source.organizeImports": true
}
}
使用鼠标中键进行列选择
在 VS Code 中,可以通过按住 Shift
和 Alt
,然后使用鼠标左键来添加列(框)选择。现在,也可以使用鼠标中键创建列选择
注意:当将
editor.multiCursorModifier
设置为ctrlCmd
时,Windows 上的修饰符是Shift
和Ctrl
,macOS 上的修饰符是Shift
和Cmd
。
改进了 UTF-16 编码文件的处理
VS Code 始终支持文件的 UTF-16 编码,但需要 BOM(字节顺序标记)才能正确检测此编码。如果 VS Code 没有找到 BOM,则文件将不会打开,用户会看到一条信息消息。
在此版本中,我们在此消息中添加了一个新操作,以将文件作为文本在编辑器中打开
打开后,您可以更改编码以尝试解码文本。
此外,VS Code 现在使用一种启发式方法,尝试自动检测没有 BOM 的 UTF-16。这种启发式方法应该适用于所有仅包含 ASCII 字符的 UTF-16 文件。
改进的编辑器定位
在某些情况下,当更改编辑器滚动高度(例如调整换行编辑器大小、使用鼠标滚轮缩放或修改 CodeLens)时,编辑器会尝试保持视口中的居中行。VS Code 现在保持视口中的第一行,从而提供更稳定的外观。
工作台
问题视图过滤
现在,您可以使用过滤器在“问题”视图中包含或排除文件。
- 在过滤器输入框中使用 glob 模式来包含/排除文件。排除模式必须以
!
为前缀。例如,!*.js
将删除所有具有 .js 扩展名的文件。 - 有一个使用文件排除设置进行过滤按钮,用于删除与您的
files.exclude
设置匹配的所有文件。
下面的简短视频演示了基于 files.exclude
设置过滤项目 out
目录,并通过在过滤器输入框中键入 !**/node_modules/**
来忽略所有 node_modules
NPM 脚本运行
使用设置 npm.enableScriptExplorer
,您可以启用一个浏览器,显示在您的工作区中定义的脚本。
此浏览器支持
- 在选择
package.json
文件时,在package.json
文件或scripts
部分内打开脚本。这是选择脚本时的默认操作。 - 将脚本作为任务运行,其输出显示在集成终端中。
- 调试脚本。要启动节点调试器,脚本需要定义一个节点调试选项,如
--inspect-brk
(另请参阅)。
使用 npm.exclude
设置排除包含在特定文件夹中的 package.json
文件中的脚本。
Git 克隆改进
Git 克隆工作流程进行了一些改进。在运行 Git:克隆 命令时
- 使用本机对话框选择存储库位置。
- 使用新的通知进度 API,从而改进了操作状态报告。
- VS Code 将提示您是否要将克隆的存储库添加到您的工作区或直接打开它。
Git 扩展还采用了新的建议 API 来处理系统范围的 URI 并调用特定 URI 上的 Git 克隆。这是一个克隆 https://github.com/microsoft/vscode-vsce.git
的 URI 示例
vscode://vscode.git/clone?url=https%3A%2F%2Fgithub.com%2FMicrosoft%2Fvscode-vsce.git
如果您想尝试一下
- Windows:在命令提示符中,键入:
explorer "vscode://vscode.git/clone?url=https%3A%2F%2Fgithub.com%2FMicrosoft%2Fvscode-vsce.git"
。 - macOS:在 shell 中,键入:
open vscode://vscode.git/clone?url=https%3A%2F%2Fgithub.com%2FMicrosoft%2Fvscode-vsce.git
。
从搜索上下文菜单复制结果
搜索结果树上下文菜单包括三个新选项:复制、复制路径和全部复制。这是一个强烈 👍 请求,这将更容易共享或导出您的搜索结果。
单独的搜索包含和排除输入框的回归
上个月,我们合并了“搜索”视图中的包含和排除输入框,试图简化和精简它,同时节省一些垂直空间。然而,我们从 你们中的许多人 那里得知,这不符合你们使用“搜索”视图的方式。最终,我们决定简单地恢复更改,因此,在此版本中,我们又回到了像 1.22 之前那样拥有单独的包含/排除框。请注意,您不需要在排除框中的模式上使用 !
。
自定义活动栏视图
现在,扩展作者可以将他们自己的视图容器添加到活动栏。根据您安装的扩展,更新后,您可能会看到诸如自定义浏览器之类的 UI 从“文件资源管理器”移动到新的自定义视图容器。例如,在下面,您可以看到来自Azure 应用服务和Azure 数据库扩展的浏览器已移动到专用的 Azure 视图。
查看正在运行的 Visual Studio Code 进程
使用 开发人员:打开进程浏览器 命令或 帮助 > 打开进程浏览器 菜单项打开一个新窗口,其中包含有关正在运行的 VS Code 进程的持续更新信息。进程会列出它们的 CPU 和内存使用情况、PID 和友好名称,并且可以从右键单击出现的上下文菜单中终止。
集成终端
终端拆分的多根支持
现在,您可以在多根工作区内选择要将终端拆分到的文件夹。可以通过绑定 workbench.action.terminal.splitInActiveWorkspace
命令的键来重新启用旧的行为。
语言
CSS 区域折叠
现在,您可以使用 /* #region */
和 /* #endregion */
来标记 CSS/SCSS/Less 中的可折叠区域。在 SCSS/Less 中,您还可以使用 // #region
和 // #endregion
作为折叠标记。
改进了对新 CSS 属性的 CSS 支持
以前,VS Code 对于一些实验性的 CSS 属性,例如 backdrop-filter
,会显示 “未知属性” 错误。
您要么必须完全关闭 CSS 代码检查,要么忍受这个错误,即使您正在使用诸如 PostCSS 这样的 CSS 框架,它允许您使用实验性的 CSS 属性。
在此版本中,通过来自 Mozilla Developer Network 的数据,VS Code 现在可以识别 87 个新的 CSS 属性。如果您能在 MDN 上找到一个 CSS 属性,VS Code 应该可以识别它。
此外,通过来自 MDN 的数据,VS Code 现在在 CSS/SCSS/Less 中提供了增强的补全功能,显示每个 CSS 属性的语法和状态值。
尽管目前还没有内置的 CSS 属性值验证支持,但 CSSTree 验证器 扩展也使用来自 MDN 的数据,并基于其 值定义语法 为每个属性值提供代码检查。
Markdown 工作区符号搜索
Markdown 现在支持工作区符号搜索。首次打开 Markdown 文件后,您可以使用 (⌘T (Windows, Linux Ctrl+T)) 在当前工作区的所有 Markdown 文件的标题中搜索。
持久化的 Markdown 预览
当您重新打开 VS Code 时,Markdown 预览现在会自动恢复。
以前,每次您重新启动 VS Code 时都必须重新打开预览。
TypeScript 2.8.3
VS Code 现在附带 TypeScript 2.8.3。此版本修复了 一些重要的错误。
JavaScript 和 TypeScript 组织导入
JavaScript 和 TypeScript 的组织导入功能现在已退出预览。运行 **组织导入** (⇧⌥O (Windows, Linux Shift+Alt+O)) 可以快速删除未使用的导入,并对 JavaScript 和 TypeScript 源代码中剩余的导入进行排序。
您现在还可以配置在保存时运行组织导入,使用新的 editor.codeActionsOnSave
设置。以下是在保存时为 TypeScript 文件启用组织导入的设置:
"[typescript]": {
"editor.codeActionsOnSave": {
"source.organizeImports": true
}
},
"[typescriptreact]": {
"editor.codeActionsOnSave": {
"source.organizeImports": true
}
}
调试
Logpoint 改进
Logpoint 在上个版本中引入,我们改进了它们的易用性和实用性。
-
IntelliSense(智能补全)已添加到嵌入在日志消息和条件断点中的表达式中。
-
在 Node.js 调试中使用 Logpoint 时,嵌入在日志消息中的结构化对象在调试控制台中显示为可展开的对象。
-
Node.js 调试中的 Logpoint 现在在调试控制台中显示其源位置。
-
由于 Logpoint 和断点可以通过单击编辑器装订线中的图标轻松删除,因此您可能会意外丢失日志消息或断点条件。为了防止这种情况,VS Code 现在在单击装订线删除带有条件或日志消息的断点时会提示。该警报使您可以选择禁用断点而不是删除它。
-
最后但并非最不重要的一点是,我们在 **调试** 菜单中添加了 **新建断点** > **Logpoint...** 操作。
扩展编写
活动栏的贡献
随着越来越多的扩展程序创建自定义视图,并且它们中的大多数都贡献给了文件资源管理器,我们注意到资源管理器变得混乱。为了进行扩展,VS Code 现在提供了一种向活动栏贡献内容的方式。例如,现在有一个对活动栏的 **测试** 贡献。扩展程序现在可以进行自己的贡献。
测试视图容器
活动栏中现在提供了一个新的测试贡献,供扩展程序贡献与测试相关的视图。此测试贡献默认情况下为空且隐藏,并且在向其贡献视图时显示。该示例显示了如何将 mocha
自定义视图贡献给活动栏中的 **测试** 活动。
"contributes": {
"views": {
"test": [
{
"id": "mocha",
"name": "mocha"
}
]
}
}
自定义视图容器
扩展程序现在可以使用贡献点 viewsContainers
在活动栏中定义其他活动。
"contributes": {
"viewsContainers": {
"activitybar": [
{
"id": "package-explorer",
"title": "Package Explorer",
"icon": "resources/package-explorer.svg"
}
]
},
"views": {
"package-explorer": [
{
"id": "package-dependencies",
"name": "Dependencies"
},
{
"id": "package-outline",
"name": "Outline"
}
]
}
}
图标规范
-
大小:
图标在 50x40 的正方形上居中,大小为 24x24。 -
颜色:
图标应使用单色。 -
格式:
建议图标采用 SVG 格式,但接受任何图像文件类型。 -
状态:
所有图标都继承以下状态样式。状态 不透明度 默认 60% 悬停 100% 激活 100%
注册了一个命令来显示每个已注册的视图容器。在上面的软件包资源管理器示例中,它将是 **视图:显示软件包资源管理器**。当您运行命令 **视图:打开视图...** 时,还可以找到列出的所有视图容器。
注意: 建议您将相关视图分组到一个视图容器中,而不是为每个视图创建一个视图容器。
源代码管理中的自定义视图
您现在可以将与源代码管理(SCM)相关的自定义视图贡献到活动栏中的源代码管理视图容器中。您可以像在资源管理器中一样显示、隐藏和重新排序这些视图。
"contributes": {
"views": {
"scm": [
{
"id": "git-compare",
"name": "Compare"
}
]
}
}
文件系统提供程序
扩展程序现在可以从任意来源(例如 ftp 服务器)提供文件和文件夹,VS Code 会像处理常规文件一样处理它们。为此,请使用 FileSystemProvider
接口,该接口将扩展程序与 URI 方案(例如 ftp
)关联。通过该接口,编辑器可以发现和管理文件和文件夹(创建、删除、读取和写入)。
VS Code 还可以读取和修改由文件系统提供程序提供的配置文件(settings.json
、tasks.json
、launch.json
)。
语言标识符和文档选择器
添加文件系统提供程序意味着并非所有文件都存储在磁盘上,扩展程序应该意识到这一点。简短但重要的消息是,并非所有文档都存储在磁盘上,如果您的扩展程序依赖于磁盘访问,您必须首先检查 方案。
为了提高意识,当您仅使用语言标识符(而不是文档过滤器)注册语言功能时,我们添加了一条信息消息。有关更多详细信息,请访问 文档选择器 主题。
最后,有一个示例扩展程序可用于测试。它实现了一个将所有内容都保存在内存中的文件系统,磁盘上没有任何内容,您可以使用该文件系统来测试语言功能。从 此处 获取该扩展程序。
注意:TextDocument.isUntitled
由于添加了文件系统提供程序,我们调整了 TextDocument.isUntitled
的语义,使其仅对新创建的文档(使用 untitled
方案)为 true
。以前,所有不是来自磁盘的文档都被视为未命名。此更改可能会更改扩展程序的行为,尤其是在扩展程序假设未命名的文档都存储在磁盘上的情况下。
读取诊断
有一个新的 API 可以读取诊断并在诊断更改时收到通知,请参阅 languages.getDiagnostics
和 languages.onDidChangeDiagnostics
。例如,SCM 扩展程序现在可以检查在与团队共享更改之前是否存在错误。
改进的 RenameProvider
我们改进了 RenameProvider
API,现在它可以选择实现一个名为 prepareRename
的新函数。使用该函数,提供程序可以帮助 VS Code 解析和验证要重命名的符号。
在文档更改事件中包含基于偏移量的信息
TextDocumentContentChangeEvent
有一个新的属性 rangeOffset
,它与 rangeLength
一起,允许扩展程序使用 (offset,length)
坐标来跟踪文本文档的更改。
源代码操作类型
CodeActionKind.Source
标识应用于整个文件的代码操作。组织导入是 Source
代码操作的一个很好的例子,因为它可以在文件中的任何位置触发。
Source
代码操作不会显示在正常的快速修复灯泡菜单中。必须使用 editor.action.sourceAction
命令显式请求它们。Source
代码操作也会显示在新的 **源代码操作** 上下文菜单中。
组织导入代码操作
在 Source
代码操作的基础上,新添加的 CodeActionKind.SourceOrganizeImports
标识了组织导入代码操作。可以使用 editor.action.organizeImports
触发这些操作,并且具有标准的键盘快捷键:⇧⌥O (Windows, Linux Shift+Alt+O)。
如果您的扩展程序已经实现了组织导入,我们强烈建议您将其迁移为使用 CodeActionKind.SourceOrganizeImports
,以便用户在各种语言中获得更一致的体验。
CodeActionProviderMetadata
registerCodeActionsProvider
现在采用可选的 CodeActionProviderMetadata
参数,该参数允许扩展程序告知 VS Code CodeActionProvider
将提供的代码操作的类型。VS Code 使用此信息来启用新的 **重构** 和 **源代码操作** 上下文菜单。例如,仅当注册的 CodeActionProvider
具有 CodeActionProviderMetadata
指示它将返回 refactor.*
代码操作时,才会启用 **重构** 上下文菜单。
Webview API
webview API 允许扩展程序在 VS Code 中创建完全可自定义的视图。例如,内置的 Markdown 扩展程序使用 webview 来呈现 Markdown 预览。webview 也可以用于构建超出 VS Code 原生 API 支持的复杂用户界面。
一个 新的扩展程序创作页面 介绍了 webview API。您还可以在 此处 找到一个示例 webview API 扩展程序。我们期待看到扩展程序作者如何使用这个强大的新 API。
应用程序范围设置
如果您希望将设置应用于应用程序级别,而不是在窗口或资源级别被覆盖,则现在可以使用 application
范围来实现。
"configuration": {
"properties": {
"git.path": {
"type": "string",
"description": "Path to the git executable",
"scope": "application"
}
}
}
注意: 弃用了 isExecutable
属性,而支持使用 application
范围,因为它旨在用于相同的目的。
建议的扩展 API
在此里程碑中,我们添加了几个新的建议扩展 API。我们计划在未来的里程碑中将这些 API 添加到稳定版,一旦我们对它们有足够的信心。我们欢迎您对它们如何为您的扩展程序工作提供任何反馈。
注意: 这些 API 仍然是建议的 API,因此为了使用它,您必须通过在
package.json
中添加"enableProposedApi": true
来选择加入,并且您必须将 vscode.proposed.d.ts 复制到您的扩展程序项目中。另请注意,您不能将使用enableProposedApi
属性的扩展程序发布到 Marketplace。
集成终端 API
集成终端 API 具有几个建议的功能,可以帮助扩展程序作者访问所有终端,还可以实现跨不同计算机的终端多路复用。现在可以通过 API 访问所有终端,这与以前扩展程序只能访问其创建的终端不同。
console.log(window.terminals);
有一个与此匹配的事件。
window.onDidOpenTerminal(terminal => {
console.log('New terminal: ' + terminal.name);
});
您还可以挂接到来自终端进程的原始数据流,包括 ANSI 转义序列。
const terminal = window.createTerminal();
terminal.onData(data => {
console.log('Terminal data: ' + data);
});
任务 API
任务 API 进一步改进了从扩展程序查询和执行任务的功能。新支持的 API 是:
fetchTasks
采用过滤器来仅查询任务的子集。taskExecutions
支持提取所有正在运行的任务的执行对象。- 通过
executeTask
、taskExecutions
或其中一个事件提供的TaskExecution
对象可以使用===
进行比较。
此 API 仍处于提案状态。
协议处理程序 API
协议处理程序 API 允许扩展处理系统范围的 URI。此功能对于跨应用程序集成非常有用,因为它允许其他应用程序将 URI 发送到特定的扩展。
export interface ProtocolHandler {
handleUri(uri: Uri): void;
}
export namespace window {
/**
* Registers a protocol handler capable of handling system-wide URIs.
*/
export function registerProtocolHandler(handler: ProtocolHandler): Disposable;
}
这是一个协议处理程序注册的示例
function activate() {
registerProtocolHandler({
handleUri(uri: Uri) {
console.log('Received URI', uri.toString());
}
});
}
对于此 API,URI 授权和处理它们的扩展之间存在严格的关系:URI 授权必须是扩展的 ID (publisher.name
)。例如,以下 URI
vscode://vscode.git/clone?url=foobar
\____/ \________/ \___/ \_________/
| | | |
scheme authority path query
此 URI 的授权是 vscode.git
,因此,如果 vscode.git
扩展已正确注册了协议处理程序,VS Code 会将其转发到该扩展。
由于在扩展注册之前可能会打开 URI,因此还引入了一个新的 onUri
激活事件。这使得您的扩展在打开指向它的 URI 时被激活。
注意:URI 处理在 Linux 中尚不支持。
折叠提供程序 API
在 1.22 版本中提出的折叠范围提供程序已更新,现在是正式的 API。语言扩展现在可以提供语法感知的折叠范围。
/**
* Register a folding range provider.
*
* Multiple providers can be registered for a language. In that case providers are asked in
* parallel and the results are merged.
* If multiple folding ranges start at the same position, only the range of the first registered provider is used.
* If a folding range overlaps with an other range that has a smaller position, it is also ignored.
*
* A failing provider (rejected promise or exception) will
* not cause a failure of the whole operation.
*
* @param selector A selector that defines the documents this provider is applicable to.
* @param provider A folding range provider.
* @return A [disposable](#_Disposable) that unregisters this provider when being disposed.
*/
export function registerFoldingRangeProvider(
selector: DocumentSelector,
provider: FoldingRangeProvider
): Disposable;
对扩展的贡献
我们的团队维护或贡献了许多 VS Code 扩展。本月最值得注意的是
Sublime Text 键映射扩展
Sublime Text 键映射扩展现在能够从 Sublime 导入设置。
首次启动扩展时,会显示一个提示,其中显示所有可导入的 Sublime 设置。如果您想稍后导入设置,请使用“Sublime Text 键映射: 导入 Sublime Text 设置”命令,从“命令面板” (⇧⌘P (Windows, Linux Ctrl+Shift+P)) 中执行。
工程
改进了冒烟测试的稳定性
VS Code 一直都有冒烟测试,用于严格控制质量。我们已经自动化了冒烟测试,但未能使其稳定。本里程碑中,我们致力于提高冒烟测试的稳定性和性能。更多详细信息可以在拉取请求 #47471中找到。
新文档
使用 Azure 存储的网站部署教程
我们有一个新的将静态网站部署到 Azure教程,用于使用Azure 存储创建和部署静态网站。
VS Code 博客文章
最近在 VS Code 博客上发表了两篇文章
- VS Code 中由 Bing 提供支持的设置搜索 - 通过使用 Bing 的自然语言服务改进设置搜索。
- 文本缓冲区重新实现 - 阅读有关我们优化的文本缓冲区实现的开发。
值得注意的更改
- 10663:在比较视图上切换标签时保留视图状态
- 24634:macOS:添加一个设置以启用窗口的 acceptsFirstMouse
- 29549:多线程调试应支持停止线程
- 46785:在没有焦点文件的情况下,“在 Finder 中显示”应打开工作区的文件夹
- 47274:Node Logpoints 在调试控制台中显示为 VM 源
- 47478:检测不完整的已安装扩展
- 48733:引入一个选项 debug.enableAllHovers 以在调试时启用对悬停提供程序的调用
- 46414:在终端中调试 Node.js 进程不再在调试控制台中显示输出
感谢
最后但同样重要的是,非常感谢以下帮助 VS Code 变得更好的朋友们
对 vscode
的贡献
- @alexglazkov9:当窗口没有文件夹时,集成终端不会打开 PR #46518
- Brett Cannon (@brettcannon):允许 Python 中折叠的 # 和
region
之间有空格 PR #46885 - @cody:即使未找到任何结果,也启用清除搜索 PR #48324
- @costincaraivan:在 YAML 中添加 region/endregion 的折叠标记。 PR #47722
- David (@ddruker):在集成终端中按 Esc 键清除选择 PR #47042
- Dustin Campbell (@DustinCampbell):使用最新的错误修复更新 C# TextMate 语法 PR #47520
- Florian Traber (@floriantraber):使 git 删除弹出窗口成为模态 PR #47052
- Filip Malinowski (@fmal):显式设置 background-color 而不是简写声明 PR #47785
- @ivorhuang:如果调试器尚未启动,则在重新启动时启动调试器 PR #47219
- Josh Goldberg (@JoshuaKGoldberg):修复源代码中的 isInsalled 拼写错误 PR #47435
- @KarelCasier:添加配置参数以禁用可折叠光标 (#_37967) PR #38175
- Kenny Le (@kennyle1412):基于工作区路径拆分终端 PR #46461
- Laurel Williams (@lwillia):修复在扩展 ID 上三击选择额外信息的问题 PR #47921
- Matt Acosta (@mattacosta):重新生成 php 函数。 PR #47865
- Dmitry Ignatovich (@mechatroner):将大型文件参数移动到用户配置 PR #44988
- Michael Klement (@mklement0):更新 package.json 以支持 PowerShell Core shebang 行。 PR #44239
- Niklas Mollenhauer (@nikeee):将 Hover#range 更改为可选 PR #48004
- Pascal Fong Kye (@pfongkye):格式化时提供有意义的警告消息 PR #47919
- Yemi Bedu @ P&R (@pr-yemibedu):微小的排版更改 PR #47451
- Pradeep Murugesan (@pradeepmurugesan)
- Benas Svipas (@svipben):高对比度的不同边框样式 PR #46956
- vincentLiu (@vincentLiuxiang):导出 SymbolEntry 以重用 QuickOpen PR #47544
对 vscode-extension-samples
的贡献
- Niklas Mollenhauer (@nikeee):将
client
文件夹更改为lsp-sample
PR #59
对 language-server-protocol
的贡献
- Simon Marchi (@simark):更改 TextDocumentSyncKindIncremental -> TextDocumentSyncKind.Increm... PR #419
- Adelar da Silva Queiróz (@adelarsq):按语言对语言服务器进行排序 PR #424
- Geoffrey Gilmore (@ggilmore):澄清“textDocument/didOpen”的要求 PR #431
- Junfeng Li (@autozimu):拼写错误。 PR #434
- Niklas Mollenhauer (@nikeee):将
undefined
添加到 TextDocuments#get(uri: string) PR #339 - Caleb Lloyd (@caleblloyd):修复桌面上的粘性侧边栏超出页面的问题 PR #444
- Diego Berrocal (@CestDiego):PR #450
- Remy Suen (@rcjsuen):
对 vscode-languageserver-node
的贡献
对 vscode-chrome-debug
的贡献
- @digeff
- Alexey Velikiy (@jonyrock): 将代码中的格式 'json' 更改为 'javascript' PR #640
对 vscode-chrome-debug
的贡献
对 vscode-node-debug2
的贡献
对 localization
的贡献
Transifex VS Code 项目 团队中有超过 800 名成员,每月约有 100 名活跃贡献者。我们感谢您的贡献,无论是提供新的翻译、对翻译进行投票还是提出流程改进建议。
这是此版本贡献者的快照。有关该项目的详细信息,包括贡献者姓名列表,请访问项目站点 https://aka.ms/vscodeloc。
- 法语:Antoine Griffard、Adrien Clerbois、Thierry DEMAN-BARCELO、Jean Cuteaux、Quentin BRETON。
- 意大利语:Alessandro Alpi、Andrea Dottor、Aldo Donetti、Marco Dal Pino、Riccardo Cappello。
- 德语:J.M.、Levin Rickert。
- 西班牙语:Andy Gonzalez、Alejandro Medina、Alberto Poblacion、Thierry DEMAN-BARCELO、Eickhel Mendoza。
- 日语:Shunya Tajima、Yuichi Nukiyama、Yosuke Sano、Seiji Momoto、Satoshi Kajiura、Toshinori Sugita。
- 简体中文:Joel Yang、YF、pluwen。
- 繁体中文:Winnie Lin、Duran Hsieh、Ryan Tseng、Alan Tsai、alantea、Will 保哥。
- 韩语:ChangJoon Lee、HANSEULMARO KIM。
- 俄语:Michel Ace、Ivan。
- 保加利亚语:Любомир Василев。
- 匈牙利语:Tar Dániel。
- 葡萄牙语(巴西):Alessandro Fragnani、Roberto Fonseca、Marcelo Fernandes、Rodrigo Crespi、Matheus Palu、Bruno Sonnino、Douglas Eccker、douglas.martim。
- 葡萄牙语(葡萄牙):Hugo Martins、Daniel Correia、Isac Van Dunem、Tiago Costa、João Mata。
- 土耳其语:Adem Coşkuner、Burak Karahan、Özgür Öktem、Ömer Büyükçelik。
- 波斯尼亚语:Muharem Basanovic、Bahrudin Hrnjica、Ismar Bašanović、Almir Vuk。
- 捷克语:Vít Staniček、Vojtěch Habarta、m_fr、Frantisek Veris、Jakub Skořepa、Michal Zobec、Ferdinand Prantl、Ľubomír Kováč、Jan Brudný。
- 荷兰语:Marco van den Hout、Maarten van Stam、Gerald Versluis。
- 芬兰语:Petri Niinimäki、Feetu Nyrhinen。
- 印地语:Brahma Dev。
- 印尼语:Febrian Setianto (Feber)、Wildan Mubarok、Adrian M. R.、G-RiNe Project、Joseph Aditya P G、Mulia Arifandi Nasution、Herman Prawiro。
- 拉脱维亚语:kozete、Pēteris Kļaviņš、Edgars、Simone Chiaretta。
- 波兰语:Joanna Skurzyńska、Mateusz Wyczawski。
- 罗马尼亚语:Schiriac Robert。
- 塞尔维亚语:Jean Cuteaux。
- 泰语:ภูมิไผท จันทรศรีวงศ์。
- 乌克兰语:Dmytro Kyrychuk、Borys Lebeda。
- 世界语:Andy Hampton。