现已推出!阅读 10 月份的新功能和修复。

2018 年 4 月(版本 1.23)

更新 1.23.1:此更新解决了这些 问题

下载:Windows:x64 | Mac:Intel | Linux 64 位:deb rpm tarball | 32 位:deb rpm tarball


欢迎使用 2018 年 4 月发布的 Visual Studio Code。在这次里程碑中,VS Code 团队一直专注于 API 工作以支持扩展作者,但此版本中仍然有很多更新,我们希望您会喜欢。一些主要亮点包括

如果您想在线阅读这些发行说明,请访问 更新code.visualstudio.com 上。
您也可以查看这个 1.23 版本的 亮点视频 来自云开发者倡导者 Brian Clark

发行说明按以下部分排列,这些部分与 VS Code 的重点领域相关。以下是一些进一步的更新

  • 编辑器 - 更好的 Unicode 文件支持,更稳定的编辑器定位。
  • 工作区 - 复制搜索结果,更好的 Git 克隆工作流,VS Code 进程资源管理器。
  • 调试 - 日志点表达式支持智能完成和显示结构化对象。
  • 语言 - JavaScript/TypeScript“整理导入”操作,持久性 Markdown 预览。
  • 扩展作者 - 新的 webview 和文件系统提供程序 API,“源”文件级操作。

内部人员:想要尽快看到新功能?您可以下载夜间 内部人员 构建并尝试最新更新,只要它们可用。

编辑器

突出显示的缩进指南

VS Code 现在可以突出显示活动缩进指南,当您在不同的源代码块之间移动光标时。

Highlighted indent guides

突出显示颜色名称是 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 中,可以通过按住 ShiftAlt,然后使用左键来添加列(框)选择。现在中键也可以用来创建列选择

Editor column selection

注意:当将 editor.multiCursorModifier 设置为 ctrlCmd 时,修饰符在 Windows 上为 ShiftCtrl,在 macOS 上为 ShiftCmd

改进的 UTF-16 编码文件的处理

VS Code 一直支持文件的 UTF-16 编码,但需要 BOM(字节顺序标记)才能正确检测到这种编码。如果 VS Code 没有找到 BOM,则不会打开文件,用户会看到一条信息消息。

在此版本中,我们在此消息中添加了一个新操作,以便在编辑器中将文件作为文本打开

Open binary file message

打开后,您可以更改编码以尝试解码文本。

此外,VS Code 现在使用一种启发式方法,尝试自动检测没有 BOM 的 UTF-16。这种启发式方法应该适用于所有仅包含 ASCII 字符的 UTF-16 文件。

改进的编辑器定位

在某些情况下,当更改编辑器滚动高度时(例如,调整换行编辑器的大小,使用鼠标滚轮缩放或修改代码透镜),编辑器将尝试保持视窗中的居中行。VS Code 现在保持视窗中的第一行,提供更稳定的外观。

Improved editor stability

工作区

问题视图筛选

您现在可以使用过滤器在“问题”视图中包含或排除文件。

  • 在过滤器输入框中使用 glob 模式来包含/排除文件。排除模式必须以 ! 为前缀。例如,!*.js 将删除所有具有 .js 扩展名的文件。
  • 有一个使用文件排除设置进行筛选按钮,用于删除与您的 files.exclude 设置匹配的所有文件。

下面的简短视频展示了根据 files.exclude 设置筛选项目 out 目录,并在过滤器输入框中键入 !**/node_modules/** 以忽略所有 node_modules

Filter problems

NPM 脚本运行

使用设置 npm.enableScriptExplorer,您可以启用一个资源管理器,该资源管理器显示工作区中定义的脚本。

NPM script explorer

资源管理器支持

  • package.json 文件或 scripts 部分(当选中 package.json 文件时)中打开一个脚本。这是选择脚本时的默认操作。
  • 将脚本作为 任务 运行,并将输出显示在集成终端中。
  • 调试脚本。要启动 node 调试器,脚本需要定义一个 node 调试选项,例如 --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

从搜索上下文菜单中复制结果

搜索结果树上下文菜单包括三个新选项:复制复制路径复制全部。这是一个非常 👍 的请求,它将使共享或导出搜索结果变得更容易。

Copy search

独立的搜索包含和排除输入框的回归

上个月,我们在“搜索”视图中合并了包含和排除输入框,试图简化和简化它,同时也节省了一些垂直空间。但是,我们从 你们许多人那里 了解到,这并不符合您使用“搜索”视图的方式。最终,我们决定简单地撤消更改,因此在此版本中,我们回到了之前 1.22 中的独立包含/排除框。请注意,您不需要在排除框中的模式上使用 !

include exclude

自定义活动栏视图

扩展作者现在可以将自己的 视图容器 添加到活动栏中。根据您安装的扩展,更新后您可能会看到诸如自定义资源管理器之类的 UI 从文件资源管理器移动到新的自定义视图容器中。例如,在下面您可以看到,来自 Azure 应用服务Azure 数据库 扩展的资源管理器已移动到专用 Azure 视图中。

Azure view in the Activity Bar

查看正在运行的 Visual Studio Code 进程

使用开发者:打开进程资源管理器命令或帮助 > 打开进程资源管理器菜单项打开一个新窗口,其中包含有关正在运行的 VS Code 进程的不断更新的信息。进程与其 CPU 和内存使用情况、PID 和友好名称一起列出,并且可以从右键单击时出现的上下文菜单中终止。

Process Explorer

集成终端

对终端拆分的多分支支持

现在,您将在多分支工作区中能够选择将终端拆分的文件夹。可以通过将 workbench.action.terminal.splitInActiveWorkspace 命令绑定到键来重新启用旧的行为。

语言

CSS 区域折叠

您现在可以使用 /* #region *//* #endregion */ 将区域标记为在 CSS/SCSS/Less 中可折叠。在 SCSS/Less 中,您也可以使用 // #region// #endregion 作为折叠标记。

