VS Codeのエージェントモードを拡張するには、を試してください!

2019年2月 (バージョン 1.32)

更新: 各更新で対処された問題 - 1.32.3 - 1.32.2 - 1.32.1

ダウンロード: Windows: x64 | Mac: Intel | Linux 64-bit: deb rpm tarball | 32-bit: deb rpm tarball


Visual Studio Code 2019年2月リリースへようこそ。このバージョンには多くの重要な更新が含まれており、皆様に気に入っていただけると幸いです。主なハイライトは以下のとおりです。

これらのリリースノートをオンラインで読みたい場合は、code.visualstudio.com更新 にアクセスしてください。
Cloud Developer AdvocateのBrian Clarkによる、この1.32リリースハイライトビデオもぜひご覧ください。

リリースノートは、VS Codeの重点分野に関連する以下のセクションにまとめられています。さらに詳しい更新は以下の通りです。

  • ワークベンチ - キーボードナビゲーションコントロール、アウトラインビュー、ブレッドクラムでツリーウィジェットを使用。
  • エディター - Fix Allソースアクションで保存時に修正可能、列選択の改善。
  • 言語 - TypeScriptおよびMarkdown拡張機能のインストール時にリロード不要。
  • 拡張機能の作成 - デバッグツールバーにコマンドを追加、最後のメソッドシグネチャの選択を追跡。

Insiders: 新機能をできるだけ早く試したいですか? 夜間ビルドのInsidersをダウンロードして、最新の更新をすぐに試すことができます。Visual Studio Codeの最新ニュース、更新、コンテンツについては、Twitterで@codeをフォローしてください!

ワークベンチ

新しいテーマのプレビューと適用

拡張機能をインストールした後すぐに、カラーテーマとファイルアイコンテーマをプレビューして適用できるようになりました。

Applying Theme

キーボード ショートカットエディター

キーボードショートカットエディターでキーバインドのwhen句を編集できるようになりました。

Changing When expression

キーボードショートカットエディターからkeybindings.jsonファイルを開くリンクを削除し、エディターのタイトルバーの右にある{}ボタンを使用するように変更しました。

keybindings.jsonファイルを直接編集する場合、デフォルトのキーバインドは左側に表示されなくなりました。デフォルトのキーバインドを表示したい場合は、ワークベンチ > 設定: デフォルトのキーバインドを開く設定(workbench.settings.openDefaultKeybindingstrueに)を確認してください。

自動キーボードナビゲーション設定

新しい設定リスト: 自動キーボードナビゲーションは、リストとツリーが要素をナビゲートおよびフィルタリングするために辞書式のキー入力をキャプチャするかどうかを制御します。無効にすると、キーボードナビゲーションはモーダルになり、list.toggleKeyboardNavigationコマンドはその状態を切り替えます。このコマンドに特定のキーボードショートカットを割り当てることができます。たとえば、/に設定すると、/を押した後のみ、後続のキー入力がリスト/ツリーの項目をフィルタリングします。この設定はデフォルトで有効になっています。

以下は、ファイルエクスプローラーで/を使用してキーボードナビゲーションを切り替えるキーバインドです

{
  "key": "/",
  "command": "list.toggleKeyboardNavigation",
  "when": "filesExplorerFocus"
}

Linuxでのデフォルトのタイトルバースタイル

ユーザーからのフィードバックを受けて、Linuxでのデフォルト設定window.titleBarStylecustomからnativeに戻すことを決定しました。アクセシビリティサポートを向上させたい場合は、引き続きカスタムタイトルバーをお勧めします。この変更に関する詳細情報は、Linuxセットアップページに記載されています。

アウトラインとブレッドクラムのための新しいツリーウィジェット

アウトラインドキュメントシンボルビューとブレッドクラムピッカーは、新しいツリーウィジェットを採用しました。新しい実装により、それらはより高速になり、より良いフィルタリングサポートが提供され、他の新しいツリーウィジェットの機能強化も含まれています。

エディター

ホバーと問題のピークの改善

このリリースでは、問題ホバーにクイック修正問題のピークアクションを含むコマンドバーが追加されました。クイック修正アクションはホバーからクイック修正を適用し、問題のピークアクションはエディターでピークビューを開きます。

Problem Hover

問題のピークビューから、前後のエラー/警告に移動できるようになりました。

Problem Peek

