尝试以扩展 VS Code 中的代理模式!

2019 年 10 月 (版本 1.40)

更新 1.40.1:本次更新解决了这些问题

更新 1.40.2:本次更新解决了这些问题

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


欢迎使用 2019 年 10 月发布的 Visual Studio Code。正如10 月迭代计划中所宣布的,我们专注于清理 GitHub 问题和拉取请求,这在我们的问题清理指南中有所记录。在所有 VS Code 存储库中,我们关闭(分类或修复)了 4622 个问题,这甚至比我们上次在 2018 年 9 月进行清理迭代时关闭的 3918 个问题还要多。在我们关闭问题的同时,您创建了 2195 个新问题。这导致问题净减少了 2427 个。主要的 vscode 存储库现在有 2162 个未解决的功能请求和 725 个未解决的错误。此外,我们关闭了 287 个拉取请求。作为这项工作的一部分,我们还调整了流程并更新了问题分类工作流程

与去年一样,我们使用了 Benjamin Lannon实时跟踪器来跟踪我们的进度。

Burn down chart of VS Code issues

在此清理里程碑中,我们还解决了几个功能请求和社区拉取请求。继续阅读以了解新功能和设置。

工作台

活动栏指示器

我们为活动栏中的活动项目引入了一个新指示器,以使其更加突出并提高可读性。我们还调整了非活动前景颜色,以与活动元素形成更强的对比。

Active Activity Bar indicator

您可以通过新的颜色令牌 activityBar.activeBorder 控制活动指示器。我们还为活动元素引入了一个可选的背景颜色 activityBar.activeBackground,配置后可能如下所示

Active Activity Bar indicator custom background

可主题化的窗口边框

我们引入了两个新的主题颜色 window.activeBorderwindow.inactiveBorder,用于在 VS Code 窗口周围提供边框。window.activeBorder 适用于活动(聚焦)窗口,而 window.inactiveBorder 适用于非活动(未聚焦)窗口。这些新颜色不继承任何颜色,因此必须由主题或 workbench.colorCustomizations 设置提供。如果只指定一种颜色,则该颜色的边框将应用于活动窗口和非活动窗口。

Animated image showing the use of the new window border colors

列表和树键盘滚动

现在您可以按下 ⌘↑ (Windows、Linux Ctrl+Up)⌘↓ (Windows、Linux Ctrl+Down) 来使用键盘滚动列表和树。

禅模式下更少的通知

在使用禅模式时,通知浮层将不再分散您的注意力,除非它们通知错误。您可以使用新的 zenMode.silentNotifications 设置控制此行为。您始终可以通过单击右下角的通知图标从状态栏访问所有通知。

大纲和面包屑的类型筛选器

有一些新设置可以配置大纲视图和面包屑导航中显示的符号。这些设置名为 outline.show{symbol type}breadcrumbs.show{symbol type}。例如,outline.showVariablesoutline.showFunctions 等。

Filtered Outline view

上面的屏幕截图显示了配置为不显示局部变量的大纲视图,您可以看到变量 hidden 未显示。

请注意,符号的类型由语言扩展分配。您可以将鼠标悬停在大纲视图中的符号标签上以查看正在使用的符号类型(显示在括号中)。

控制拆分编辑器时的大小行为

一个新设置 workbench.editor.splitSizing 控制拆分编辑器时的布局。默认情况下,大小将均匀分布在所有编辑器之间,如下所示

splitSizing with distribute value

将此设置更改为 split,以便当前编辑器被分成两半,而不影响其他编辑器的大小

splitSizing with split value

禁用 GPU 加速

我们收到了用户报告的问题,这些问题似乎与 GPU 如何用于渲染 VS Code 的 UI 有关。当这些用户使用额外的 --disable-gpu 命令行参数运行 VS Code 时,他们的体验会好得多。使用此参数运行将禁用 GPU 硬件加速并回退到软件渲染器。

为了方便起见,您可以将此标志添加为设置,这样就不必每次都在命令行中传递它。

要添加此标志

  • 打开命令面板 (⇧⌘P (Windows、Linux Ctrl+Shift+P))。
  • 运行**首选项:配置运行时参数**命令。
  • 此命令将打开一个 argv.json 文件来配置运行时参数。您可能已经看到了一些默认参数。
  • 添加 "disable-hardware-acceleration": true
  • 重启 VS Code。

注意: 除非您遇到问题,否则不要使用此设置!

编辑器

每种语言的 files.eol

