August 2019 (version 1.38)

Update 1.38.1: The update addresses these issues.

Downloads: Windows: User System | Mac | Linux: snap deb rpm tarball


Welcome to the August 2019 release of Visual Studio Code. There are a number of updates in this version that we hope you will like, some of the key highlights include:

If you'd like to read these release notes online, go to Updates on code.visualstudio.com.

Insiders: Want to see new features as soon as possible? You can download the nightly Insiders build and try the latest updates as soon as they are available. And for the latest Visual Studio Code news, updates, and content, follow us on Twitter @code!

Workbench

Preserve case in Search and Replace

In the 1.37 release, we added a Preserve Case option to the editor's Find/Replace control. The same option is now available as the AB icon in global search and replace.

There is also a new case preservation mode for hyphen-separated words.

Preserve Case button in search

Updated cancel search icon

When running long searches, we've updated the icon used to cancel a search to better represent the action.

Cancel search icon

Validation for string array settings

The settings editor now displays errors for array-of-string items if the current value does not satisfy the specified minItems, maxItems, item.enum, or item.pattern schema.

String of array error validation

VS Code now shows a prompt before opening outgoing links.

Link protection prompt

You can open the link directly or trust specific domains to bypass this prompt. With the Configure Trusted Domains button or command, you can enable/disable link protection for specific domains or all outgoing links.

Explorer improvements

Top-level resource creation

We have improved the process of creating top-level files and folders in the Explorer. There are now three ways to create a file or folder in the root of the File Explorer:

  • Scrolling beyond the last element in order to invoke the context menu on the empty space.
  • Pressing Escape clears both focus and selection in the Explorer thus making the title area actions execute on the Explorer root.
  • Using a context menu on the scroll bar.

Open file and preserve focus

It is now possible to open a file in preview from the Explorer while keeping focus in the Explorer. The new command is filesExplorer.openFilePreserveFocus and by default, it can be triggered via the Space key.

Explorer file naming

There is a new setting, explorer.incrementalNaming, to control duplicate file naming, which can have the values simple or smart.

  • simple - Appends the word "copy" at the end of the duplicated name potentially followed by a number. This is the current VS Code stable behavior.
  • smart - Adds a number at the end of the duplicated name. If a number is already part of the name, increment that number.

Maximize editor toggle command

A new command Toggle Editor Group Sizes (workbench.action.toggleEditorWidths) will toggle between maximizing the active editor group and evening out the editor group widths.

Grid layout for the workbench

The layout engine of the workbench has been rewritten to use the same grid widget as the editor area itself. This work has been in progress for some time and Insiders builds have had this enabled by default for the past couple iterations. The setting is workbench.useExperimentalGridLayout and will now be enabled by default.

Toggling the editor area / Maximizing the panel

The new engine provides more flexibility for the workbench layout in the future. For now, this manifests itself with the ability to hide the editor area. There is a new command available with the grid layout, Toggle Editor Area that will hide the editor area and allow the panel (for example Output or Debug console) to fill the layout. The Toggle Maximized Panel command also has the same effect. This means that a maximized panel is now truly maximized without the tiny gap previously left of the editor.

Below you can see the maximized Integrated Terminal:

Maximized panel

The editor will automatically reappear if you try to open a file from anywhere such as the panel or sidebar.

Hide individual macOS Touch Bar entries

A new setting keyboard.touchbar.ignored can selectively remove VS Code commands from the macOS Touch Bar. VS Code adds the following commands by default:

  • 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

New editor group context keys

There are two new when clause contexts for conditionally binding keyboard shortcuts:

  • activeEditorGroupIndex - A number starting from 1 reflecting the position of an editor group in the editor grid. The group with index 1 will be the first in the top-left corner.
  • activeEditorGroupLast - Will be true for the last editor group in the editor grid.

Note: See keybinding documentation for a full list of when clause contexts.

Accessibility improvements