ホバーと問題のピークビューの表示も改善されました。問題やコードブロックを含むホバーには、その内容を表示するのに十分なスペースが与えられています

Hover

自動修正と優先コードアクション

Code Action APIは、VS Codeのクイック修正(エディターに表示される電球)を支えています。特定のエラーに対して多くのクイック修正がある場合でも、問題に対する最も妥当な修正は1つであることがよくあります。たとえば、スペルミスを修正することは、通常、新しいフィールドを生成するよりも可能性の高い修正です。

拡張機能は、Code Actionを「優先」としてマークし、それが根本的な問題に対する最も妥当な修正であることを示すことができるようになりました。優先修正が利用可能な場合、電球に青いバッジが追加されます。優先修正は、自動修正コマンド(⌥⌘. (Windows, Linux Shift+Alt+.))を使用して自動的に適用できます。

Preferred fixes are indicated with a blue badge on the lightbulb

優先クイック修正は通常、次のとおりであるべきです。

  • 根本的なエラーを正しく修正する(抑制しない)。
  • エラーに対する妥当な修正である。
  • 予期せず広範囲な操作を実行しない。

リファクタリングのCode Actionも、最も妥当なリファクタリングであることを示すために優先としてマークできます。たとえば、複数の定数を抽出リファクタリングが利用可能な場合でも、ユーザーは通常、最も近いローカルに抽出したいと考えます。そのリファクタリングのCode ActionがisPreferredとマークされている場合、ユーザーはそれに対して単一のキーバインドを設定できます

{
  "key": "ctrl+shift+r ctrl+e",
  "command": "editor.action.codeAction",
  "args": {
    "kind": "refactor.extract.constant",
    "preferred": true
  }
}

すべてのソースアクションを修正

新しいsource.fixAll CodeActionKindは、ファイル内のエラーを自動修正できる拡張機能のための規則を確立します。この新しいSource Actionの種類は、インポートの整理に似ており、すべての修正アクションのキーバインドを簡単に構成したり、保存時に自動修正を有効にしたりできます。

// On save, run both fixAll and organizeImports source actions
"editor.codeActionsOnSave": {
    "source.fixAll": true,
    "source.organizeImports": true,
}

TSLint拡張機能はすでにsource.fixAll Code Actionの種類を使用して、すべてを修正し、保存時に自動修正を実装しています。

expandLineSelectionのデフォルトのキーバインドの変更

expandLineSelectionコマンドは、デフォルトでCtrl+L (macOSではCmd+L) にバインドされ、Ctrl+I (Cmd+I) ではありません。

列選択の改善

マルチカーソル修飾子設定をCtrl (macOSではCmd) を使用するように構成し、"editor.multiCursorModifier": "ctrlCmd"とし、Alt修飾子を定義への移動にのみ使用する場合、エディターで選択範囲をドラッグするときにAlt修飾子を押すと、通常の選択と列選択を切り替えることができるようになりました。

次のビデオでは、選択が通常の選択として始まり、マウスボタンを離すまでAltが押され続けています。

Column Selection with the Alt key

言語

TypeScript 3.3.3

このリリースにはTypeScript 3.3.3が含まれています。これはいくつかの重要なバグを修正した小さな更新です。

TypeScript拡張機能のインストール時にリロード不要

前回のイテレーションで、VS Codeはほとんどの拡張機能をインストールした後にリロードを要求しないように変更されました。VS Codeは、TypeScriptプラグイン拡張機能の動的ロードもサポートするようになりました。TSLintなどの新しいTypeScript拡張機能をインストールすると、リロードすることなく自動的に有効になります。

Markdown拡張機能のインストール時にリロード不要

さらに、GitHub Markdown Previewのような拡張機能をインストールした後、VS Codeをリロードする必要がなくなりました。アクティブなMarkdownプレビューは、Markdown拡張機能がインストールされるとすぐに自動的に更新されます。

ARIA属性のHTML IntelliSenseの改善

W3CおよびMDNから取得したデータのおかげで、VS CodeはARIA (Accessible Rich Internet Applications) 属性とDOMイベントの説明を表示するようになりました。

HTML IntelliSense for ARIA and Event attributes

HTML拡張機能からRazorサポートを削除

従来のASP.NET Razorサポートは削除されました。Razorファイルの編集には、C#拡張機能の使用を推奨します。