files.eol 设置现在可以按语言设置。例如,您可以定义所有“mylanguage”语言标识符的文件都使用 \n 作为所有新文件的默认行尾序列。

"[mylanguage]": {
   "files.eol": "\n"
}

行尾序列用于新文件。对于现有文件,始终保留当前的行尾序列。要更改现有文件的行尾序列,请使用更改行尾序列命令。

使用 files.eol 语言设置,现在将“shellscript”的默认行尾序列定义为 \n

小地图缩放和改进的字体渲染

一个新设置 editor.minimap.scale 将小地图的大小配置为几个常量值之一,这对于高 DPI 或超宽显示器特别有用。此外,小地图字体的渲染现在更平滑、更清晰。

Animated image showing the ability to resize the minimap

从键盘进行定义预览悬停

有一个新命令显示定义预览悬停,用于更好地访问定义预览悬停小部件,该小部件可以通过鼠标悬停在符号上并按下取决于平台和配置的修饰键来触发。以前,只提供了显示悬停命令,这相当于将鼠标光标悬停在符号上。现在,通过显示定义预览悬停,可以通过键盘显示详细的悬停信息。

Animated image showing the use of the new Show Definition Preview Hover command

括号匹配的改进

以前,VS Code 只有在光标位于括号字符旁边时才会突出显示匹配的括号。现在,VS Code 将始终突出显示存在的封闭括号。

Image showing highlighted enclosing brackets

我们还调整了跳转到括号选择到括号操作,以使用封闭括号。

复制选区

我们添加了一个名为复制选区的新操作。执行后,当前选区将被复制,并且结果将被选中。如果没有选区,则当前行将被复制,所有这些操作都不会写入系统剪贴板。

字体功能设置

现在可以对字体功能进行更精细的控制。当配置 "editor.fontLigatures": true 时,VS Code 会打开 ligacalt。但是有些字体有更多的设置,例如 Fira Code 使用的样式集。

我们现在允许明确控制这些字体功能,例如

"editor.fontFamily": "Fira Code",
"editor.fontLigatures": true,
"[javascript]": {
  "editor.fontLigatures": "'ss02', 'ss19'",
},

上述设置将编辑器配置为使用 Fira Code 字体系列,为所有语言启用字体连字,并在 JavaScript 文件中启用“横线”('ss02')和“点零”('ss19')字体功能设置。这使得 >= 连字在 JavaScript 中呈现为带有横线,0 呈现为带有内部点

Image showing font feature settings in the editor

更好地处理 Unicode 组合字符

我们改进了对Unicode 组合字符的处理,并将这些序列视为原子字符(在光标移动、编辑操作或块光标渲染中)。这最好通过块光标样式和前后动画来演示

之前
Animation showing cursor movement before

之后
Animation showing cursor movement after

在一个相关的更改中,状态栏现在在 Col 部分显示 Unicode 点计数。

光标重做

软撤消命令已重命名为光标撤消。此操作很有用,例如在使用 ⌘D (Windows、Linux Ctrl+D) 选择下一个匹配项时,如果操作过了一次,因为它只撤消上一个光标状态更改。此外,我们现在添加了光标重做,它会重做之前撤消的光标状态更改。

差异编辑器改进

内置的差异计算以前有一个硬编码的 5 秒超时,之后它会放弃并返回一个非最小差异。您现在可以使用 "diffEditor.maxComputationTime" 配置此超时,并将超时设置为 0 将始终计算最小差异,无论需要多长时间。此外,当计算时间超过一秒时,差异编辑器现在会渲染一个进度条。

使用差异编辑器时的一个混淆源是当比较仅有前导或尾随空白差异的文件并且差异编辑器配置为忽略修剪空白时。这将导致源代码管理将文件显示为已修改,而差异编辑器将不渲染任何差异。VS Code 现在检测到这种情况时会显示一个显示空白差异按钮,以帮助您快速显示空白中的差异。这可以通过差异编辑器顶部的显示/忽略修剪尾随空白差异命令进行切换

Animation for button that shows when comparing two files that contain only whitespace diffs but the diff editor is configured to ignore trim whitespace

集成终端

现在默认支持和弦

新设置 terminal.integrated.allowChords(默认 true)允许作为和弦键绑定一部分的键绑定跳过终端进行评估,而是由 VS Code 处理(绕过 terminal.integrated.commandsToSkipShell 允许列表)。

请注意,终端中的键绑定仍存在相同的限制;在进行此评估时,将考虑优先级最高的和弦键绑定。