We continue to fix accessibility issues in this milestone. Highlights are:

  • Word navigation now follows what NVDA and VoiceOver expect. Words are properly announced when navigating using word navigation in the editor.
  • The Windows Magnifier Tool can now follow the cursor in the editor.

Screencast mode

There have been several improvements to the Screencast mode (Developer: Toggle Screencast Mode):

  • There's now a limit on the length of the screencast keybinding label.
  • The keybinding label vertical position can be adjusted via the screencastMode.verticalOffset setting.
  • The keybinding label can be configured to render only actual keyboard shortcuts via the screencastMode.onlyKeyboardShortcuts setting.
  • The keyboard shortcuts render style was improved.

Editor

Cursor surrounding lines (scrollOff)

You can now customize the number of visible lines to display around the cursor when moving the cursor towards the beginning or end of a file by setting editor.cursorSurroundingLines. In the Vim editor, this feature is called scrollOff.

Cursor surrounding lines

Multi-line search in Find

The editor Find control now supports multiple line text search and replace. By pressing Ctrl+Enter, you can insert new lines into the input box.

Multi-line search in the editor

Copy and revert in the inline diff editor

There are new actions for copying or reverting deleted content when using the inline diff editor. Hover on deleted content in the inline diff editor and you can now:

  • Copy the whole deleted content
  • Copy a specific line
  • Revert the change

Diff actions

Go to Line supports negative line numbers

You can now type in negative line numbers to the Go to Line picker to navigate from the end of the file. For example, typing -1 will reveal the last line of the file.

Global search minimap decorations

The minimap (code overview) now shows search results for searches both within a file and global search.

Integrated Terminal

Improved fallback behavior when using variables in terminal.integrated.cwd

When using variables in the cwd setting such as:

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

instead of throwing an error when a variable cannot be resolved, the terminal will now log an error to the console and fallback to the workspace directory.

Automation shell setting

In addition to setting the shell for the Integrated Terminal, you can now specify a shell for automation (such as Tasks). This is particularly useful if you use tmux as your shell since that doesn't work with all automation.

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

Languages

MDN Reference for HTML and CSS

VS Code now displays a URL pointing to the relevant MDN Reference in completion and hover of HTML & CSS entities:

HTML & CSS MDN Reference

We thank the MDN documentation team for their effort in curating mdn-data / mdn-browser-compat-data and making MDN resources easily accessible by VS Code.

Improved Less support

VS Code now supports many new Less.js features including root functions, map lookups and anonymous mixins.

Deprecation mark for nonstandard and obsolete CSS properties

The CSS language server adopts the Deprecation Tag experimental API and shows a deprecation mark for CSS properties marked as nonstandard or obsolete in auto completion.

CSS deprecated properties

TypeScript 3.6

VS Code now ships with TypeScript 3.6.2. This major update brings some TypeScript language improvements—including stricter generators and support for import.meta, as well as some new tooling features for both JavaScript and TypeScript. As always, this release also includes a number of important bug fixes.

You can read more about the TypeScript 3.6 features on the TS 3.6 blog post.

Add missing await Quick Fix

Is your code getting a little ahead of itself? The new Add 'await' Quick Fix helps you await values that you may have overlooked in asynchronous code:

Detect missing calls to await in JavaScript using @ts-check and Quick Fix them

This Quick Fix is available in TypeScript and JavaScript source code that has type checking enabled.

Semicolon aware editing for JavaScript and TypeScript

When you add an import or apply a refactoring in JavaScript or Typescript source code, VS Code now tries to infer whether or not to include semicolons from existing code in the file:

No semicolons

You can find the details of how this semicolon detection works on the pull request that added this feature. Some Quick Fixes and refactorings as still not semicolon aware, but we will be working to address this in future updates.

JSDoc comments no longer merge for IntelliSense

Previously, our JavaScript and TypeScript IntelliSense would combine multiple JSDoc comments if they appeared before a definition. In the example below, notice how the documentation for the User type is merged with that of the getUser function:

Older TS versions merged multiple JSDoc comments

With TypeScript 3.6, our IntelliSense now only uses the immediately preceding JSDoc comment for documentation and typing information:

TS 3.6 only uses the immediately preceding JSDoc comment

Source Control

Git: Branch name on commit input

The current Git branch name now appears in the commit input box, to avoid committing on the wrong branch:

Git branch name in input box

Git: Sort branch list alphabetically

There's a new git.branchSortOrder setting to change the order of branches when checking out to a branch with the Git: Checkout to... command.

Git: Support pull cancellation

When enabling the git.supportCancellation setting, you'll have the opportunity to cancel ongoing Git Pull requests, which is useful when pulling from slow remotes.

Debugging

Breaking when value changes (Data Breakpoints)

From the Variables view, it is now possible to create data breakpoints that will get hit when the value of the underlying variable changes. Just like other breakpoints, data breakpoints can be disabled/enabled and removed in the Breakpoints view.

Data breakpoints

Please note that data breakpoints require specific support by an underlying runtime or debugger, and we expect only a few debug extensions like C++ and C# (but not Node.js) to opt into this feature in the future. For this release, only our example debugger Mock Debug "mocks" data breakpoints.

Call Stack view improvements

We have done some improvements to the Call Stack view, most notably:

  • When a debug session has just one thread, we will always hide the thread and show the call stack directly.
  • Clicking on the threads and debug sessions in the Call Stack view no longer expands / collapses them. Only an explicit click on the twistie will do the expansion. The reason for this change is that it was tedious to change the focused session without doing some unwanted expansion. The same behavior can be seen in our Outline view.
  • Previously when there was a new debug session, the Debug view would get focus. Now the Debug view gets focus only if a session actually breaks.
  • Debug session elements only display a twistie when there are actually threads for that session.

New shell setting for launching a debug target

When launching a debug target in the Integrated Terminal, VS Code now respects the new "shell for automation" setting (terminal.integrated.automationShell...). This setting is useful if you use a specific default shell for the Integrated Terminal (for example, tmux) that does not work with automation, when launching a debug target.

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

Contributions to extensions

Helping webview extensions add a Content Security Policy

We've identified a number of extensions that create Webviews that don't have a Content Security Policy. While this does not present an immediate concern, all webview should have a content security policy as a good security best practice. This iteration, we've started to open issues against these extensions to make them aware of the recommendation.

If you are interested in making some of the extensions you use everyday a bit more secure, take a look at VS Code issue #79340 and submit PRs to help them out.

GitHub Pull Requests

This milestone we continued working on improvements to the GitHub Pull Requests extension, including bug fixes and features like Delete branch and remote after merging a pull request. See our August Milestone plan for more details.

Remote Development (Preview)

Work has continued on the Remote Development extensions, which allow you to use a container, remote machine, or the Windows Subsystem for Linux (WSL) as a full-featured development environment.

To help get you started with the Remote Development extensions, there are three step-by-step tutorials:

  • Containers - Run Visual Studio Code in a Docker Container.
  • Remote via SSH - Connect to remote and virtual machines with Visual Studio Code via SSH.
  • Working in WSL - Run Visual Studio Code in Windows Subsystem for Linux.

You can also read a recent blog post describing Tips and Tricks for Linux development with WSL and Visual Studio Code.

Feature highlights in 1.38 include:

  • VS Code Stable preview support for Alpine Linux Containers, Alpine WSL distributions, and ARMv7l / AArch32 SSH hosts.
  • VS Code Insiders experimental support for ARMv8l / AArch64 SSH hosts.
  • Improvements to Remote - Containers including a new container explorer!

You can learn about new extension features and bug fixes in the Remote Development release notes.

Extension authoring

VS Code icon repository

We've published a repository of all of the VS Code icons for use by extension authors. There are dark/light versions of each icon, and we also linked to our Figma design file.