Improved CSS Folding

改进的 CSS 新属性支持

以前,VS Code 会对一些实验性 CSS 属性(例如 backdrop-filter)显示“未知属性”错误

CSS Unknown Property

您要么必须完全关闭 CSS 语言服务器,要么忍受此错误,即使您使用的是允许您使用实验性 CSS 属性的 CSS 框架(例如 PostCSS)。

在此版本中,使用从 Mozilla 开发者网络 获取的数据,VS Code 现在识别了 87 种新的 CSS 属性。如果您可以在 MDN 上找到 CSS 属性,VS Code 应该能够识别它。

此外,使用来自 MDN 的数据,VS Code 现在在 CSS/SCSS/Less 中提供了增强的补全,显示了每个 CSS 属性的语法和状态值。

CSS Support powered by MDN data

虽然目前没有内置支持来验证 CSS 属性值,但 CSSTree 验证器 扩展也使用来自 MDN 的数据,并根据其 值定义语法 为每个属性值提供代码提示。

CSSTree

Markdown 现在支持工作区符号搜索。在首次打开 Markdown 文件后,您可以使用 (⌘T (Windows、Linux Ctrl+T)) 搜索当前工作区中所有 Markdown 文件的标题。

Markdown workspace symbol in the VS Code docs repo

持久化 Markdown 预览

Markdown 预览现在会在您重新打开 VS Code 时自动恢复。

A Markdown preview automatically being reopened when VS Code restarts

以前,每次您重新启动 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
    }
}

调试

断点改进

断点是在上一个版本中引入的,我们已经提高了它们的易用性和实用性。

  • IntelliSense(智能完成)已添加到嵌入在日志消息和条件断点中的表达式。

  • 在 Node.js 调试中使用断点时,嵌入在日志消息中的结构化对象会在调试控制台中显示为可扩展对象。

    IntelliSense for Logpoint expressions

  • Node.js 调试中的断点现在会在调试控制台中显示其源位置。

    Logpoint location

  • 由于可以通过单击编辑器边距中的图标轻松删除断点和断点,因此您可能会意外丢失日志消息或断点条件。为了防止这种情况,VS Code 现在会在通过单击边距删除具有条件或日志消息的断点时发出提示。警报让您可以选择禁用断点而不是删除它。

  • 最后但并非最不重要的一点是,我们在 **调试** 菜单中添加了 **新建断点** > **断点...** 操作。

扩展作者

对活动栏的贡献

随着越来越多的扩展创建自定义视图,并且大多数扩展都贡献给了文件资源管理器,我们注意到资源管理器变得越来越混乱。为了扩展,VS Code 现在提供了一种方法来贡献到活动栏。例如,现在有一个 **测试** 贡献到活动栏。扩展现在可以做出自己的贡献。

测试视图容器

活动栏中现在提供了一个新的测试贡献,用于扩展贡献与测试相关的视图。此测试贡献默认情况下为空并且隐藏,并且在向其贡献视图时显示。示例显示了如何将 mocha 自定义视图贡献到活动栏中的 **测试** 活动。

"contributes": {
    "views": {
        "test": [
            {
                "id": "mocha",
                "name": "mocha"
            }
        ]
    }
}

Test views container

自定义视图容器

扩展现在可以使用贡献点 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"
                }
            ]
        }
}

Custom views container

图标规范

  • Size: 图标大小为 24x24,居中在一个 50x40 的正方形上。

  • Color: 图标应使用单色。

  • Format: 建议使用 SVG 格式的图标,但也可以接受任何图像文件类型。

  • States: 所有图标都继承以下状态样式

    状态 不透明度
    默认 60%
    悬停 100%
    活动 100%