例如,如果一个扩展贡献了键绑定 Ctrl+M A 并且您在 keybindings.json 文件中定义了以下内容

[
  { "key": "ctrl+m a", "command": "workbench.action.terminal.toggleTerminal" },
  { "key": "ctrl+m a", "command": "workbench.action.focusLastEditorGroup" }
]

Ctrl+M A 将导致 workbench.action.focusLastEditorGroup 命令执行,因为它是最终的键绑定,并且用户键绑定优先级高于扩展贡献的键绑定。

快速滚动支持

终端现在支持 Alt + 鼠标滚轮,根据 editor.fastScrollSensitivity 设置中定义乘数更快地滚动。

右键行为的新“粘贴”选项

已向 rightClickBehavior 设置添加了一个新选项,用于在终端中右键单击时始终粘贴

"terminal.integrated.rightClickBehavior": "paste"

双击选择单词使用更多分隔符

现在,当双击终端中选择单词时,字符 ,:; 被视为单词分隔符。

如果终端的初始工作目录设置为软链接,则现在将保留该软链接。

命令导航现在可以从滚动位置工作

命令导航可以导航或选择终端中已运行的命令。这现在考虑了终端的滚动位置,因此您可以滚动、查找上一个命令,并且终端将从终端的视口向上滚动(以前它会从底部滚动)。

Command navigation jumps to nearest command after scrolling

命令导航在 macOS 上默认绑定为 Cmd+Up/Down,命令选择为 Cmd+Shift+Up/Down

如果您想在 Windows 或 Linux 上使用此功能,这里有一些示例键绑定

{
  // Terminal command tracking on Windows and Linux
  { "key": "ctrl+up",          "command": "workbench.action.terminal.scrollToPreviousCommand", "when": "terminalFocus" },
  { "key": "ctrl+down",        "command": "workbench.action.terminal.scrollToNextCommand", "when": "terminalFocus" },
  { "key": "ctrl+shift+up",    "command": "workbench.action.terminal.selectToPreviousCommand", "when": "terminalFocus" },
  { "key": "ctrl+shift+down",  "command": "workbench.action.terminal.selectToNextCommand", "when": "terminalFocus" },
}

任务

任务快速选择列表

如果只定义了一个任务,任务: 配置任务 命令现在始终跳过任务快速选择列表。要将此行为扩展到任务: 运行任务和其他任务快速选择,可以将 task.quickOpen.skip 设置为 true

新设置 task.quickOpen.history 控制在任务快速选择中显示为最近使用任务的任务数量。将 task.quickOpen.history 设置为 0 以禁用任务快速选择的最近任务部分。

具有 detail 属性的任务现在将在某些任务列表中显示。您可以通过将 task.quickOpen.detail 设置为 false 来关闭任务快速选择中的详细信息。

为文件夹运行 NPM 脚本的选项

当启用 npm.enableRunFromFolder 设置时,在选择文件夹时,文件资源管理器的上下文菜单中会显示命令在文件夹中运行 NPM 脚本...。该命令会显示一个包含该文件夹中 NPM 脚本的快速选择列表,您可以选择要作为任务执行的脚本。

慢任务提供程序警告

当任务提供程序运行缓慢时,我们现在会显示一个警告,提供如何避免减速的建议。可以为单个任务类型禁用此警告,或者通过将 task.slowProviderWarning 设置为 false 来为所有任务禁用此警告。

Slow task provider warning

禁用任务自动检测

如果您关心的所有任务都定义在 tasks.json 文件中,那么您可能希望禁用所有扩展任务提供程序,以在运行任务时提高性能。单个扩展提供一个设置来禁用其任务提供程序是很好的做法,但您现在可以通过将 task.autoDetect 设置为 off 来禁用所有任务提供程序。

问题匹配器提示

以前,任何没有问题匹配器的任务都需要在 tasks.json 中设置一个空的问题匹配器才能跳过问题匹配器提示。现在,您可以使用 task.problemMatchers.neverPrompt 为所有任务或特定任务类型禁用问题匹配器提示。问题匹配器提示中还有一个新选项可以禁用提示。

Problem matcher prompt dropdown

源代码管理

在活动编辑器更改时突出显示文件

源代码管理视图现在将自动在其树/列表视图中突出显示活动编辑器文件

SCM view highlighting the active file

Git:改进了未跟踪文件管理

现在您可以使用Git:未跟踪更改设置单独管理未跟踪文件。如果您想在源代码管理视图中将未跟踪文件显示在单独的组中,请选择 separate 选项。如果您不想看到它们,请选择 hidden。默认的提交操作将根据此设置进行调整,并且仅在使用 mixed 设置值时才将未跟踪更改包含在提交中。