VS Code icons

Webview.asWebviewUri and Webview.cspSource

There are two new properties on webviews:

  • Webview.asWebviewUri - Convert a URI for the local file system to one that can be used inside webviews.

    For desktop VS Code, this will convert file: URIs into vscode-resource: URIs.

  • Webview.cspSource - The content security policy source for webview resources.

    For desktop VS Code, this would be the string 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>`;

Warning when creating webview without a Content Security Policy

While developing an extension that uses the Webview API, we now log a warning when you create a webview that does not set a Content Security Policy.

Debug warning for a webview that lacks a CSP

All webviews (even very simple ones) should set a content security policy. This helps limit the potential impact of content injections and is generally a good measure for defense in depth. We've documented how to add a content security policy to VS Code webviews in the Webview extension guide.

Machine-specific overridable settings

You can now define a machine specific setting that can be overridable at workspace and folder level using the scope 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"
    }
  }
}

Multi-select in custom tree view

Trees contributed through createTreeView can now add the canSelectMany option to the TreeViewOptions<T>. This enables multi-select in the contributed tree view and causes commands that are run on tree elements to receive all the selected tree elements as an array in the second command argument.

markdown.api.render

The new markdown.api.render command from VS Code's built-in Markdown extension takes a string of Markdown or a vscode.TextDocument and returns the rendered Markdown as 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}`);
  });
}

Logs:

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

Custom Data marked as Stable

The custom data format introduced as experimental feature in the January 2019 1.31 release is now marked as Stable.

  • html.experimental.customData - This setting is deprecated and superseded by html.customData.
  • css.experimental.customData - This setting is deprecated and superseded by css.customData.
  • contributes.html.experimental.customData - This Contribution Point is deprecated and superseded by contributes.html.customData.
  • contributes.css.experimental.customData - This Contribution Point is deprecated and superseded by contributes.css.customData.

You can learn more about how to use the custom data format to enhance VS Code's HTML/CSS language support in the documentation and samples at microsoft/vscode-custom-data.

Deprecated workspace.rootPath

Quite a while ago, we added support for multi-root workspaces and deprecated the API workspace.rootPath in favor of workspace.workspaceFolders and workspace.getWorkspaceFolder. We have noticed that many extensions still use this API, even though it won't work properly in multi-root workspaces. If you own an extension that uses this API, please update it as we may want to get rid of this API in the future. You can find more details about moving away from rootPath on the Adopting-Multi-Root-Workspace-APIs wiki page.

Language Server Protocol

Streaming and progress reporting support has been added to the next version of the language server protocol. Proposed implementations for the server and client are available as vscode-languageserver@5.3.0-next.10 and vscode-languageclient@5.3.0-next.9 respectively.

Debug Adapter Protocol

Improvements for completion proposals

A debug adapter can now use the new capability completionTriggerCharacters for announcing the characters that a frontend UI should use to trigger the completion proposals UI in a REPL or debug console. If none is specified, the frontend UI should use the '.' character to trigger the proposal UI.

In addition, we've added an optional sortText attribute to the CompletionItem type. With this attribute, a debug adapter can control how the frontend UI sorts the completion proposals returned by the adapter. If the attribute is missing, the frontend may sort items based on the label attribute.

Fixed a type issue in DAP's JSON schema

In the Debug Adapter Protocol JSON schema, we've changed the use of the type specifier number to integer in those places where a float type makes no sense, for example for IDs.

Proposed extension APIs

Every milestone comes with new proposed APIs and extension authors can try them out. As always we are keen on your feedback. This is what you have to do to try out a proposed API:

  • You must use Insiders because proposed APIs change frequently.
  • You must have this line in the package.json file of your extension: "enableProposedApi": true.
  • Copy the latest version of the vscode.proposed.d.ts file into your project.

Note that you cannot publish an extension that uses a proposed API. We may likely make breaking changes in the next release and we never want to break existing extensions.