注册了一个命令来显示每个已注册的视图容器。在上面的包资源管理器示例中,它将是 **视图:显示包资源管理器**。您还可以找到在运行命令 **视图:打开视图...** 时列出的所有视图容器。

Open View

注意: 建议您将相关的视图分组到单个视图容器中,而不是为每个视图创建一个视图容器。

源代码管理中的自定义视图

您现在可以将与源代码管理 (SCM) 相关的自定义视图贡献到活动栏中的源代码管理视图容器中。您可以像在资源管理器中一样显示、隐藏和重新排序这些视图。

"contributes": {
    "views": {
        "scm": [
            {
                "id": "git-compare",
                "name": "Compare"
            }
        ]
    }
}

SCM Custom views

文件系统提供程序

扩展现在可以从任意来源(如 ftp 服务器)提供文件和文件夹,VS Code 将像处理普通文件一样处理它们。为此,请使用 FileSystemProvider 接口,扩展将其与 URI 方案(如 ftp)关联。有了该接口,编辑器就可以发现和管理文件和文件夹(创建、删除、读取和写入)。

Files and Folders from a filesystem provider

VS Code 还可以读取和修改由文件系统提供程序提供的配置文件 (settings.jsontasks.jsonlaunch.json)。

语言标识符和文档选择器

添加文件系统提供程序意味着并非所有文件都存在于磁盘上,扩展应该意识到这一点。简短但重要的信息是,并非所有文档都存在于磁盘上,如果您的扩展依赖于磁盘访问,则必须先检查 方案

为了提高意识,我们添加了一条信息消息,当您使用语言标识符(而不是文档过滤器)注册语言功能时,该消息会显示。有关更多详细信息,请访问 文档选择器 主题。

最后,有一个您可以用于测试的示例扩展。它实现了一个文件系统,该文件系统将所有内容保留在内存中,没有任何内容在磁盘上,您可以针对该文件系统测试您的语言功能。获取扩展 在这里

注意:TextDocument.isUntitled

由于添加了文件系统提供程序,我们调整了 TextDocument.isUntitled 的语义,使其仅对新创建的文档 (使用 untitled 方案) 为 true。以前,所有来自磁盘以外的文档都被视为未命名。此更改可能会改变您的扩展的行为,尤其是在它假定未命名文档存储在磁盘上时。

读取诊断信息

有一个新的 API 用于读取诊断信息,并在诊断信息更改时收到通知,请参阅 languages.getDiagnosticslanguages.onDidChangeDiagnostics。例如,SCM 扩展现在可以检查在与团队共享更改之前是否存在错误。

改进的重命名提供程序

我们改进了 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 支持范围的复杂用户界面。

A webview showing a cat gif

一个 新的扩展创作页面 介绍了 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 仍然处于提案阶段,因此要使用它们,您必须通过在 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 支持获取所有正在运行的任务的执行对象。
  • 通过 executeTasktaskExecutions 或其中一个事件提供的 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,因此 VS Code 会将其转发到 vscode.git 扩展程序,前提是它已正确注册了协议处理程序。

由于可能会发生在扩展程序注册之前打开 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)。

Sublime Settings Importer

工程

改进的冒烟测试稳定性

VS Code 一直都有冒烟测试,用于严格控制质量。我们已自动化冒烟测试,但未能使其稳定。在这个里程碑中,我们致力于提高冒烟测试的稳定性和性能。更多详细信息可以在拉取请求 #47471中找到。

新文档

使用 Azure 存储的网站部署教程

我们有一个新的将静态网站部署到 Azure 教程,用于创建和部署使用Azure 存储的静态网站。

VS Code 博客文章

VS Code博客上最近发布了两篇文章

显著变化

  • 10663:在比较视图中切换选项卡时保留视图状态
  • 24634:macOS:添加一个设置以启用窗口的 acceptsFirstMouse
  • 29549:多线程调试应该支持停止线程
  • 46785:在没有焦点文件的情况下,“在 Finder 中显示”应打开工作区的文件夹
  • 47274:节点日志点在调试控制台中显示为 VM 源
  • 47478:检测未完全安装的扩展程序
  • 48733:引入一个选项 debug.enableAllHovers 以在调试时启用对悬停提供程序的调用
  • 46414:在终端中调试 Node.js 进程不再在调试控制台中显示输出

感谢

最后但并非最不重要的是,衷心感谢以下人员帮助我们使 VS Code 变得更加出色

vscode 的贡献

vscode-extension-samples 的贡献

language-server-protocol 的贡献

vscode-languageserver-node 的贡献

vscode-chrome-debug 的贡献

vscode-chrome-debug 的贡献

  • @digeff
    • 忽略为未知脚本解析的断点 PR #325
    • 清理堆栈跟踪,使其不包含完整的文件路径 PR #322
    • 将通知更新到最新版本 PR #320

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。