March 2017 (version 1.11)

この文章は引用したものです : https://github.com/ayatokura/JP-VSCode-Docs/blob/master/release-notes/v1_11_ja.md

1.11.2 アップデート (1.11.2 Update)

VS Code 1.11 へ翻訳を加え、いくつかの問題に対応するために 1.11.2 アップデートをリリースしました。

Downloads: Windows | Mac | Linux 64-bit: .tar.gz .deb .rpm | Linux 32-bit: .tar.gz .deb .rpm

1.11.1 アップデート

1.11.1 Update

1.11.1 アップデートにより、これらの問題を修正しました。

トラブルシューティング

Troubleshooting

ユーザーから、新しいGit 統合キーボードレイアウトのサポートにおける問題が報告されています。
もし、以前の動作に戻す必要がある場合は、次の回避策を適用できます:

  • Git 統合 - SCM: Disable Preview SCM コマンドを実行してください
  • キーボードレイアウト - "keyboard.dispatch": "keyCode" の設定を使用してください

3 月版のリリースサマリー

March Release Summary

Visual Studio Code の 2017 年 3 月リリースへようこそ。 このリリースではいくつかの重要な更新があり、ハイライトは次のとおりです:

VS Code の重要な更新に関連するアップデート情報は、リリースノートの次のセクションに配置されています。その他のアップデートは、次のとおりです:

  • エディタ - 新しい Git SCM プロバイダーをデフォルトで有効に、ファイルエンコーディングの自動検出、デフォルトの言語モード設定
  • ワークベンチ - ビュー間の素早い移動とリサイズ、同一ファイルの複数オープンを制御
  • 言語 - TypeScript 2.2.2、単純化された TypeScript サーバログ収集、Objective-C++ のサポート
  • デバッグ - カラムブレークポイントの改善、追加の例外情報
  • Node.js デバッグ - コールスタックは非同期フレームを表示可能に、ロードされたスクリプトにアクセス可能に
  • タスク - カスタムタスクとプロブレムマッチャーを拡張機能でも提供可能に
  • 拡張機能のオーサリング -デバッグ拡張機能の改良、拡張機能サイズの拡大

ヒント: できるだけ早く新しい機能を試してみたいですか? それならば、毎晩アップデートされる Insiders build をご利用ください。常に最新のアップデートが利用可能になり、最新の機能をいち早く試してみることが可能です

ワークベンチ

Workbench

プレビュー: Workbench テーマ

Preview: Workbench theming

現在、ワークベンチテーマに関する取り組みの最初の結果が見えてきています。組み込みのテーマである Abyss, Quiet Light, Solarized Dark は、新しいカラーテーマを利用する仕組みに変更されています。

Abyss theme with more colors

まだ、いくつかのギャップがあり、新しいテーマファイルフォーマットとして確定させていません。そのため、ドキュメントの提供はなく、まだ新しいテーマフォーマットを使用しないようにテーマ作成者に呼びかけています。しかしながら、新しい配色を試してみる事も可能であり、workbench.experimental.colorCustomizations 設定を使って、現在選択されているテーマをカスタマイズできます。

color customization

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

Keyboard shortcuts editor

本リリースの VS Code では、新しいキーボードショートカットエディタを採用し、リッチで簡単なキーボードショートカット編集操作を提供します。コマンドを見つけて、キーバインドを簡単に変更/削除/リセットすることができますが、最も重要なのは、以前の JSON ベースのキーバインドエディタによる、キーをキーボードレイアウトへマッピングするのではなく、キーボードレイアウトに応じてキーバイドを確認できるという点です。キーバインドを入力するダイアログでは、キーボードレイアウトに適した正しいキーバインドと希望のキーバインドが割り当てられます。

Keyboard Shortcuts

注意: キーバインドの when 句のコンテキストを編集するなど、より高度なカスタマイズを行う場合は、以前と同様に keybindings.json ファイルを開いて編集する必要があります。

キーボードレイアウトサポートの強化

Improved keyboard layout support

Windows と macOS では、VS Code 実行中にキーボードレイアウトが切り替わったことを検出し、すべてのキーボードショートカットを適切に更新します。