Git untracked files

Git:合并提交的自动提交消息

每当 VS Code 检测到您正在进行 git 合并提交时,它将自动使用 Git 的默认提交消息填充提交输入框。

Git merge commit message

Git:在资源管理器中显示

现在有一个上下文菜单操作在资源管理器中显示,用于从源代码管理视图中的 Git 存储库中在文件资源管理器中显示文件。

Git Reveal in Explorer

Git:克隆进度

克隆操作现在支持在右下角通知中显示进度

Git clone progress

调试

断点可以显示在概览尺中

为了在大文件中使用断点时更方便,现在可以通过启用新设置 debug.showBreakpointsInOverviewRuler 将断点显示在编辑器的概览尺中。

breakpoints in overview ruler

复合调试配置的预启动任务

目前,每个调试配置都可以通过 preLaunchTask 属性指定一个在调试会话开始前运行的任务。这在调试单个程序时运行良好,但在使用涉及多个程序的复合配置时变得笨拙。

在此里程碑中,我们为每个复合调试配置添加了 preLaunchTask 支持。有了这个,单个任务可以在启动各个调试会话之前构建所有调试目标。如果发生构建错误,则不启动任何会话。

prelaunch task for compound debug configurations

语言

CSS 媒体查询符号

在 CSS/SCSS/Less 文件中,媒体查询符号现在显示在大纲视图、面包屑路径和转到文件中符号列表中

CSS media query symbols

typescript.tsserver.maxTsServerMemory

如果您正在使用包含数千个文件的大型 TypeScript 项目,新的 typescript.tsserver.maxTsServerMemory 设置允许您增加为 IntelliSense 提供支持的 TypeScript 服务器的最大内存使用量。

扩展创作

vscode.env.uiKind

添加了一个新的 API vscode.env.uiKind,以便扩展可以知道它正在哪种 UI 中运行。为了支持在浏览器中运行 VS Code,可能的值是 UIKind.WebUIKind.Desktop

调用层次结构提供程序 API

我们已经完成了调用层次结构提供程序 API:CallHierarchyProvider。它支持查看调用层次结构功能,该功能查找函数、方法等的调用者和调用。

任务 CustomExecution

CustomExecution 任务类型 API 已最终确定。如果 shell 或进程任务不适合您的任务,您可以使用 CustomExecution 任务在扩展中执行回调。在任务提供程序扩展指南中了解更多信息。

调试 API:“startDebugging”请求的“consoleMode”选项

在上次里程碑中,我们引入了一个新的提议 API,用于控制调试会话的层次结构是共享一个调试控制台还是使用单独的控制台。此 API 现已正式发布,您可以在 Marketplace 上发布的扩展中使用它。

图标颜色令牌

我们很高兴终于为我们的图标引入了新的颜色令牌。我们正在慢慢为某些区域添加这些,下面是第一批。

符号

这些图标出现在大纲视图、面包屑导航和建议小部件中。

  • symbolIcon.arrayForeground
  • symbolIcon.booleanForeground
  • symbolIcon.classForeground
  • symbolIcon.colorForeground
  • symbolIcon.constructorForeground
  • symbolIcon.constantForeground
  • symbolIcon.enumeratorForeground
  • symbolIcon.enumeratorMemberForeground
  • symbolIcon.eventForeground
  • symbolIcon.fieldForeground
  • symbolIcon.fileForeground
  • symbolIcon.folderForeground
  • symbolIcon.functionForeground
  • symbolIcon.interfaceForeground
  • symbolIcon.keyForeground
  • symbolIcon.keywordForeground
  • symbolIcon.methodForeground
  • symbolIcon.moduleForeground
  • symbolIcon.namespaceForeground
  • symbolIcon.nullForeground
  • symbolIcon.numberForeground
  • symbolIcon.objectForeground
  • symbolIcon.operatorForeground
  • symbolIcon.packageForeground
  • symbolIcon.propertyForeground
  • symbolIcon.referenceForeground
  • symbolIcon.snippetForeground
  • symbolIcon.stringForeground
  • symbolIcon.structForeground
  • symbolIcon.textForeground
  • symbolIcon.typeParameterForeground
  • symbolIcon.unitForeground
  • symbolIcon.variableForeground

Symbol icon colors

问题和通知

我们将问题和通知图标的默认颜色设置为继承自编辑器前景颜色,因此如果您更改这些颜色,它将继承到其他区域

