2019年6月(版本1.36)
更新 1.36.1: 此次更新解决了这些问题。
下载:Windows: x64 | Mac: Intel | Linux: deb rpm tarball snap
欢迎来到2019年6月发布的Visual Studio Code。此版本中有许多更新,我们希望您会喜欢,一些关键亮点包括:
- 隐藏/显示状态栏项目 - 仅显示您偏好的状态栏项目。
- 资源管理器中的缩进指南 - 清晰地突出显示您的项目文件夹结构。
- 更好的终端shell选择器 - 轻松选择在集成终端中使用的默认shell。
- Sequential task execution - 控制任务和子任务的执行顺序。
- 跳转到光标调试 - 在跳转到新位置时跳过代码执行。
- 禁用调试控制台自动换行 - 允许您将调试输出保持在一行。
- JavaScript/TypeScript nightly builds - 新扩展集成了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
变量的方式而出现问题。
有一个新的预览选项,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
中使用的任何后台/监视任务必须有一个问题匹配器,用于跟踪它们何时“完成”。
下面的示例任务运行任务二、任务三,然后运行任务一。
{
"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或更高版本。
调试
跳转到光标
我们新增了一个调试命令Jump to Cursor,它允许你将程序执行移动到新位置,而无需执行中间的代码。如果调试器支持Jump to Cursor,则在调试时,新命令会出现在编辑器上下文菜单和命令面板中。目前,此命令仅适用于C#扩展,但其他调试扩展应该很快就会跟进。
禁用控制台自动换行
一个新的设置,debug.console.wordWrap
,控制是否在调试控制台中启用自动换行。默认情况下,所有行都会换行。如果关闭此设置,调试控制台中的行将不再换行,并且会出现水平滚动条。
Node.js 调试配置属性 useWSL 已弃用
通过WSL扩展,VS Code 现在支持通用的Windows Subsystem for Linux (WSL)。现在所有扩展都可以在 WSL 中以无缝方式使用。
因此,我们计划移除两年前添加到VS Code的Node.js调试器中的现已过时的WSL支持。作为实现这一目标的第一步,我们正在弃用useWSL
调试配置属性。从这个里程碑开始,当在编辑器中打开launch.json
文件时,该属性将显示波浪线。此外,当启动包含useWSL
的调试会话时,会出现通知。
以下是迁移现有项目使用useWSL
标志到使用WSL扩展进行调试的步骤:
- 确保您已安装WSL扩展。
- 在 VS Code 中打开你的项目文件夹。
- 使用WSL: Reopen Folder in WSL命令在WSL中重新打开项目。
- 按下 F5。
- 从调试配置中移除
useWSL
标志。
欲了解更多信息,请参阅我们的在WSL中开发文档。
对扩展的贡献
JavaScript 和 TypeScript 夜间扩展
新的JavaScript 和 TypeScript 夜间扩展使用 TypeScript 的夜间构建版本(typescript@next)作为 VS Code 内置的 TypeScript 版本,它为 JavaScript 和 TypeScript 的智能感知提供支持。这使得测试最新的 TypeScript 功能并提供反馈变得非常容易!
TSLint 1.2
我们发布了一个新版本的TSLint扩展,修复了一些重要的错误。此版本还在VS Code状态栏中添加了一个警告指示器,如果工作区中存在tslint.json
文件但TSLint本身未正确安装。
Java开发者的安装程序
有一个新的Visual Studio Code Installer for Java,可以帮助初次开发者设置他们的Java环境。当你运行Java Pack Installer时,它会自动检测是否已经安装了JDK(Java开发工具包)、Visual Studio Code以及所需的扩展。如果没有安装,安装程序可以为你下载并配置缺失的依赖项。你也可以使用安装程序将Java相关的组件添加到现有的Visual Studio Code安装中。
安装了Java扩展后,Visual Studio Code提供了全面的Java开发功能,如智能代码补全、重构、调试和测试,以及项目管理和应用服务器集成。
远程开发(预览)
工作仍在继续在远程开发扩展上,这些扩展允许您使用容器、远程机器或Windows Subsystem for Linux (WSL) 作为全功能的开发环境。您可以在远程开发发布说明中了解新的扩展功能和错误修复。
要了解更多关于在Windows上开发Linux应用程序的信息,请参阅Windows开发者平台团队的这篇使用WSL和Visual Studio Code Remote进行Linux开发博客文章。
Chrome调试器作为远程UI扩展
如果您在远程窗口中处理一个网页项目,您可以使用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/vscode@1.34.0
安装 VS Code 1.34 扩展 API。与vscode
不同,后者通过postinstall
脚本拉取vscode.d.ts
,而这个包可以被包管理器完全缓存。vscode-test
提供了一组API来运行与VS Code的集成测试。旧的vscode
包将继续工作,但新功能只会添加到vscode-test
。我们建议您切换到vscode-test
,它具有更简洁的依赖图和更灵活、明确记录的API。您可以在 测试扩展 文章中了解更多关于使用vscode-test
的信息。
此外:
vscode-dts
允许你通过CLI快速下载任何版本的VS Code API。vsce
现在会检查@types/vscode
版本与engines.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 + click
)以及 tooltip
文本。
端口转发和端口映射现在除了支持'localhost'外,还支持'127.0.0.1'
vscode.env.openExternal
API 使用默认的外部应用程序打开一个URI。当远程扩展在本地URI(如http://localhost:8080
)上调用openExternal
时,VS Code 会自动打开一个隧道,将本地机器上的端口连接到远程机器上打开的端口。这种自动隧道功能以前仅对'localhost' URI启用,但现在也对'127.0.0.1'启用了。
此外,webview 端口映射 API 现在除了处理 'localhost' URI 外,还处理 '127.0.0.1'。
更多属性被标记为只读或只读数组
在vscode.d.ts
中,VS Code API 的更多属性现在被标记为只读,以更好地向扩展表达其意图。
显著的变化包括:
- 事件接口上的所有字段现在都是只读的。事件对象永远不应该被修改,因为同一个对象可以被分派给多个监听器。
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服务器或其他远程源加载源文件。
API 通过工作区对象上的一个新属性访问:vscode.workspace.fs
。试试看,并随时在issue #48034上留下反馈。
更新后的代码插入API
我们已经重构并简化了代码插入提案。现在它不再使用提供者模式,而是更像文本装饰API。
export function createWebviewTextEditorInset(
editor: TextEditor,
line: number,
height: number,
options?: WebviewOptions
): WebviewEditorInset;
给定一个编辑器、一行和一个高度,你可以创建插入。插入然后使用从WebviewPanel
中已经知道的Webview。与装饰一样,插入在其包含的编辑器关闭时会被处理掉。
Webview.resourceRoot
提议的resourceRoot
常量在webviews中暴露了从webviews加载本地资源的根目录。
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.
设置现在默认为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的版本相比,是一个重大的飞跃)。
不幸的是,由于问题 #75054,我们不得不在一个版本中禁用macOS的简单全屏支持("window.nativeFullScreen": false
)。我们预计将在下月初的Insiders版本中包含修复。
我们已经开始探索更新到Electron 6,我们希望尽快将其推送给Insiders。
更好的代码加载
Electron 4 让我们能够访问新的脚本缓存 API。使用新的缓存 API,缓存数据可以在不影响首次启动的情况下创建,并且可以重复创建以覆盖延迟解析的函数。这一点以及我们加载器的改进使得代码加载速度提高了约15%。
Linux 32位支持结束
VS Code 正在使用 Electron 框架 在多个平台上运行。随着此次发布,我们升级到了 Electron 4.x 版本,这意味着 VS Code 将不再支持 32 位的 Linux 系统。请 更新 到 64 位的 VS Code 版本。您的所有设置和扩展将一如既往地工作,无需迁移任何内容。您可以阅读相关的 Electron 博客文章 以获取更多信息。
基于iframe的webview探索
在这个迭代中,我们探索了使用普通的 iframes 而不是 Electron 的
标签来实现 VS Code 的 webviews。这项工作主要是为了支持在浏览器中运行 VS Code,但
也相当复杂,并且在过去给我们带来了问题。我们希望最终能够用普通的 iframes 替换我们对
的使用。
我们在基于iframe的网页视图方面取得了显著进展,现在可以成功运行浏览器中扩展的许多网页视图,但仍有许多工作要做。我们将在七月继续这一探索。
显著的修复
- 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): 在SCM面板中添加了
cachedScrollTop
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): 包json信息 PR #72763
- @malingyan2017: 修复Dock中的最近列表不显示最近文件/文件夹的问题 #74788 PR #75108
- Denis Stepanov (@meduzik): 启动命令中的空参数现在已正确转义 PR #25098
- Micah Smith (@Olovan): 修复问题 #35245 PR #75357
- @orange4glace
- Jesse Mazzella (@ozyx): 从 repo URL 中移除末尾的 '/' 以用于 baseFolderName 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): 修正示例缩写的拼写(例如) 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 - 更新了从问题中收集的信息的README PR #213
- Ephraim Khantsis (@doom777): 更新 ng-test 启动配置 PR #212
对localization
的贡献:
有超过800名Cloud + AI Localization社区成员使用微软本地化社区平台(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.
- 丹麦语: 雷内·帕佩, 拉斯·万格·约根森, 马丁·利弗萨格, 拉塞·斯蒂尔旺, 安德斯·隆德, 艾伦·基默·詹森, 安东·阿里恩斯.
- 荷兰语: 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.
- Chinese Simplified: 斌 项, paul cheung, 张锐, Yizhi Gu, Yiting Zhu, Justin Liu, Shi Liu, Pluwen, Joel Yang, Jieting Xu, Chen Yang, 涛 罗, 立飞 李, 雨齐 刘, cuibty wong, 建 周, XIANG ZUO.
- Chinese Traditional: 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.
- Japanese: 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.