Linux と macOS では、キーボードショートカットのディスパッチ方法を新しい KeyboardEvent.code を使用するよう、大幅に変更されました。この新しいディスパッチロジックにより、米国以外の標準的なキーボードレイアウトにおけるデフォルトのキーボードショートカットが変更されます。残念ながら、このようなプラットフォームでは KeyboardEvent.keyCode の不確定性のため、正確に変更されたキーバインディングを確認してリストを提示することができない場合があります。ほとんどの場合、影響を及ぼすのは、次のビルトイン・アクションに限定されていると考えています:

  • Toggle Integrated Terminal (統合端末の切り替え)
  • Create New Integrated Terminal (新しい統合端末の作成)
  • Zoom in, Zoom out (拡大, 縮小)
  • Indent Line, Outdent Line (行のインデント, 行のインデントの削除)
  • Fold, Unfold (折りたたみ, 折りたたみの展開)
  • Split Editor (エディタの分割)
  • Toggle Line Comment (行コメント切り替え)

開発チームの wiki または計画されている項目で詳細を確認することがでいます。

注意: macOS や Linux で新しい KeyboardEvent.code に基づくディスパッチで問題が発生した場合は、"keyboard.dispatch": "keyCode" を設定することで、強制的に以前の実装である KeyboardEvent.keyCode にディスパッチさせるよう変更することができます

テキスト検索の改善

Text search improvements

検索は Andrew Gallant(@BurntSushi) の優れたツール ripgrep によって行われるようになり、以前よりはるかに高速になるはずです。
問題が発生し、以前の検索手法に戻す必要がある場合は、オプション "search.useRipgrep": false を設定してください。

ripgrep ベースの検索は、.gitignore ファイルに記載されるファイルなどを対象外とすることも可能です。検索ビューで新しい Use Ignore Files ボタンをクリックするか、常に有効にするには "search.useIgnoreFilesByDefault": true (デフォルトは無効)を設定してください。

gitignore

その隣にある、新しく追加された歯車アイコンでは、files.excludesearch.exclude 設定で指定されたパターンを検索時に無視するかどうか切り替えることが可能です。

パネルサイズの最大化と復元

Maximize and restore the panel size

パネルのタイトルエリアに、最大化と復元ボタンを新たに追加しました:

Panel

ファイルを削除してもエディタを開いたままにする新しい設定の追加

New setting to keep editor open even when file is deleted

ファイルが削除されるか、何らかのプロセスによって名前を変更された場合に、ファイルを開いているエディターを自動的に閉じるかどうかを制御できる新しい設定 workbench.editor.closeOnFileDelete を追加しました。この設定を false に設定することで、エディターは開かれたままになります。アプリケーション内で削除すると、必ずエディターは閉じられ、ダーティファイルは閉じられることがなく、データは保存されないことに注意してください。

Deleted File

注意: VS Code のエクスプローラからファイルが削除された場合は、エディタは閉じられます。

2 つのエディタグループを結合

Join editors of two groups

新しいコマンド (workbench.action.joinTwoGroups) が追加され、2 つのエディタグループで開かれているエディタを左側の 1 つのグループに統合することが可能になります。これにより、開いているエディタグループの数をすばやく減らすことが可能となり、エディタ内で開かれているエディタを失うことはありません。

ビュー間の移動

Navigate between views

表示されているビュー間を移動するための新しいコマンドが追加されました。たとえば、フォーカスが最初のエディタグループ内にある場合、workbench.action.navigateLeft は、サイドバーに移動します。同様に、workbench.action.navigateDown はフォーカスをパネルに移動します。(default のキーバインドなし)

キーボードによるビューのリサイズ

Resize a view with keyboard

フォーカスを持つビューのサイズをキーボードで変更するための新しいコマンドが追加されました。workbench.action.increaseViewSizeworkbench.action.decreaseViewSize を使ってビューサイズを増分で変更してください。

エディタが開かれた場合にそれを表示する新しい設定

New setting to reveal editor if opened

新しい設定 workbench.editor.revealIfOpen を有効にすると、任意の表示グループが開かれた場合に、そこにエディターを表示するかどうかを制御します。無効にした場合、エディターは現在のアクティブなエディターグループに優先して開かれます。有効にした場合は、現在のアクティブなエディターグループにもう一度開くのではなく、既に開いているエディターが表示され、ファイルが既に開かれている場合に別のグループの同じファイルを開くことを防ぐことができます。