デバッグ

デバッグコンソールのフォント設定

デバッグコンソールのフォントサイズ、フォントファミリー、行の高さを、debug.console.fontSizedebug.console.fontFamilydebug.console.lineHeightの設定を使用して構成できるようになりました。

Debug Console font

デバッグコンソールのテキスト折り返し

新しいツリーウィジェットの採用により、デバッグコンソールは、オブジェクト内の属性を含むすべての要素で自動テキスト折り返しをサポートするようになりました。

Debug Console wrap

統合ターミナル

シーケンスコマンド送信での変数サポート

workbench.action.terminal.sendSequenceコマンドで変数を使用できるようになりました。例えば、

{
  "key": "ctrl+shift+t",
  "command": "workbench.action.terminal.sendSequence",
  "args": { "text": ". ${file}" }
}

プレビュー機能

プレビュー機能はリリース準備ができていませんが、使用できる程度には機能しています。開発段階での皆様の早期フィードバックをお待ちしております。

サーバープログラムのデバッグ時にURIを自動的に開く

Webプログラムの開発では通常、デバッガーでサーバーコードにヒットさせるために、Webブラウザーで特定のURLを開く必要があります。このマイルストーンでは、このプロセスを柔軟な方法で自動化しようとするVS Codeの新機能の最初のカットを追加しました。

以下は、シンプルなNode.js Expressアプリケーションの例です

var express = require('express');
var app = express();

app.get('/', function(req, res) {
  res.send('Hello World!');
});

app.listen(3000, function() {
  console.log('Example app listening on port 3000!');
});

このアプリケーションは、まず "/" URLの「Hello World」ハンドラーをインストールし、次にポート3000でHTTP接続のリッスンを開始します。ポートはデバッグコンソールでアナウンスされ、通常、開発者はブラウザーアプリケーションにhttps://:3000と入力します。

新しい機能により、起動構成に構造化されたプロパティserverReadyActionを追加し、実行する「アクション」を選択できるようになりました。

{
  "type": "node",
  "request": "launch",
  "name": "Launch Program",
  "program": "${workspaceFolder}/app.js",

  "serverReadyAction": {
    "pattern": "listening on port ([0-9]+)",
    "uriFormat": "https://:%s",
    "action": "openExternally"
  }
}

ここで、patternプロパティは、ポートを通知するプログラムの出力文字列に一致するための正規表現を記述します。ポート番号のパターンは括弧で囲まれているため、正規表現のキャプチャグループとして利用できます。この例では、ポート番号のみを抽出していますが、完全なURIを抽出することも可能です。

uriFormatプロパティは、ポート番号をURIに変換する方法を記述します。最初の%sは、一致するパターンの最初のキャプチャグループに置き換えられます。

結果のURIは、URIのスキーム用に構成された標準アプリケーションでVS Codeの外部で(「外部的に」)開かれます。

または、actiondebugWithChromeに設定することもできます。この場合、VS CodeはURIに対してChromeデバッグセッションを開始します(これにはDebugger for Chrome拡張機能がインストールされている必要があります)。このモードでは、Chromeデバッグセッションに渡されるwebRootプロパティを追加できます。

少し簡略化するために、ほとんどのプロパティはオプションであり、次のフォールバック値を使用します。

  • pattern: "listening on.* (https?://\\S+|[0-9]+)" は、一般的に使用されるメッセージ「listening on port 3000」または「Now listening on: https://:5001」に一致します。
  • uriFormat: "https://:%s"
  • webRoot: "${workspaceFolder}"

そして、これが実際の機能です

Server ready feature in action

この機能のプレビューリリースでは、次の点に注意してください。

  • パターンはデバッグコンソールでのみ一致します。統合ターミナルでデバッグターゲットが起動された場合はまだ機能しません (外部ターミナルでは決して機能しません)。
  • debugWithChromeが構成されていても、Debugger for Chrome拡張機能がインストールされていない場合、機能は警告しません。
  • 他のブラウザーベースのデバッガーはまだ使用できません。

拡張機能の作成

デバッグツールバーへのコマンドの貢献

拡張機能は、デバッグツールバーにコマンドを貢献できるようになりました。

以下は、拡張機能のpackage.jsonの例です。