Problem icon colors

您还可以明确设置问题面板和通知的图标颜色

  • problemsErrorIcon.foreground
  • problemsWarningIcon.foreground
  • problemsInfoIcon.foreground
  • notificationsErrorIcon.foreground
  • notificationsInfoIcon.foreground
  • notificationsWarningIcon.foreground

灯泡

灯泡图标也可以主题化

  • editorLightBulb.foreground
  • editorLightBulbAutoFix.foreground

Lightbulb icon colors

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(`https://:${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}`);
}

对于 http:https: URI,如果扩展程序在客户端计算机上运行,则 asExternalUri 是一个空操作。但是,如果扩展程序正在远程运行,vscode.env.asExternalUri 会自动建立从本地计算机到远程 target 的端口转发隧道,并返回隧道的本地 URI。

如果使用 vscode.env.uriScheme URI 调用 asExternalUri,则它会返回一个 URI,如果该 URI 在浏览器中打开(例如通过 openExternal),则会触发注册的 URI 处理程序。

删除实验性自定义数据设置和贡献点

[html/css].experimental.customData 设置和 contributes.[html/css].experimental.customData 贡献点在 1.38 中已弃用,现已删除。您可以改用稳定的自定义数据设置和贡献点。要了解有关自定义数据格式的更多信息,请参阅 microsoft/vscode-custom-data 存储库。

extensionKind 可以是数组

package.json 中,extensionKind 属性可以是 "ui""workspace",以指示扩展在远程情况下应该在哪里运行。在此版本中,extensionKind 现在可以是数组。例如,["ui", "workspace"] 表示扩展可以在 "ui""workspace" 端运行,如果安装在 "ui" 端,则优先在 "ui" 端运行。

建议的扩展 API

每个里程碑都会带来新的提议 API,扩展作者可以进行尝试。一如既往,我们渴望您的反馈。以下是试用提议 API 的方法:

  • 您必须使用 Insiders 版本,因为提议的 API 经常更改。
  • 您的扩展的 package.json 文件中必须包含以下行:"enableProposedApi": true
  • 将最新版本的 vscode.proposed.d.ts 文件复制到您项目的源位置。

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

支持智能感知替换模式

我们正在开发一项功能,允许用户决定建议是替换现有文本还是仅插入。例如,在 con|st 中接受 console 可能导致 console(替换)或 consolest(插入)。两种模式都有其优点,最终取决于当前上下文和用户偏好。为了使此功能发挥最佳作用,我们需要扩展告诉我们该怎么做。因此,我们建议向 CompletionItem#range 属性添加一个新类型,将其更改为

interface CompletionItem {
  range?: Range | { insert: Range; replace: Range };
}

该范围仍然是可选的或只是一个简单的范围,但它也可以是两个范围:一个用于插入,一个用于替换。有关更多详细信息,请参阅问题 #10266

任务详情

Task 上有一个新属性,任务提供程序可以使用它在 UI 中显示任务时为其添加 detail。您还可以在 tasks.json 中使用 detail 属性。内置的 npm 扩展使用任务详细信息来显示将运行哪个 npm 脚本。

tasks with detail

支持将 WebviewPanelOptions 传递给自定义编辑器

本次迭代我们继续推进自定义编辑器 API 提案的工作。现在,提议的 registerWebviewEditorProvider 函数接受一组 options,允许您在自定义编辑器 Webview 中启用retainContextWhenHidden 和其他功能

export function registerWebviewEditorProvider(
  viewType: string,
  provider: WebviewEditorProvider,
  options?: WebviewPanelOptions
): Disposable;

工程

在浏览器中测试 VS Code

现在有一个最小设置,VS Code 可以在浏览器中运行,可用于开发和测试。浏览器实例仍然缺少一些功能,并且正在积极开发中。

在您的 vscode 存储库的本地分支中,从命令行执行 yarn web 并访问 https://:8080/。有关克隆和构建 vscode 存储库的更多详细信息,请参阅设置说明

VS Code running in a browser

注意: 不要将此设置用于任何严肃的开发。目的是允许社区向 VS Code 贡献更改,以改善浏览器中的整体体验。

使用 TypeScript 3.7 构建 VS Code