Deprecation tags for symbols and completions

The API for completions and document/workspace symbols now supports marking items as deprecated. Completions and symbols have a new, optional property tags that is a set of CompletionItemTags or SymbolTags. Today, only deprecation is supported but there are plans to add more tags, for example tags for access modifiers and other modifiers.

The snippet below shows a minimal completion item provider that renders an item that's marked as deprecated.

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

When showing deprecated completions or symbols a strikeout is rendered across the names, items are slightly dimmed, and highlights aren't shown:

Deprecated items in smart completions

Pseudoterminal.onDidClose now accepts a number

The proposed Pseudoterminal.onDidClose has changed from an Event<void> to an Event<void | number>, allowing extension authors to indicate that the terminal or CustomExecution2 task failed.

Deprecated proposed terminal APIs removed

The deprecated TerminalOptions.runInBackground and createTerminalRenderer APIs have been removed. If you need to migrate off of these, you should use TerminalOptions.hideFromUser (stable) and ExtensionTerminalOptions (proposed) respectively.

New Commands

We now expose commands for navigating through search results in the Find control from the Editor, Integrated Terminal, Extension Details view, and Webviews.

Key Command Command ID
Enter Find Next Result in Editor editor.action.nextMatchFindAction
⇧⌘G (Windows, Linux Shift+Enter) Find Previous Result in Editor editor.action.previousMatchFindAction
⌘G (Windows, Linux F3) Find Next Result in Integrated Terminal workbench.action.terminal.findNext
⇧⌘G (Windows, Linux Shift+F3) 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

Notable fixes

  • 26012: Automatic insertion of parens doesn't interact nicely with completions, results in duplicated characters
  • 47292: Diagnostics created by tasks aren't accessible to extensions
  • 73884: Linux: opening files from FTP connection show up empty
  • 75054: macOS simple fullscreen is working again
  • 77293: Respect the CancelationToken in provideDebugConfigurations and resolveDebugConfigurations to cancel debugging
  • 77735: workspace.applyEdit drops the TextEdit if there is a RenameFile later
  • 77747: file name with $(xx) displayed incorrectly in folder view
  • 77990: Starting with a TS/JS file is significantly file slower than opening other files
  • 77996: File > Save As moves cursor to beginning of file
  • 78147: Configure task action should reveal the newly added task and position the cursor there
  • 78179: Invoking 'tasks.fetchTask()' with a type filter fetches all tasks
  • 79478: Highlight custom html tags in markdown files
  • 79704: Support @example <caption> in JSDoc
  • 79763: Editors: can close all editors, even if dirty
  • 79798: Editors: group not activated with workbench.editor.revealIfOpen: true
  • 78046: SCM: Support staging selected changes for new files too, thanks to Darrien Singleton (@OneThatWalks) from PR #78562
  • 79625: Provide code completion for the "preLaunchTask" structure

Thank you

Last but certainly not least, a big Thank You! to the following folks that helped to make VS Code even better:

Contributions to vscode:

Contributions to our issue tracking:

Please see our Community Issue Tracking page, if you want to help us manage incoming issues.

Contributions to vscode-css-languageservice:

Contributions to vscode-html-languageservice:

Contributions to vscode-eslint:

Contributions to language-server-protocol:

Contributions to debug-adapter-protocol:

Contributions to vscode-loader:

Contributions to vscode-recipes:

Contributions to localization:

There are over 800 Cloud + AI Localization community members using the Microsoft Localization Community Platform (MLCP), with over about 100 active contributors to Visual Studio Code. We appreciate your contributions, either by providing new translations, voting on translations, or suggesting process improvements.