"contributes": {
  "commands": [
    {
      "command": "dart.hotReload",
      "title": "Hot Reload",
      "icon": {
        "dark": "./media/hot_reload_inverse.svg",
        "light": "./media/hot_reload.svg"
      }
    }
  ],
  "menus": {
    "debug/toolbar": [
      {
        "command": "dart.hotReload",
        "when": "debugType == dart",
        "group": "dart"
      }
    ]
  }
}

拡張機能は、デバッグツールバーの右側に「ホットリロード」ボタンを追加します。

Add to debug toolbar

SignatureHelpContext.activeSignatureHelp

SignatureHelpContextオブジェクトに、以前にアクティブだったシグネチャを追跡するactiveSignatureHelpフィールドが追加されました。

import * as vscode from 'vscode';

class MySignatureHelpProvider implements vscode.SignatureHelpProvider {
    provideSignatureHelp(
        document: vscode.TextDocument,
        position: vscode.Position,
        token: vscode.CancellationToken,
        context: vscode.SignatureHelpContext
    ): vscode.ProviderResult<vscode.SignatureHelp> {
        // The active signature help when this provider was triggered or undefined if
        // no signature help was active.
        console.log(context.activeSignatureHelp);

        ...
    }
}

プロバイダーはこれを使用して、シグネチャヘルププロバイダーが再トリガーされる前にユーザーがどのオーバーロードを選択したかを追跡できます。

提案された拡張API

各マイルストーンには新しい提案APIが付属しており、拡張機能開発者はこれらを試すことができます。いつものように、皆様からのフィードバックをお待ちしております。提案APIを試すには、次の手順を実行します。

  • 提案APIは頻繁に変更されるため、Insiders版を使用する必要があります。
  • 拡張機能のpackage.jsonファイルに次の行が必要です: "enableProposedApi": true
  • vscode.proposed.d.tsファイルの最新バージョンをプロジェクトにコピーします。

提案APIを使用する拡張機能は公開できないことに注意してください。次回のリリースでは互換性のない変更が行われる可能性があり、既存の拡張機能を壊すことは決して望ましくありません。

workspace.registerResourceLabelFormatter

export interface ResourceLabelFormatter {
  scheme: string;
  authority?: string;
  formatting: ResourceLabelFormatting;
}

export interface ResourceLabelFormatting {
  label: string; // myLabel:/${path}
  separator: '/' | '\\' | '';
  tildify?: boolean;
  normalizeDriveLetter?: boolean;
  workspaceSuffix?: string;
  authorityPrefix?: string;
}

export namespace workspace {
  export function registerResourceLabelFormatter(
    formatter: ResourceLabelFormatter
  ): Disposable;
}

拡張機能は、registerResourceLabelFormatterを使用して、ワークベンチのあらゆる場所でURIを表示する方法を指定する動的なリソースラベルフォーマッターを提供できます。

エンジニアリング

Linux 32-bitサポートがまもなく終了

VS Codeは、複数のプラットフォームで動作するためのフレームワークとしてElectronを使用しています。現在Electronバージョン3.xを使用していますが、これはLinuxの32ビットアーキテクチャをサポートする最後のバージョンとなります。間もなくElectron 4.xに移行する予定(1〜2ヶ月)ですので、VS CodeはLinux 32ビットでは動作しなくなります。お使いのVS Codeのバージョンを64ビット版にアップデートしてください。すべての設定と拡張機能は、何も移行する必要なく以前と同様に機能します。詳細については、Electronの関連ブログ記事をご覧ください。

厳密なnullチェックの進捗

メインのVS Codeコードベースの厳密なnullチェックに向けて、引き続き順調に進捗しました。このイテレーションでは、残っていた厳密なnullエラーの数を半分に減らし、2000以上のエラーを修正しました。まだ約1800の厳密なnullエラーが残っており、残りのエラーの多くは厄介なものですが、終わりは見えてきました。

ES6へのコンパイル

VS CodeはTypeScriptで記述されており、TypeScriptはJavaScriptにコンパイルされます。TypeScriptはさまざまなJavaScriptバージョンをターゲットにできますが、このリリースではES6 JavaScriptをターゲットにしています。ES6はTypeScriptにはるかに近く、生成されるコードが少ないため、読み込み時間が短縮されます。

注: これは、私たちのJavaScript出力がJavaScriptで定義されているクラスを使用することを意味します。これらのクラスから関数を「拡張」することを可能にするユーティリティがあり、拡張機能の作成者がES6も出力できるように追跡項目を作成しました。すべては以前と同様に機能するはずですが、ES6の波に乗ることをお勧めします。

拡張機能への貢献

GitHubプルリクエスト

このマイルストーンでは、GitHubプルリクエスト拡張機能の改善作業を続けました。

以下にいくつかの新機能を示します。

  • プルリクエストの概要ページでレビュー担当者とラベルを表示および割り当てる。
  • GitHubプルリクエストのツリービューが独自のビューコンテナに表示されるようになりました。githubPullRequests.showInSCMを変更することで、ソース管理ビューに表示することもできます。
  • コメントに対するリアクションの表示と変更。

Vetur

Vetur拡張機能は、Vue.jsの補間に対してIntelliSense(スマート補完)を提供するようになりました。

補完項目は、Vue.jsのpropsdatacomputed、およびmethods API呼び出しから取得されます。ソースコードとJSDocドキュメントは、補完項目の説明として使用されます。

親コンポーネントから子コンポーネントを使用する場合、Veturは子コンポーネントのpropsに対してもIntelliSenseを提供します。

Vetur IntelliSense for Vue templates

その他の注目すべき機能は次のとおりです

  • <template>フォーマッターのオプションとしてPrettierを使用。
  • GraphQLカスタムブロック構文ハイライト。
  • Pug補間構文ハイライト。

Veturの変更履歴で機能の詳細を確認できます。

新しいドキュメント

webpackによる拡張機能のバンドル

拡張機能の作者向けに、webpackで拡張機能ファイルをバンドルして拡張機能の読み込み時間を短縮する新しい拡張機能のバンドルトピックが追加されました。

webpack logo

JavaScript の操作

新しいJavaScriptの操作記事では、VS Codeがサポートする高度なJavaScript機能について説明しています。JavaScriptプロジェクトファイル (jsconfig.json) をコードに追加するメリットや、型チェックを有効にする方法について学ぶことができます。

注目すべき修正点

  • 55084: バックスラッシュを含むファイル名の作成/開示を許可
  • 68204: 「folder/subfolder/file.txt」のようなパスから作成した後、新しいファイルがエクスプローラーに表示されない
  • 68316: 新しいワークベンチエクスプローラーツリービューが正しく更新されない
  • 68616: nodejs(mochaテスト)のデバッグ中にデバッグポイントがヒットするが、視覚的な表示がない
  • 68691: エクスプローラーで新しいファイルを作成するための入力ボックスがない
  • 68627: 「サイドバーで表示」が機能しない
  • 67970: 新しいエクスプローラー: エディターを切り替えるときにフォーカスをクリアする必要がある

このリリースには、Microsoft Security Response Center CVE-2019-5786のセキュリティ更新も含まれており、詳細についてはこのElectronブログ記事で確認できます。

ありがとうございます

最後に、そしてもちろん最も重要なこととして、Visual Studio Codeをさらに良くするために協力してくれた以下の方々に、心からの感謝を申し上げます!

課題追跡への貢献。寄せられた課題の管理にご協力いただける場合は、Community Issue Tracking ページをご覧ください。

vscodeへの貢献者

vscode-languageserver-nodeへの貢献者

node-jsonc-parserへの貢献

vscode-generator-codeへの貢献者

vscode-vsceへのコントリビューション

vscode-recipesへの貢献

localizationへの貢献

Microsoft Localization Community Platform (MLCP) を使用しているCloud + AI Localizationコミュニティメンバーは700人以上おり、Visual Studio Codeには約100人のアクティブな貢献者がいます。

新しい翻訳の提供、翻訳への投票、プロセス改善の提案など、皆様の貢献に感謝いたします。