この設定に関連する一般的なシナリオは、ファイルピッカー(クイックオープン)です: デフォルトでは、現在アクティブなエディタグループ内にファイルが開きます。この設定を変更すると、すでにファイルが開いている場合には、他のグループで同一のファイルを開いても複数のエディタで開かれることはありません。
特定のグループ内や現在アクティブなグループの横に強制的にエディターを開いた場合などに、この設定が無視される場合もあることにご注意ください。

: 複数のグループで同じエディタを開く方法はあります(たとえば、分割エディタのアクションをクリックするなど)

エディタ

Editor

ドラッグアンドドロップの改善

Drag and drop improvements

選択したテキストを、ドラッグアンドドロップで移動するのではなく、コピーすることが可能になりました。ユーザーが利用しているプラットフォームで提供される操作方法と同じとなり、macOSでは、Option キーを押しながら、Windowsでは Ctrl キーを押しながら、Linuxでは Altキーを押しながらドラッグアンドドロップを行うことでコピーされます。

テキストのコピーの有無にかかわらずドラッグアンドドロップ操作により、マウスポインタのスタイルが変更されます。コピーの場合は + (プラス)画像が表示されます。

dnd

Git 拡張機能がデフォルトで有効に

Git extension enabled

新しい Git ソースコントロール拡張機能がデフォルトで有効になりました。この Git の統合は、サードパーティの SCM プロバイダと同じ拡張機能ポイントを介して行われます。また、引き続き Git 拡張機能の開発に取り組んでいます。以前のバージョンに戻したい場合は、SCM: Disable Preview SCM コマンドを実行することで元に戻すことができます。

Activity Bar アイコンを見れば、Git拡張機能が有効になっているかどうかをすぐに知ることができます。新しい SCM プロバイダの統合では、Git アイコンの代わりにマージアイコンが表示されるようになります:

scm provider icon

出現箇所の強調表示をオフにする

Turn off occurrences highlight

新しいオプションである editor.occurrencesHighlightfalse をセットすることで、カーソルが置かれた単語や選択された単語の強調表示をオフにすることが可能です。

ファイルエンコーディングの自動推測

ファイルエンコーディングの自動推測をサポートしました。この機能を利用するには、新しい files.autoGuessEncoding 設定で true (defulat: false) にする必要があります。有効にした場合は、ファイル内容からエンコーディングを推測し、適切なエンコーディングが検出された場合はその情報を適用します。

: エンコーディングが誤って検出されるか、まったく検出されない場合があります。ワークスペースのエンコーディングを完全に制御するには、代わりに files.encoding 設定を使用してください。

さらに、ファイルのエンコーディング・ピッカーを選択してエンコーディングを変更する際に、(もしあれば)そのリストの先頭に推測されたエンコーディングが表示されます。ファイルの内容は正しく表示されないが、ファイル内容からエンコーディングを検出できる場合に簡単に適切なエンコーディングを選択することができます:

encoding

: エンコーディングは推測であり、間違っている可能性があります。ファイルの内容からエンコーディングを判定する正確な方法は 100% ありません。唯一の例外としては、UTF-8 または UTF-16 ファイルに BOM (バイトオーダーマーク)を使用することです。

ファジーマッチングの強化 (More Fuzzy Matching)

フィルタリングとサジェスチョンのスコアリングを改善しました。プリフィックスとキャメルケースのマッチングに加えて、連続した部分文字列マッチングがサポートされました。

dnd

コメント入力における Intellisens

IntelliSense in comments

コメントや文字列の入力時には、IntelliSense の機能は必要とされません。Ctrl + Space で補完を要求することはできますが、”24x7 IntelliSense” とも呼ばれるクイックサジェストは、コメントや文字列の入力時には無効(デフォルト)になっています。editor.quickSuggestions 設定により、サジェストの振る舞いをユーザーのニーズに合わせて、より詳細に制御することが可能です:

"editor.quickSuggestions": {
"comments": false, // <- コメントに 24x7 IntelliSense は利用されませんが、
"strings": true, // 文字列やソースファイルの他の部分には利用されます
"other": true,
}

新しいファイルのデフォルト言語モードを設定する

Set the default language for new files