VS Code 现在使用 TypeScript 3.7 构建。这是一个令人兴奋的更新,因为它允许我们在代码库中使用可选链(?.(并带来许多其他改进)。

您现在可以通过安装JavaScript 和 TypeScript Nightly 扩展来开始在 VS Code 中使用 TypeScript 3.7 功能。

Electron 6.0 更新

在此里程碑中,我们完成了将 Electron 6 捆绑到 VS Code 的探索,这是此 Electron 版本首次与稳定版一起发布。这是一个主要的 Electron 版本,附带 Chromium 76.0.3809.146 和 Node.js 12.4.0(与我们当前使用 Chromium 69 和 Node.js 10.11.0 的版本相比,这是一个重大飞跃)。

我们已开始探索更新到 Electron 7,希望很快能将其推送到 Insiders。

值得注意的修复

  • 78634:调整大小时终端内容消失(powershell/conpty)
  • 25854:无法拖动 Markdown 预览以启动新的编辑器组
  • 81824:Webview 编辑器未出现在“从历史记录中打开上一个编辑器”命令中

感谢

最后但同样重要的是,衷心感谢!以下帮助使 VS Code 变得更好的各位:

对我们问题跟踪的贡献

如果您想帮助我们管理传入问题,请参阅我们的社区问题跟踪页面。

vscode 的贡献

language-server-protocol 的贡献

vscode-eslint 的贡献

vscode-json-languageservice 的贡献

vscode-css-languageservice 的贡献

node-jsonc-parser 的贡献

debug-adapter-protocol 的贡献

vscode-vsce 的贡献

inno-updater 的贡献

localization 的贡献

有 800 多名云 + AI 本地化社区成员使用 Microsoft 本地化社区平台 (MLCP),其中约有 100 名活跃贡献者为 Visual Studio Code 做出贡献。我们感谢您的贡献,无论是提供新翻译、投票翻译还是提出流程改进建议。

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

  • 波斯尼亚语 (拉丁语, 波斯尼亚和黑塞哥维那):Adnan Rizvan。
  • 捷克语:Michal Franc, Jan Hruby。
  • 丹麦语:Lasse Stilvang, Frederik bruun。
  • 荷兰语:Laurens Kwanten, Lemuel Gomez, Niels ter Haar。
  • 英语 (英国):Graham Smith, Martin Littlecott, Alexander McLean。
  • 法语:Antoine Griffard, Rodolphe NOEL, Bruno Lewin, Maxime Bouveron, DJ Dakta。
  • 德语:Simon Haag, Adrian Bähr, Julian Tomsik。
  • 希伯来语:Ariel Bachar。
  • 印地语:Kishan K, Rohit Raj。
  • 简体中文:Yizhi Gu, paul cheung, 项斌, 谭顺, 一斤瓜子, Charles Lee, Peng Zeng, Charles Dong, 姜楠, yungkei fan, ztluo, David Huang, 普鲁文, Zhen-Qi Liu, zhichen zhao, Phil Wang。
  • 繁体中文:Jimmy Hu, 船長, E L, Winnie Lin。
  • 印度尼西亚语:Jakka Prihatna, Eriawan Kusumawardhono, Nicko Satria Utama, Christian Elbrianno, Septian Adi。
  • 意大利语:Alessandro Alpi, Luigi Bruno。
  • 日语:Yuta Ojima, Michihito Kumamoto, Aya Tokura, TENMYO Masakazu, Takayuki Fuwa, Koichi Makino。
  • 韩语:Hongju, Sungjin Jeong。
  • 波兰语:Andrzej Poblocki, Kacper Łakomski。
  • 葡萄牙语 (巴西):Marcelo Fernandes, Marcondes Alexandre, Roberto Fonseca, Alessandro Fragnani, Arthur Renato, Jota Freitas Jr, Caio Felippe Curitiba Marcellos。
  • 葡萄牙语 (葡萄牙):Pedro Filipe。
  • 罗马尼亚语:Andrei Tudor, Bogdan Mateescu, Stefan Gabos。
  • 俄语:Kazakov Lex, Vadim Svitkin, TJS。
  • 西班牙语:Aleks M, José María Aguilar, Jerónimo Milea, Ricardo Estrada Rdez, Abdón Rodríguez P。
  • 瑞典语:Sven Axelsson, Patric Högman。
  • 泰米尔语:Pradeep Krishnan。
  • 土耳其语:Ahmetcan Aksu, Cansu Gürler, Mehmet Yönügül, Umut Can Alparslan。
  • 乌克兰语:Arthur Murauskas, Oleh Hatsenko, Oleksandr Krasnokutskyi, Did Kokos。
  • 越南语:huy dk, Việt Anh Nguyễn, Ha Xuan Anh Nguyen, Quoc Han Dinh。