貢献者のスナップショットを以下に示します。貢献者名リストを含むプロジェクトの詳細については、プロジェクトサイトhttps://aka.ms/vscodelocをご覧ください。

  • ボスニア語: Ismar Bašanović.
  • ブルガリア語: Любомир Василев.
  • チェコ語: Jakub Stibůrek, Samuel Tulach, Jan Brudný.
  • デンマーク語: Lasse Stilvang, Alexander Matzen, Johan Fagerberg.
  • オランダ語: Jos Verlinde, Eric Algera.
  • 英語 (イギリス): Mohammad Idrees.
  • フィンランド語: Petri Niinimäki, Riku Riikonen, Valtteri Vatanen.
  • フランス語: Mohamed Sahbi, Antoine Griffard, Maxime COQUEREL, franto.
  • ドイツ語: Frank Lindecke, Jakob von der Haar, Hans Meiser, Carsten Kneip, Sebastian Seidl.
  • ギリシャ語: Jim Spentzos, John D, Δημήτρης Παπαϊωάννου.
  • ヘブライ語: Snir Broshi, Kyle Orin.
  • ヒンディー語: Satish Yadav, Ashok Kumar Rathore, nirav adatiya, Amit Gusain, shaswat rungta, Jagjeet Singh, Pratishek PII, Chethana S, Dhanvi Kapila.
  • 中国語簡体字: Tingting Yi, 斌 项, feiyun0112 feiyun0112, 建东 薛, 刘瑞恒 刘瑞恒, Junzhe Liu, Dave Young, 昊宇 周, Joel Yang, Tony Xia, XIANG ZUO, Edi Wang, Zhiqiang Li, 福永 叶, G.Y. Z, Hao Hu, Pluwen, meng shao, YITING ZHU, Xiangrui Kong, Liam Kennedy, 松阳 樊, Young Bige, Justin Liu, Jessica Zhang, Licheng Ren, 驰 雷, 彦佐 刘, xiong Fu, Fan Su, Lynne Dong, 吉姆 舒, 游 尤, 剑秋, 陶, Hanlin Yang, bh wu, Y F, WangCG duoduobear, ziqiang sun, 越 郑, Jiang LI, 正元 刘, peng wei, 瑜 周, 仁松 陈, 翼 张, Ludi Fang, 九鼎 谭. 中国語繁体字: 奕濬 潘, Winnie Lin.
  • ハンガリー語: Péter Nagy, Dániel Tar.
  • インドネシア語: Laurensius Dede Suhardiman, Afnizar Nur Ghifari, Pradipta Hendri, Azhe Kun, イタリア語 (イタリア), Bruni Luca, Alessandro Alpi, Andrea Dottor, Riccardo Cappello, Aldo Donetti, Michael Longo.
  • 日本語: nh, EbXpJ6bp -, Masakazu TENMYO, Takayuki Fuwa, Makoto Sakaguchi, 裕子 知念, Rie Moriguchi, Koichi Makino, Fujio Kojima, Kazuya Ujihara.
  • 韓国語: Jong Heun Shin, Kyunghee Ko, Jae Yong Kum, SeungJin Jeong.
  • ノルウェー語: Cookius Monsterius, Stephan Eriksen.
  • ポーランド語: Grzegorz Miros, Tomasz Świstak, Michal Szulc, Bartek PL, Szymon Seliga, Tomasz Chojnacki, Marcin Weksznejder, Artur Pelczar, Marcin Floryan, Jakub Jedryszek.
  • ポルトガル語 (ブラジル): Marcondes Alexandre, Albert Tanure, Marcelo Fernandes, Junior Galvão - MVP, Ray Carneiro, Eduardo Moura, Bruno Talanski, Bruno Sonnino, Jucinei Pereira dos Santos, Emmanuel Gomes Brandão, Flávio Albuquerque Camilo, Pablo Garcia, Lucas Miranda, Giuliano Reginatto, Alan William, Lucas Nunes, Gabriel Schade, arthurdenner., Mauricio Lima, Roberto Fonseca, Letticia Nicoli, Milton Camara, Alessandro Fragnani, Marcelo Guerra, Cynthia Zanoni, Jhonathan Soares, Rafael Laranja, Swellington Soares.
  • ポルトガル語(ポルトガル): João Carvalho, Vitor Barbosa.
  • ロシア語: michael v, Иван Лещенко.
  • スペイン語: Andy Gonzalez, Alvaro Enrique Ruano, Engel Aguilar, Carlos Mendible, José María Aguilar, julian3xl, Ing. Sergio Uziel Tovar Lemus, Mario Mendieta, Jorge Serrano Pérez.
  • タミル語: Mani M, Krishna Pravin, Vetri.
  • トルコ語: Hüseyin Fahri Uzun, Okan Çetin, Muhammed Emin TİFTİKÇİ.
  • ウクライナ語: Did Kokos.
  • ベトナム語: Việt Anh Nguyễn, Belikhun.