Here is a snapshot of contributors. For details about the project including the contributor name list, visit the project site at https://aka.ms/vscodeloc.

  • Bosnian: Ismar Bašanović, Ernad Husremovic.
  • Bulgarian: Hristiqn Hristov, Иван Иванов, Любомир Василев, Gheorghi Penkov.
  • Czech: Tadeáš Cvrček, Daniel Padrta, David Jareš, Jan Hajek, Jakub Stibůrek, Michal Franc, Jan Kos, Radim Hampl, Jiří Hofman, Samuel Tulach, Jan Brudný.
  • Danish: René Pape, Lasse Stilvang, Allan Kimmer Jensen, Lars Vange Jørgensen, Alexander Matzen, Martin Liversage, Johan Fagerberg, Thomas Larsen, Anders Lund, Anton Ariens.
  • Dutch: 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.
  • English (United Kingdom): 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.
  • Finnish: Petri Niinimäki, Kiti Suupohja, Lasse Leppänen, Sebastian de Mel, Riku Riikonen, Valtteri Vatanen.
  • French: 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.
  • German: 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.
  • Greek: Δημήτρης Παπαϊωάννου, Sotiris Koukios-Panopoulos, Jim Spentzos, Θοδωρής Τσιρπάνης, Stratos Kourtzanidis, Charalampos Fanoulis, John D, Stavros Papadakis, Vassilis Vouvonikos.
  • Hebrew: חיים לבוב, Shalom Craimer, Matan Amos, Eyal Ellenbogen, Snir Broshi, Kyle Orin.
  • Hindi: 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.
  • Hungarian: 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, 小克, 煾 雪.
  • Indonesian: 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.
  • Italian: 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.
  • Korean: Hongju, 우현 조, Jong Heun Shin, 형섭 이, Kyunghee Ko, Youngjae Kim, siin lee, Jae Yong Kum, Hoyeon Han, Kevin Lee, SeungJin Jeong, Hong Kwon.
  • Latvian: Kaspars Bergs, Andris Vilde.
  • Lithuanian: Andrius Svylas, Augustas Grikšas, Tautvydas Derzinskas, Karolis Kundrotas, Martynas J..
  • Norwegian: Warchlak, Marcin Weksznejder, Wojciech Maj, Rafał Całka, Tomasz Świstak, Tomasz Wiśniewski, , Marek Biedrzycki, Kacper Łakomski, Szymon Seliga, Michal Szulc, Jakub Żmidziński, Bartek PL, Rafał Wolak, Igor 05, Tomasz Chojnacki, Piotr Grędowski, Czech Kaczmarek, Artur Pelczar, Marcin Floryan, Paweł Modrzejewski, Jakub Jedryszek, ‎Michał Stojke, Artur Zdanowski.
  • Polish: 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.
  • Portuguese (Brazil): 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.
  • Portuguese(Portugal): Ana Rebelo, Nuno Carapito, Pedro Daniel, Pedro Teixeira, João Carvalho, Diogo Barros, José Rodrigues, Sandro Pereira, Vitor Barbosa, Tiago Antunes, Daniel Correia.
  • Romanian: Mihai Marinescu, Stefan Gabos, Dragos Marinescu, Alexandru Staicu.
  • Russian: Andrey Veselov, Дмитрий Кирьянов, netf0rger, michael v, Иван Лещенко, nata kazakova, Анатолий Калужин, Валерий Батурин, Эдуард Тихонов.
  • Serbian: Milos Zivkovic, Radovan Skendzic.
  • Spanish: 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.
  • Swedish: Johan Spånberg, Notetur Nomen.
  • Tamil: 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.
  • Turkish: 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.
  • Ukrainian: Dmytro Kutianskyi, Yaroslav, Max Harasym, Arthur Murauskas, Sviatoslav Ivaskiv, George Molchanyuk, Did Kokos, Alexander Varchenko, Вадим Шашков, Евгений Коростылёв.
  • Vietnamese: Khôi Phạm, Van-Tien Hoang, Việt Anh Nguyễn, Belikhun, Spepirus Shouru, Vuong Bui, Chủ Tất, Poon Nguyễn.