新しい設定 files.defaultLanguage を使用して、Untitled や未保存の新しいファイルへ言語モードを設定することができます。この設定を利用することで、同じファイルタイプで作業することが多い場合に、新しいファイルを開くたびに言語を選択する必要がなくなります。

統合ターミナル

Integrated Terminal

リンクの改善

Link improvements

VS Code 1.10 で導入されたターミナル内でのリンク機能は、このバージョンでさらに改善されました。挙動はエディタと同様になり、プラットフォームに応じて、CtrlCmd が必要になります。

Terminal link hints

また、すべてのリンクが検証されるため、実際に正しいリンクとして判断されたものだけがユーザーのアクションに反応するリンクとして生成されます。

Window における起動エクスペリエンスの向上

Improved start experience on Windows

SHELL 環境変数を持つ macOS や Linux とは異なり、Windows は本当に信頼できる代替手段を持っていません。COMSPEC がありますが、残念ながら、デフォルトでは常にコマンドプロンプトの 32ビット 版にデフォルト設定されており、まれにしか変更されません。この問題を回避するために、Windows 上で端末が最初に起動されたときに、マシン上で検出された一連のシェルから選択できるようにするメッセージを導入しました。

Terminal shell selector

ワークスペースシェルのカスタム設定

Custom workspace shell settings

悪意を持って潜在的に悪用される可能性があるため、VS Code v1.9 からワークスペース設定でターミナルシェルを設定することを許可していませんでした。これを再度許可するようにしましたが、設定を選択する前に、各ワークスペースに対して明示的なユーザーオプトインを要求します。

Terminal workspace settings warning

アクティブなターミナルセッションがある場合に終了の確認ダイアログを表示

Warn when closing window with active terminal sessions

アクティブなターミナルセッションがある場合に終了の確認ダイアログを表示するための新しい設定 terminal.integrated.confirmOnExit が追加されました。これはデフォルトで無効になっています。

水平方向のサイズ変更によりデータが破棄されなくなりました

Resizing horizontally no longer discards data

Lucian Buzzoupstream PR により、ターミナルプロンプトを水平方向にリサイズしてもデータが破棄されなくなりました。

タスク

Tasks

今回のリリースでは、拡張機能からのコントリビューションのためのタスクの拡張に取りかかりました。これにより、拡張機能の package.json ファイルを介して problemMatcherspattern を提供することができます。これらのコントリビューションは、出力パネルランナーと(まだデフォルトではない)新しい端末ランナーの両方で機能します。次の例は、gcc コンパイラの problemMatchers を拡張機能に提供する例です:

{
"contributes": {
"problemMatchers": [
{
// the name of the problem matcher
"name": "gcc",
// The problem is owned by the cpp language service.
"owner": "cpp",
// The file name for reported problems is relative to the opened folder.
"fileLocation": ["relative", "${workspaceRoot}"],
// The actual pattern to match problems in the output.
"pattern": {
// The regular expression. Example to match: helloWorld.c:5:3: warning: implicit declaration of function ‘prinft’ [-Wimplicit-function-declaration]
"regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
// The first match group matches the file name which is relative.
"file": 1,
// The second match group matches the line on which the problem occurred.
"line": 2,
// The third match group matches the column at which the problem occurred.
"column": 3,
// The fourth match group matches the problem's severity. Can be ignored. Then all problems are captured as errors.
"severity": 4,
// The fifth match group matches the message.
"message": 5
}
}
]
}
}

この problemMatchers は、名前参照: $gcc を介して tasks.json で使用できるようになりました。例は次のようになります:

{
"version": "0.1.0",
"command": "gcc",
"args": ["-Wall", "helloWorld.c", "-o", "helloWorld"],
"problemMatcher": "$gcc"
}

また、拡張機能がプログラムの Run Task クイックピックリストにタスクを提供できるようにしました。拡張機能が特定のビルドシステムのサポートを追加し、対応するタスクを提供したいというユースケースでは、VS Code が開きます。例として、package.json で定義されたスクリプトをタスクとして VS Code にプログラムで提供できる npm 拡張があります。

次の制限に注意してください:

  • 提供されたタスクは、新しい端末ランナーでのみ実行できます。端末ランナーを有効にするには、 "version": "2.0.0"tasks.json ファイルに追加してください。
  • タスク API は現在、提案段階となります。

API の使用例については、VS Code の gulp extension、または、提案されているAPI ファイルを参照してください。

