2019年8月(版本1.38)

更新 1.38.1: 此次更新解决了这些问题

下载:Windows: x64 | Mac: Intel | Linux: deb rpm tarball snap


欢迎来到2019年8月发布的Visual Studio Code。此版本中有许多更新,我们希望您会喜欢,一些关键亮点包括:

如果您想在线阅读这些发布说明,请访问更新code.visualstudio.com上。

内部人员:想要尽快看到新功能吗?您可以下载每晚的内部人员版本,并在更新可用时立即尝试最新更新。要获取最新的Visual Studio Code新闻、更新和内容,请在Twitter上关注我们@code

工作台

在搜索和替换中保留大小写

在1.37版本中,我们在编辑器的查找/替换控件中添加了一个保留大小写选项。现在,全局搜索和替换中也提供了相同的选项,即AB图标。

还有一种新的连字符分隔单词的大小写保留模式。

搜索中的保留大小写按钮

更新了取消搜索图标

当运行长时间搜索时,我们更新了用于取消搜索的图标,以更好地表示该操作。

取消搜索图标

字符串数组设置的验证

如果当前值不满足指定的minItemsmaxItemsitem.enumitem.pattern模式,设置编辑器现在会显示字符串数组项目的错误。

数组字符串错误验证

VS Code 现在在打开外部链接之前会显示一个提示。

链接保护提示

您可以直接打开链接或信任特定域名以绕过此提示。通过配置受信任的域名按钮或命令,您可以启用/禁用特定域名或所有出站链接的链接保护。

资源管理器改进

顶级资源创建

我们改进了在资源管理器中创建顶级文件和文件夹的流程。现在有三种方法可以在文件资源管理器的根目录中创建文件或文件夹:

  • 滚动到最后一个元素之外,以便在空白处调用上下文菜单。
  • 按下 Escape 键会清除资源管理器中的焦点和选择,从而使标题区域的操作在资源管理器根目录上执行。
  • 在滚动条上使用上下文菜单。

打开文件并保持焦点

现在可以在资源管理器中以预览方式打开文件,同时保持焦点在资源管理器中。新命令是 filesExplorer.openFilePreserveFocus,默认情况下,可以通过 空格键 触发。

资源管理器文件命名

有一个新的设置,explorer.incrementalNaming,用于控制重复文件的命名,其值可以是simplesmart

  • simple - 在复制的名称末尾附加单词“copy”,可能后面跟着一个数字。这是当前VS Code稳定版本的行为。
  • smart - 在重复名称的末尾添加一个数字。如果名称中已经包含数字,则递增该数字。

最大化编辑器切换命令

一个新的命令切换编辑器组大小 (workbench.action.toggleEditorWidths) 将在最大化活动编辑器组和平均分配编辑器组宽度之间切换。

工作台的网格布局

工作台的布局引擎已被重写,以使用与编辑器区域本身相同的网格小部件。这项工作已经进行了一段时间,并且在过去的几次迭代中,Insiders 版本默认启用了此功能。设置是 workbench.useExperimentalGridLayout,现在将默认启用。

切换编辑器区域 / 最大化面板

新引擎为未来的工作台布局提供了更多的灵活性。目前,这体现在能够隐藏编辑器区域。网格布局中有一个新的命令切换编辑器区域,它将隐藏编辑器区域并允许面板(例如输出或调试控制台)填充布局。切换最大化面板命令也具有相同的效果。这意味着最大化面板现在真正最大化,而不会像以前那样留下编辑器的小间隙。

下面你可以看到最大化的集成终端:

最大化面板

如果您尝试从面板或侧边栏等任何地方打开文件,编辑器将自动重新出现。

隐藏单个macOS Touch Bar条目

一个新的设置 keyboard.touchbar.ignored 可以选择性地从 macOS Touch Bar 中移除 VS Code 命令。VS Code 默认添加以下命令:

  • workbench.action.navigateBack
  • workbench.action.navigateForward
  • workbench.action.debug.start
  • workbench.action.debug.run
  • workbench.action.debug.continue
  • workbench.action.debug.pause
  • workbench.action.debug.stepOver
  • workbench.action.debug.stepInto
  • workbench.action.debug.stepOut
  • workbench.action.debug.restart
  • workbench.action.debug.stop

新编辑器组上下文键

有两个新的when子句上下文用于有条件地绑定键盘快捷键:

  • activeEditorGroupIndex - 一个从1开始的数字,反映编辑器组在编辑器网格中的位置。索引为1的组将位于左上角。
  • activeEditorGroupLast - 对于编辑器网格中的最后一个编辑器组,将为 true

注意: 查看 when 子句上下文参考 以获取完整的 when 子句上下文列表。

可访问性改进

我们在这个里程碑中继续修复无障碍问题。亮点包括:

  • 单词导航现在遵循NVDA和VoiceOver的预期。在编辑器中使用单词导航时,单词会被正确宣布。
  • Windows 放大镜工具现在可以在编辑器中跟随光标。

屏幕录制模式

对Screencast模式(开发者:切换Screencast模式)进行了多项改进:

  • 现在对屏幕录制快捷键标签的长度有限制。
  • 按键绑定标签的垂直位置可以通过screencastMode.verticalOffset设置进行调整。
  • 可以通过screencastMode.onlyKeyboardShortcuts设置来配置键绑定标签,使其仅显示实际的键盘快捷键。
  • 键盘快捷键的渲染样式得到了改进。

编辑器

光标周围行数 (scrollOff)

您现在可以通过设置editor.cursorSurroundingLines来自定义在将光标移动到文件开头或结尾时显示在光标周围的可视行数。在Vim编辑器中,此功能称为scrollOff

光标环绕行

在查找中进行多行搜索

编辑器查找控件现在支持多行文本搜索和替换。通过按下Ctrl+Enter,您可以在输入框中插入新行。

编辑器中的多行搜索

在内联差异编辑器中复制和恢复

在使用内联差异编辑器时,有新的操作可以复制或恢复已删除的内容。将鼠标悬停在内联差异编辑器中的已删除内容上,您现在可以:

  • 复制整个删除的内容
  • 复制特定行
  • 撤销更改

差异操作

转到行支持负行号

您现在可以在转到行选择器中输入负行号以从文件末尾导航。例如,输入-1将显示文件的最后一行。

全局搜索小地图装饰

小地图(代码概览)现在显示文件内搜索和全局搜索的搜索结果。

集成终端

在 terminal.integrated.cwd 中使用变量时的改进回退行为

cwd设置中使用变量时,例如:

"terminal.integrated.cwd": "${fileDirname}"

当无法解析变量时,终端现在会在控制台记录错误并回退到工作区目录,而不是抛出错误。

自动化外壳设置

除了为集成终端设置shell外,您现在还可以为自动化(如任务)指定一个shell。如果您使用tmux作为您的shell,这将特别有用,因为它并不适用于所有自动化。

"terminal.integrated.shell.osx": "/Users/user/bin/tmux_script"
"terminal.integrated.automationShell.osx": "bash",

语言

HTML 和 CSS 的 MDN 参考

VS Code 现在在 HTML 和 CSS 实体的完成和悬停时显示指向相关 MDN 参考的 URL:

HTML & CSS MDN 参考

我们感谢MDN文档团队在整理mdn-data / mdn-browser-compat-data方面的努力,并使得MDN资源能够通过VS Code轻松访问。

改进的 Less 支持

VS Code 现在支持许多新的 Less.js 功能,包括根函数、映射查找和匿名混合。

非标准和过时的CSS属性的弃用标记

CSS语言服务器采用了弃用标签实验性API,并在自动完成中显示标记为nonstandardobsolete的CSS属性的弃用标记。

CSS已弃用的属性

TypeScript 3.6

VS Code 现在附带了 TypeScript 3.6.2。这个主要更新带来了一些 TypeScript 语言的改进——包括 更严格的生成器import.meta 的支持,以及一些针对 JavaScript 和 TypeScript 的新工具功能。一如既往,此版本还包括一些重要的错误修复。

你可以在TS 3.6 博客文章上阅读更多关于 TypeScript 3.6 特性的内容。

添加缺失的await快速修复

你的代码是否有点超前了?新的添加 'await'快速修复功能可以帮助你在异步代码中await你可能忽略的值:

使用@ts-check检测JavaScript中缺失的await调用并快速修复

此快速修复适用于启用了类型检查的TypeScript和JavaScript源代码。

JavaScript 和 TypeScript 的分号感知编辑

当你在JavaScript或TypeScript源代码中添加导入或应用重构时,VS Code现在会尝试从文件中的现有代码推断是否包含分号:

没有分号

您可以在添加此功能的拉取请求上找到有关此分号检测如何工作的详细信息。一些快速修复和重构仍然不支持分号,但我们将在未来的更新中努力解决这个问题。

JSDoc 注释不再合并用于 IntelliSense

以前,如果多个JSDoc注释出现在定义之前,我们的JavaScript和TypeScript IntelliSense会将它们合并。在下面的示例中,注意User类型的文档是如何与getUser函数的文档合并的:

旧版TS版本合并了多个JSDoc注释

使用 TypeScript 3.6,我们的 IntelliSense 现在仅使用紧接在前面的 JSDoc 注释来获取文档和类型信息:

TS 3.6 仅使用紧邻的 JSDoc 注释

源代码控制

Git: 提交输入时的分支名称

当前Git分支名称现在出现在提交输入框中,以避免在错误的分支上提交:

输入框中的Git分支名称

Git: 按字母顺序排序分支列表

有一个新的git.branchSortOrder设置,可以在使用Git: Checkout to...命令切换到分支时更改分支的顺序。

Git: 支持拉取取消

当启用git.supportCancellation设置时,您将有机会取消正在进行的Git Pull请求,这在从慢速远程仓库拉取时非常有用。

调试

值变化时中断(数据断点)

从变量视图中,现在可以创建数据断点,当基础变量的值发生变化时,这些断点将被触发。与其他断点一样,数据断点可以在断点视图中禁用/启用和删除。

数据断点

请注意,数据断点需要底层运行时或调试器的特定支持,我们预计未来只有少数调试扩展(如C++和C#,但不包括Node.js)会选择加入此功能。在此版本中,只有我们的示例调试器Mock Debug“模拟”了数据断点。

调用堆栈视图改进

我们对调用栈视图进行了一些改进,最显著的是:

  • 当调试会话只有一个线程时,我们将始终隐藏线程并直接显示调用堆栈。
  • 在调用堆栈视图中点击线程和调试会话不再展开/折叠它们。只有明确点击小三角才会进行展开。此更改的原因是,在不进行一些不必要的展开的情况下更改焦点会话很繁琐。在我们的大纲视图中可以看到相同的行为。
  • 以前当有新的调试会话时,调试视图会获得焦点。现在,调试视图只有在会话实际中断时才会获得焦点。
  • 调试会话元素仅在实际存在该会话的线程时显示一个折叠图标。

用于启动调试目标的新shell设置

在集成终端中启动调试目标时,VS Code 现在会遵循新的“自动化用 shell”设置(terminal.integrated.automationShell...)。如果您在集成终端中使用特定的默认 shell(例如 tmux),该 shell 在启动调试目标时不适用于自动化,此设置将非常有用。

"terminal.integrated.shell.osx": "/Users/user/bin/tmux_script"
"terminal.integrated.automationShell.osx": "bash",

对扩展的贡献

帮助webview扩展添加内容安全策略

我们已经识别出一些创建Webviews的扩展,这些扩展没有内容安全策略。虽然这不会立即引起问题,但作为良好的安全实践,所有webview都应该有一个内容安全策略。在这个迭代中,我们已经开始针对这些扩展提出问题,以使他们意识到这一建议。

如果你有兴趣让你日常使用的一些扩展变得更安全,可以查看VS Code issue #79340并提交PR来帮助他们。

GitHub 拉取请求

在这个里程碑中,我们继续致力于改进GitHub Pull Requests扩展,包括错误修复和功能,如合并拉取请求后删除分支和远程。更多详情请参阅我们的八月里程碑计划

远程开发(预览)

工作仍在继续在远程开发扩展上,这些扩展允许您使用容器、远程机器或Windows Subsystem for Linux (WSL) 作为全功能的开发环境。

为了帮助您开始使用远程开发扩展,这里有三个入门教程:

  • Dev Containers - 在 Docker 容器中运行 Visual Studio Code。
  • Remote via SSH - 通过SSH使用Visual Studio Code连接到远程和虚拟机。
  • 在WSL中工作 - 在Windows子系统Linux中运行Visual Studio Code。

你也可以阅读最近的一篇博客文章,描述了使用WSL和Visual Studio Code进行Linux开发的技巧和窍门

1.38版本的功能亮点包括:

  • VS Code 稳定版预览支持 Alpine Linux 容器、Alpine WSL 发行版和 ARMv7l / AArch32 SSH 主机。
  • VS Code Insiders 对 ARMv8l / AArch64 SSH 主机的实验性支持。
  • 对开发容器的改进,包括一个新的容器资源管理器!

您可以在远程开发发布说明中了解新的扩展功能和错误修复。

扩展开发

VS Code 图标库

我们已经发布了一个包含所有VS Code图标的仓库,供扩展作者使用。每个图标都有深色/浅色版本,我们还链接到了我们的Figma设计文件

VS Code 图标

Webview.asWebviewUri 和 Webview.cspSource

webviews上有两个新属性:

  • Webview.asWebviewUri - 将本地文件系统的URI转换为可以在webview中使用的URI。

    对于桌面版的VS Code,这将把file: URI转换为vscode-resource: URI。

  • Webview.cspSource - Webview资源的内容安全策略源。

    对于桌面版的VS Code,这将是字符串vscode-resource:

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 imagePath = vscode.Uri.file(path.join(extensionPath, 'media'));

panel.html = `<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="Content-Security-Policy" content="default-src 'none'; img-src ${
      panel.webview.cspSource
    } https:;">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Cat Coding</title>
</head>
<body>
    <img src="${panel.webview.asWebviewUri(imagePath)}/cat.gif" width="300" />
</body>
</html>`;

创建没有内容安全策略的webview时的警告

在开发使用Webview API的扩展时,我们现在会在您创建未设置内容安全策略的webview时记录警告。

缺少CSP的webview的调试警告

所有的webview(即使是非常简单的)都应该设置内容安全策略。这有助于限制内容注入的潜在影响,并且通常是深度防御的良好措施。我们已经在Webview扩展指南中记录了如何向VS Code webview添加内容安全策略。

机器特定的可覆盖设置

您现在可以定义一个机器特定的设置,该设置可以在工作区和文件夹级别使用范围machine-overridable进行覆盖。

"configuration": {
  "title": "My Extension Settings",
  "properties": {
   "myextension.libPath": {
      "type": [
        "string",
        "null"
      ],
      "markdownDescription": "Specify the path to the library.",
      "default": null,
      "scope": "machine-overridable"
    }
  }
}

自定义树视图中的多选

通过createTreeView贡献的树现在可以向TreeViewOptions添加canSelectMany选项。这使得在贡献的树视图中启用多选,并导致在树元素上运行的命令在第二个命令参数中接收所有选定的树元素作为数组。

markdown.api.render

VS Code 内置的 Markdown 扩展中的新命令 markdown.api.render 接受一个 Markdown 的 string 或一个 vscode.TextDocument,并返回渲染后的 Markdown 为 HTML:

import * as vscode from 'vscode';

export function activate(context: vscode.ExtensionContext) {
  vscode.commands.executeCommand('markdown.api.render', '# Hello Markdown').then(result => {
    console.log(`rendered markdown: ${result}`);
  });
}

日志:

rendered markdown: <h1 id="hello-markdown" data-line="0" class="code-line">Hello Markdown</h1>

标记为稳定的自定义数据

2019年1月1.31版本中作为实验性功能引入的自定义数据格式现在被标记为稳定。

  • html.experimental.customData - 此设置已弃用,并由 html.customData 取代。
  • css.experimental.customData - 此设置已弃用,并由 css.customData 取代。
  • contributes.html.experimental.customData - 此贡献点已被弃用,并由 contributes.html.customData 取代。
  • contributes.css.experimental.customData - 此贡献点已被弃用,并由contributes.css.customData取代。

您可以在microsoft/vscode-custom-data的文档和示例中了解更多关于如何使用自定义数据格式来增强VS Code的HTML/CSS语言支持的信息。

已弃用的 workspace.rootPath

当我们添加了对多根工作空间的支持时,我们弃用了API workspace.rootPath,转而使用workspace.workspaceFoldersworkspace.getWorkspaceFolder。我们注意到许多扩展仍然使用这个API,尽管它在多根工作空间中无法正常工作。如果您拥有使用此API的扩展,请更新它,因为我们可能希望在未来移除这个API。您可以在Adopting-Multi-Root-Workspace-APIs wiki页面上找到更多关于如何摆脱rootPath的详细信息。

调试适配器协议

完成建议的改进

调试适配器现在可以使用新的功能completionTriggerCharacters来声明前端UI在REPL或调试控制台中用于触发完成建议UI的字符。如果未指定,前端UI应使用'.'字符来触发建议UI。

此外,我们为CompletionItem类型添加了一个可选的sortText属性。通过这个属性,调试适配器可以控制前端UI如何对适配器返回的完成建议进行排序。如果缺少该属性,前端可能会根据label属性对项目进行排序。

修复了DAP的JSON模式中的类型问题

调试适配器协议 JSON 模式中,我们在那些浮点类型没有意义的地方,例如对于ID,将类型说明符number更改为integer

提议的扩展API

每个里程碑都伴随着新的提议API,扩展作者可以尝试使用它们。我们一如既往地重视您的反馈。以下是您尝试提议API需要做的事情:

  • 你必须使用Insiders,因为提议的API经常变化。
  • 您必须在扩展的package.json文件中包含这一行:"enableProposedApi": true
  • 将最新版本的vscode.proposed.d.ts文件复制到您的项目中。

请注意,您不能发布使用提议API的扩展。我们可能会在下一个版本中进行重大更改,并且我们从不希望破坏现有的扩展。

符号和补全的弃用标签

用于补全和文档/工作区符号的API现在支持将项目标记为已弃用。补全和符号有一个新的可选属性tags,它是一组CompletionItemTagSymbolTag。目前,仅支持弃用标记,但计划添加更多标签,例如访问修饰符和其他修饰符的标签。

下面的代码片段展示了一个最小的完成项提供程序,它渲染了一个被标记为弃用的项。

vscode.languages.registerCompletionItemProvider('plaintext', {
  provideCompletionItems() {
    const item = new vscode.CompletionItem('deprecated_completion');
    item.tags = [vscode.CompletionItemTag.Deprecated];
    return [item];
  }
});

当显示已弃用的补全或符号时,名称上会呈现删除线,项目会稍微变暗,并且不会显示高亮:

智能补全中的已弃用项

Pseudoterminal.onDidClose 现在接受一个数字

提议的Pseudoterminal.onDidClose已从Event更改为Event,允许扩展作者指示终端或CustomExecution2任务失败。

已移除的废弃提议终端API

已弃用的 TerminalOptions.runInBackgroundcreateTerminalRenderer API 已被移除。如果您需要迁移这些功能,应分别使用 TerminalOptions.hideFromUser(稳定版)和 ExtensionTerminalOptions(提议版)。

新命令

我们现在在编辑器、集成终端、扩展详细信息视图和Webviews中的查找控件中公开了用于浏览搜索结果的命令。

Key Command Command ID
Enter Find Next Result in Editor editor.action.nextMatchFindAction
⇧Enter (Windows, Linux Shift+Enter) Find Previous Result in Editor editor.action.previousMatchFindAction
⇧Enter (Windows, Linux Shift+Enter) Find Next Result in Integrated Terminal workbench.action.terminal.findNext
Enter Find Previous Result in Integrated Terminal workbench.action.terminal.findPrevious
Enter Find Next Result in Extension Details View editor.action.extensioneditor.findNext
⇧Enter (Windows, Linux Shift+Enter) Find Previous Result in Extension Details View editor.action.extensioneditor.findPrevious
Enter Find Next Result in Webview editor.action.webvieweditor.findNext
⇧Enter (Windows, Linux Shift+Enter) Find Previous Result in Webview editor.action.webvieweditor.findPrevious

显著的修复

  • 26012: 自动插入括号与补全功能不兼容,导致字符重复
  • 47292: 由任务创建的诊断信息对扩展不可访问
  • 73884: Linux: 从FTP连接打开的文件显示为空
  • 75054: macOS 简单全屏功能再次正常工作
  • 77293: 在provideDebugConfigurations和resolveDebugConfigurations中尊重CancelationToken以取消调试
  • 77735: workspace.applyEdit 如果在后面有 RenameFile 时,会丢弃 TextEdit
  • 77747: 文件夹视图中显示的文件名$(xx)不正确
  • 77990: 从TS/JS文件开始显著比打开其他文件慢
  • 77996: 文件 > 另存为将光标移动到文件开头
  • 78147: 配置任务操作应显示新添加的任务并将光标定位在那里
  • 78179: 使用类型过滤器调用 'tasks.fetchTask()' 会获取所有任务
  • 79478: 在markdown文件中高亮显示自定义HTML标签
  • 79704: 支持在JSDoc中使用@example
  • 79763: 编辑器:即使有未保存的更改,也可以关闭所有编辑器
  • 79798: 编辑器:当 workbench.editor.revealIfOpen 为 true 时,组未激活
  • 78046: SCM: 支持为文件暂存选定的更改,感谢来自Darrien Singleton (@OneThatWalks)PR #78562
  • 79625: 为 "preLaunchTask" 结构提供代码补全

感谢您

最后但同样重要的是,向以下帮助使VS Code变得更好的人们表示衷心的感谢!

vscode 的贡献:

对我们问题跟踪的贡献:

请查看我们的社区问题跟踪页面,如果您想帮助我们管理收到的议题。

vscode-css-languageservice 的贡献:

vscode-html-languageservice的贡献:

vscode-eslint 的贡献:

  • @salvofid: 修复 https://github.com/microsoft/vscode-eslint/issues/682 PR #698

language-server-protocol的贡献:

debug-adapter-protocol的贡献:

vscode-loader的贡献:

vscode-recipes的贡献:

localization的贡献:

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

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

  • 波斯尼亚语: Ismar Bašanović, Ernad Husremovic.
  • 保加利亚语: Hristiqn Hristov, Иван Иванов, Любомир Василев, Gheorghi Penkov.
  • 捷克语: Tadeáš Cvrček, Daniel Padrta, David Jareš, Jan Hajek, Jakub Stibůrek, Michal Franc, Jan Kos, Radim Hampl, Jiří Hofman, Samuel Tulach, Jan Brudný.
  • 丹麦语: René Pape, Lasse Stilvang, Allan Kimmer Jensen, Lars Vange Jørgensen, Alexander Matzen, Martin Liversage, Johan Fagerberg, Thomas Larsen, Anders Lund, Anton Ariens.
  • 荷兰语: Leroy Witteveen, Laurens Kwanten, Pieterjan De Clippel, Maxim Janssens, Luc Sieben, Hans Zoons, Jos Verlinde, Eric Algera, Damien van Gageldonk, Maxim Van Damme, Sven Klaasen, Tom Meulemans, Sujith Quintelier.
  • 英语(英国): Martin Littlecott, Alexander Ogilvie, Tobias Collier, William Wood, Cloud Sky, Fabio Zuin, Mohit Nain, sonali Dixit, Dan Jacobs, Giorgi Jambazishvili, Sulkhan Ninidze, alshyab wa3ed, YASHU MITTAL, Tejas kale, Mohammad Idrees, Chris Dias.
  • 芬兰语: Petri Niinimäki, Kiti Suupohja, Lasse Leppänen, Sebastian de Mel, Riku Riikonen, Valtteri Vatanen.
  • 法语: Griffard, Thierry DEMAN-BARCELÒ, Corwin D'Ambre, Mohamed Sahbi, Rodolphe NOEL, Maxime Coquerel, Steven Dugois, Cédric M., Michael VAUDIN, Bastien Boussouf, Alicia lic, francois-joseph du fou, franto, DJ Dakta.
  • 德语: Julian Pritzi, Joscha Mathis, Jan Widmer, Jakob von der Haar, Frank Lindecke, Dejan Dinic, Florian Erbs, Patrick Burke, Mario Koschischek, Florian Berger, Christof Opresnik, Hans Meiser, Carsten Kneip, Ettore Atalan, Thorsten Hans, Meghana Garise, Sebastian Seidl.
  • 希腊语: Δημήτρης Παπαϊωάννου, Sotiris Koukios-Panopoulos, Jim Spentzos, Θοδωρής Τσιρπάνης, Stratos Kourtzanidis, Charalampos Fanoulis, John D, Stavros Papadakis, Vassilis Vouvonikos.
  • 希伯来语: חיים לבוב, Shalom Craimer, Matan Amos, Eyal Ellenbogen, Snir Broshi, Kyle Orin.
  • 印地语: Satish Yadav, Amit Gusain, Sanyam Jain, Abhirav Kushwaha, Ashok Kumar Rathore, nirav adatiya, Rajeev Desai, shaswat rungta, Kumar Vaibhav, Pramit Das, Jagjeet Singh, Pratishek PII, Kiren Paul, Chethana S, Piyush Sonagara, KRISHNA TANDON, Kishan K, Dhanvi Kapila.
  • 匈牙利语: Levente Borbély, Péter Nagy, Alex Kiss, Levente Hallai Seiler, Dániel Tar, Richard Borcsik, Boldi Kemény.
  • Chinese Simplified: Tingting Yi, 斌 项, paul cheung, 建东 薛, Yiting Zhu, feiyun0112 feiyun0112, Justin Liu, Yizhi Gu, Joel Yang, 刘瑞恒 刘瑞恒, Edi Wang, Junzhe Liu, Dave Young, 张锐, Fan Su, 昊宇 周, Pluwen, Tony Xia, Yu Zhang, XIANG ZUO, 少民 谈, 彦佐 刘, Zhiqiang Li, 志乐 龚, 福永 叶, G.Y. Z, Hao Hu, meng shao, Horie Yuan, Xiangrui Kong, 王文杰, Liam Kennedy, 赵畅畅, Charles Lee, 松阳 樊, anson zhang, Young Bige, Shi Liu, Wang Debang, Jarvis Jiang, Lin ai, Jessica Zhang, Licheng Ren, , 驰 雷, sun qing, xiong Fu, Lynne Dong, zhao yu, 吉姆 舒, 红东 黄, 剑秋 陶, 游 尤, Hanlin Yang, bh wu, Bravo Yeung, Michael Zhang, Hanyu ZHANG, Y F, WangCG duoduobear, 越 郑, ziqiang sun, 正元 刘, Jiang LI, 擎 钟, peng wei, 涛 徐, 逍遥 许, 瑜 周, WL, 伟 全, rsy iridescent, Simon Chan, 海龙 黄, 仁松 陈, Jieting Xu, panda small, 翼 张, Chen Yang, Wang Weixuan, Ludi Fang, 舜杰 杨, 建 周, cuibty wong, 立飞 李, 雨齐 刘, 涛 罗, 九鼎 谭, LI ZHAO.
  • Chinese Traditional: 謝政廷, Yi-Jyun Pan, Winnie Lin, LikKee 沥祺 Richie, Martin Lau, salagadoola _, 牧村 蔡, Jeremy, 小克, 煾 雪.
  • 印度尼西亚语: Jakka Prihatna, Septian Adi, Arif Fahmi, Laurensius Dede Suhardiman, Bakhtiar Amaludin, Heston Sinuraya, Riwut Libinuko, Hendra Widjaja, Rachmat Wahidi, Franky So, Bervianto Leo Pratama, Eriawan Kusumawardhono, Rifani Arsyad, Afnizar Nur Ghifari, Pradipta Hendri, Christian Elbrianno, Azhe Kun.
  • 意大利语: Alessandro Alpi, Bruni Luca, Luigi Bruno, Andrea Dottor, Riccardo Cappello, Moreno Bruschi, Aldo Donetti, andrea falco, Emanuele Meazzo, Michael Longo, Marco Dal Pino.
  • Japanese: EbXpJ6bp -, nh, Kyohei Uchida, Takayuki Fuwa, Yoshihisa Ozaki, Hasefumi, TENMYO Masakazu, Michihito Kumamoto, Koichi Makino, Aya Tokura, Seiji Momoto, Yosuke Sano, Makoto Sakaguchi, Kyohei Moriyama, 裕子 知念, Rie Moriguchi, Fujio Kojima, 美穂 山本, taniokae, 太郎 西岡, Kazuya Ujihara, Hiroomi Kurosawa, Yasuaki Matsuda.
  • 韩语: Hongju, 우현 조, Jong Heun Shin, 형섭 이, Kyunghee Ko, Youngjae Kim, siin lee, Jae Yong Kum, Hoyeon Han, Kevin Lee, SeungJin Jeong, Hong Kwon.
  • 拉脱维亚语: Kaspars Bergs, Andris Vilde.
  • 立陶宛语: Andrius Svylas, Augustas Grikšas, Tautvydas Derzinskas, Karolis Kundrotas, Martynas J..
  • 挪威语: Andreas Rødland, Cookius Monsterius, Dag H. Baardsen, Ole Kristian Losvik, Stephan Eriksen, Agnethe Seim Olsen.
  • 波兰语: Warchlak, Wojciech Maj, Marcin Weksznejder, Rafał Całka, Tomasz Świstak, Tomasz Wiśniewski, Marek Biedrzycki, Szymon Seliga, Michal Szulc, Jakub Żmidziński, Bartek PL, Igor 05, Rafał Wolak, Tomasz Chojnacki, Piotr Grędowski, Czech Kaczmarek, Artur Pelczar, Marcin Floryan, Paweł Modrzejewski, Jakub Jedryszek, Michał Stojke, Artur Zdanowski.
  • 葡萄牙语(巴西): Marcondes Alexandre, Alessandro Trovato, Marcelo Fernandes, Roberto Fonseca, Albert Tanure, Judson Santiago, Junior Galvão - MVP, Ray Carneiro, Lucas Miranda, Rodrigo Crespi, Thiago Dupin Ugeda, Renan Miguel, Weslei A. de T. Marinho, Rafael Lima Teixeira, Eduardo Moura, Gerardo Magela Machado da Silva, Bruno Talanski, Bruno Sonnino, Loiane Groner, Marcos Albuquerque, Jucinei Pereira dos Santos, Emmanuel Gomes Brandão, Fábio Corrêa, Flávio Albuquerque Camilo, Pablo Garcia, Alessandro Fragnani, Andrei Bosco, Daniel Luna, José Rafael de Santana, Douglas Ivatiuk Martim, Giuliano Reginatto, Marcos Dias, Alan William, Lucas Nunes, Gabriel Schade, Lucas Santos, arthurdenner ., Mauricio Lima, Igor Felix, Gabriel Barbosa, Fabio Lux, Guilherme Pais, Victor Cavalcante, Letticia Nicoli, Becky Marques, Fernando Val, Milton Camara, Saymon Damásio, Felipe Scuissiatto, Rodrigo Vieira, Djonathas Cardoso, André Gama, Gustavo Bezerra, Cynthia Zanoni, Marcelo Guerra, Jhonathan Soares, Rafael Laranja, Swellington Soares.
  • 葡萄牙语(葡萄牙): Ana Rebelo, Nuno Carapito, Pedro Daniel, Pedro Teixeira, João Carvalho, Diogo Barros, José Rodrigues, Sandro Pereira, Vitor Barbosa, Tiago Antunes, Daniel Correia.
  • 罗马尼亚语: Mihai Marinescu, Stefan Gabos, Dragos Marinescu, Alexandru Staicu.
  • 俄语: Andrey Veselov, Дмитрий Кирьянов, netf0rger, michael v, Иван Лещенко, nata kazakova, Анатолий Калужин, Валерий Батурин, Эдуард Тихонов.
  • 塞尔维亚语: Milos Zivkovic, Radovan Skendzic.
  • 西班牙语: Andy Gonzalez, Ricardo Estrada Rdez, Carlos Mendible, Alvaro Enrique Ruano, Engel Aguilar, José María Aguilar, David Fernández Aldana, Ricardo Rubio, Thierry DEMAN, Gabriel Perez, julian3xl, Adolfo Jayme, Ing. Sergio Uziel Tovar Lemus, Mario Mendieta, Jorge Serrano Pérez.
  • 瑞典语: Johan Spånberg, Notetur Nomen.
  • 泰米尔语: Kondasamy Jayaraman, Merbin J Anselm, Jeyanthinath Muthuram, Mani M, Boopesh Kumar, Vignesh Rajendran, Jaganathan B, Nithun Harikrishnan, Purusothaman Ramanujam, கருணாகரன் சமயன், Krishna Pravin, Jeffin R P, Sakthi Raj, Vetri ., Ranjith kumar.
  • 土耳其语: mehmetcan Gün, Meryem Aytek, Fıratcan Sucu, Anıl Mısırlıoğlu, Mehmet Yönügül, Ahmetcan Aksu, Ömer Sert, Sinan Açar, Misir Jafarov, Umut Can Alparslan, Yakup Ad, Hüseyin Fahri Uzun, Murat Pala, S. Ferit Arslan, Mesut Pişkin, Okan Çetin, Bruh Moment, Muhammed Emin TİFTİKÇİ, Burak Göksel.
  • 乌克兰语: Dmytro Kutianskyi, Yaroslav, Max Harasym, Arthur Murauskas, Sviatoslav Ivaskiv, George Molchanyuk, Did Kokos, Alexander Varchenko, Вадим Шашков, Евгений Коростылёв.
  • 越南语: Khôi Phạm, Van-Tien Hoang, Việt Anh Nguyễn, Belikhun, Spepirus Shouru, Vuong Bui, Chủ Tất, Poon Nguyễn.