言語サポート

Languages

TypeScript 2.2.2

VS Code 1.11 には、TypeScript 2.2.2 が付属しています。このリリースには、いくつかの重要なバグ修正とパフォーマンス改善が含まれています。変更点に関する完全なリストはこちらを参照してください。

TypeScript における CodeLens 実装

Implementation CodeLens for TypeScript

TypeScript コード内に実装されるインターフェイスおよび抽象クラスの実装数を示す情報が TypeScript CodeLens に追加されました。

TypeScript Implementations CodeLens

CodeLens をクリックすることで、すべての実装のリストが表示されます。

TypeScript Implementations CodeLens

この機能はデフォルトで無効になっています。有効にするには、TypeScript 2.2.1 以降が必要となり、 "typescript.implementationsCodeLens.enabled": true を設定に追加してください。

シンプルな TypeScript サーバーのログ収集

Simplified TypeScript server log collection

VS Code の TypeScript と JavaScript 言語サポートを強化する TypeScript サーバーからのログ収集を簡単にするための新しい "typescript.tsserver.log" 設定を追加しました。これらのログは、JS および TS 言語サポートの問題をデバッグしたり、Issue として調査を行う場合などに情報として簡単に提供するために使用できます。

新しいロギング機能は、TypeScript 2.2.2以降でサポートされています。 "typescript.tsserver.log": "verbose" を設定し、VS Code をリロードしてファイルへのロギングを有効にします。エディタでログファイルを開くには "TypeScript: Open TS Server log" コマンドを実行します。

Object C++ サポートの改善

Improved support for Objective C++

Objective-C++ を扱うための objective-cpp 言語モードが新たに追加されました。以前のリリースでは .mm ファイルは、通常の C++ として扱われていました。このリリースでは、Objective-C++ ファイルにおける構文の強調表示も改善されています。

デバッグ

Debugging

デバッグメニュー

Debug Menu

一般的に利用するデバッグコマンドを含むトップレベルのデバッグメニューを追加しました。

Debug Menu

: デバッガ拡張機能を検索するための拡張機能ビューを表示する新しいコマンド(Install Additional Debuggers…) を追加しました

カラムブレークポイントの改善

Column Breakpoints Improvements

余白マージンから呼び出すコンテキストメニューから複数のブレークポイントを直接編集することが可能になりました。これとは別に、行に複数のブレークポイントがある問題が修正されました。

Editable Column Breakpoints

より詳細な例外の取り扱い

More detailed exception experience

エディタの “Peek UI” が thrown された例外の追加情報を表示するように拡張されました。たとえば、VS Code に組み込まれた Node.js デバッガではスタックトレースが表示されます:

Exception Peek UI show Stack Trace

この機能は、デバッガ拡張機能への採択努力を必要とするため、すぐに他のデバッガ拡張機能にこの機能が実装されることは想定しないでください。

Node のデバッグ

Node Debugging

“inspector” プロトコルへの移行

Transitioning to the “inspector” protocol

2 月のマイルストーンでは、2 つの Node.js デバッガ(‘node’ と ‘node2’)を単一の Node.js デバッグエクスペリエンスから利用できるように、使用するプロトコルを制御する新しい起動設定属性 protocolを導入しました。 2 月版リリースノートのセクションを参照してください。
このマイルストーンでは、protocol のデフォルト値を legacy から auto に変更されています。したがって、起動構成設定で protocol を明示的に指定しなかった場合は、VS Code における Node.js デバッグはターゲットのランタイムにより、自動的に使用されるプロトコルの検出が試みられます。新しい inspector プロトコルへ積極的に切り替えることはしたくないため、Node.js 8.x バージョン以降に対してのみ使用されます。

この自動プロトコル切り替えで問題が発生した場合は、protocollegacy に明示的に設定することで古い動作に戻すことが可能です。

非同期呼び出しスタック

Async call stacks

Node.js または Chrome で非同期 JavaScript をデバッグする際に、非同期呼び出しにおける現在の呼び出しスタックにつながった非同期フレームを表示するようになりました。これは、現在のところ、"protocol": "inspector" を介してinspector プロトコルでデバッグする場合にのみサポートされています。また、起動構成設定で "showAsyncStacks": false を設定することで無効にすることができます。

例:

このコードスニペットに含まれる、fetchData は、プロミスを返す非同期関数です。非同期スタックがなければ、Promise が解決される前に発生した呼び出しは表示されません:

Async Frames in Call Stack

しかし、非同期呼び出しスタックでは、非同期呼び出しを生成した完全な呼び出しスタックを見ることができます:

Async Frames in Call Stack

読み込まれたスクリプトへのアクセス

Access Loaded Scripts

JavaScript ランタイムの読み込まれたスクリプトにアクセスできるようになりました。これは、ワークスペースの一部ではないスクリプトにブレークポイントを設定する必要があるため、通常の VS Code ファイルブラウジングで簡単に見つけて開くことができない場合に便利です。これが必要となる典型的なシナリオは、リモートデバッグセッションです: リモートの Node.js プログラムにアタッチしますが、ローカルに利用可能なコードはありません。この機能の強化を後押した他のシナリオについては、issue #20355 を参照してください。

Debug: Open Loaded Script アクション (⌘F4 (Windows, Linux Ctrl+F4))は、デバッグセッションがアクティブな間にロードされたスクリプトにアクセスできるようにします。クイックピックでは、開くスクリプトをフィルタリングして選択することができます。スクリプトは、その後、ブレークポイントを設定できる読み取り専用エディタにロードされます。これらのブレークポイントはデバッグセッション間で記憶されますが、デバッグセッションが実行されている間のみスクリプトの内容にアクセスすることが可能す。

Opening Loaded Script with Quick Pick

拡張機能のオーサリング

Extension Authoring

ソース管理 (Source Control)

安定したソース管理 API をリリースすることができたため、VS Code に統合されたソース管理拡張機能を作成可能になりました。この機能の全容については、Source Control in VS Code のドキュメントページで学ぶことができます。

一部の拡張機能の開発者は、既にこの API を採用し始めています:

API の改善

API Improvements

  • ドキュメントが使用する行末のシーケンス (crlf または lf) は、TextDocument#eol で公開されます。また、TextEdit はドキュメントの EOL シーケンスを変更することが可能です。

  • 新しい補完アイテムの種類を追加しました: Constant,Struct, そして EnumMember は既存の Enumを補完します。

デバッグ拡張機能

Debug Extensions

  • VS Code で ExceptionInfoRequest が使用されます
  • ExceptionInfoRequest now used by VS Code

デバッグアダプタが偽の supportsExceptionInfoRequest 特性を返す場合、VS Code は例外の追加情報を得るために ExceptionInfoRequest を使います。現在、exceptionId, exception, breakMode, details.stackTrace の属性は、VS Code の例外 Peek UI に表示されます。

  • デバッグアダプタのサーバーモード
  • Server mode for debug adapters

VS Code は、常にサーバーモードでデバッグアダプタを実行することをサポートしていました。しかしこれは、本番環境での実行ではなく、デバッグアダプタの開発でのみサポートされていました。今回のリリースから、”サーバーモード” をデバッグアダプタの公式な “実行モード” としてサポートします。この機能の使用方法の詳細は、元の機能要求で確認してください。

  • StoppedEvent.reason の意味を変更
  • Changed semantics of StoppedEvent.reason

StoppedEventreason 属性の意味が少し変更されました。以前は reason 属性が UI に表示されていました(その結果、異なる言語に翻訳する必要がありました)。これにより、VS Code が reason 属性を堅牢な方法で解釈することが不可能になります。このリリースから、VS Code は UI で “停止” 理由を表示する必要がある場合に新しい属性 description を使用し、理由を解釈するために reason 属性を使用します。description がなければ、VS Code は、以前の振る舞いに戻ります。

  • StackFrame 型の新しい属性 presentationHint
  • New attribute presentationHint for StackFrame type

新しいオプション属性 presentationHintStackFrame 型に追加されました。この型は、クライアントが UI でスタックフレームをレンダリングする方法を制御するために使用できます。

  • 例外設定 API の使用例
  • Usage example for exception configuration API

VS Code Mono debugger extensionは、例外キャッチポイントを構成するための SetExceptionBreakpointsRequest で、最近導入された exceptionOptions 属性を使用するように拡張されています。

Configuring Exceptions

実装は、汎用 VS Code デバッガ UI で提供されていない特定の機能を追加するために、拡張機能のデバッグアダプタプロトコル(DAP = debug adapter protocol)を使用するサンプルとしても役立ちます。

拡張機能のサイズ上限を増やす

Increase Extension Size Limit

Visual Studio Marketplace とのコラボレーションにおいて、Marketplace にアップロードできる拡張機能のサイズ制限を 20MB から 100MB に拡大しました。これを利用するには Visual Studio Code Extension Manager を vsce@1.20.0 以降に更新する必要があります。

その他

Miscellaneous

スタートアップのプロファイリング

Startup profiling for everyone

VS Code の起動をプロファイルするための新しいコマンドラインオプションが追加されました。この code --prof-startup のように VS Code を実行すると、メインプロセスとレンダラープロセス用のプロファイルが作成されます。これらのプロファイルはホームディレクトリに保存され、Issue などで共有することができ、それをお勧めします。社外環境でのパフォーマンスは当社のマシンと大きく異なり、より多くの洞察を得ることができるため、VS Code の改善に役立ちます。

近日中に予定: コミュニテイによるローカライゼーションサポート

Coming Soon: Support for community localization

現在、VS Code は、9 言語: フランス語、イタリア語、ドイツ語、スペイン語、ロシア語、繁体字および簡体字中国語、日本語および韓国語をサポートしています。3 月のリリースでは、現在の内部で実施されているローカリゼーションプロセスを Transifex と呼ばれるオープンな翻訳プラットフォームでサポートするように移行しました。

この仕組みを利用することにより、作業が完了したら、バグを提出するのではなく、コミュニティからの翻訳結果を直接受け入れることができるようになります。この仕組みにより、コミュニティで VS Code をポルトガル語ポーランド語にローカライズすることができるようになります。
すでに、チェコ語、オランダ語、ハンガリー語、ポーランド語、ポルトガル語(ブラジルとポルトガル語)、スウェーデン語、トルコ語の 8 言語の翻訳が開始されています。

自身の母国語にローカライズされた高品質な VS Code を提供することに情熱を持てるならば、ぜひ、私たちを助けてください! Visual Studio Code Community Localization Project で詳細を確認できます。

新しいコマンド

New Commands

KeyCommandCommand id
⌘, (Windows, Linux Ctrl+,)ユーザー設定を開く (Open User Settings)openGlobalSettings
元に戻してエディターを閉じる (Revert and Close Active Editor)workbench.action.revertAndCloseActiveEditor
2 つのグループのエディタを統合 (Join Editors of Two Groups)workbench.action.joinTwoGroups
上のビュー部分に移動 (Move to the View Part Above)workbench.action.navigateUp
下のビュー部分に移動 (Move to the View Part Below)workbench.action.navigateDown
左のビュー部分に移動 (Move to the View Part to the Left)workbench.action.navigateLeft
右のビュー部分に移動 (Move to the View Part to the Right)workbench.action.navigateRight
現在のビューのサイズの拡大 (Increase View Size)workbench.action.increaseViewSize
現在のビューのサイズの縮小 (Decrease View Size)workbench.action.decreaseViewSize

注目すべき変更

Notable Changes

  • 12077: File does not reload in editor when quickly changed externally after making modifications
  • 13001: Keep scroll position stable when closing a tab
  • 13665: Improve VS Code when working with network drives
  • 19841: Node debug Step Over/Into hangs in 1.9
  • 20074: VS Code default language extensions override custom language extensions
  • 21948: Auto save no longer works
  • 22900: CPU usage even when idle (due to cursor rendering)
  • 22971: Run the terminal as a login shell by default on macOS
  • 22997: Execute Node.js application in external terminal throws error
  • 23494: Debugger does not work with electron v1.6.x

クローズされたバグ一覧と、1.11 アップデートにてクローズされた機能のリクエスト一覧です。

拡張機能への貢献

Contributions to Extensions

私たちのチームは、いくつかの VS Code 拡張機能の提供とメンテナンスに貢献しています。注目すべき拡張機能は:

Thank You

最後になりましたが、VS Code をより良いものにするために協力してくれた次の方々に多大なる感謝を込めて:

vscode への貢献:

vscode-chrome-debug-core への貢献:

language-server-protocol への貢献:

vscode-languageserver-node への貢献:

vscode-generator-code への貢献: