【Visual Studio Code】本日より最新版ダウンロード公開!Stable版 1.3リリースノート意訳しました


皆さん、こんにちは。テクニカルエバンジェリスト戸倉彩です。
本日、Visual Studio Code - Stable版の最新版1.3の提供が始まりました。

英語のJune 2016 (version 1.3) の意訳をしました。一部、適切ではない翻訳等があるかもしれませんが、皆さまの参考になれば幸いです。 ※そこそこ長文です。
https://code.visualstudio.com/updates/June_2016

VSC1.3

June 2016 (version 1.3) リリースノート

VS Code の 6 月版をリリースできることに興奮しています。エクステンション管理(エクステンション専用のビュー)にタブ機能 (タブ付きエディタペイン) など、いくつかの大きな変更を追加しました。その他の新機能として、グローバルな検索と置換、改良されたドラッグ&ドロップ、任意のインデントガイドなどが追加されています ターミナル機能など既存機能の強化や重要なバグ修正のセットも適用されています。

このリリースのハイライト:

  • タブ機能:タブ付きエディタペインにより、すぐにファイルに移動したりワークベンチを整理することが可能になります
  • エクステンション:エクステンションを検索、インストールおよび管理するための新しいエクステンション・ビューを追加
  • ワークベンチ:強化されたドラッグアンドドロップ、無駄なエディタを開くことなくファイルを参照可能なプレビューエディタやマルチプル・ターミナルをサポート
  • エディタ:グローバル検索と置換、インデントガイド、エラーと警告を表示する Problems Panel を追加
  • 言語サポート: より良く完全な Emmet サポート、Atom JavaScript grammar エクステンションなど
  • デバッグ:実行中の Node.js プロセスへのアタッチやデバッグセッション中の変数の値を変更可能など多くの改善やサポートが含まれます
  • エクステンション・オーサリング:メニューバーとコンテキストメニューの為の新しい contribution point を追加。非テキストリソースのオープンやエディタのデコレータを追加することが可能な新しい API を提供します

 

6 月版の新機能の詳細は下記になります。

Tabs (タブ機能)

このリリースでは、VS Code のエディタ上にあるタイトル領域内に開いているファイルをみんな大好き!タブ機能として配置できます。開いているファイルを整理するためにドラッグ&ドロップでタブを移動したり、右クリックすることで変更の表示 (diff) を切り替えるなどの便利なアクションを実行することができます。

Tabs

タブを使用しない場合は、workbench.editor.showTabs の設定にて無効にすることができます。

タブスペースに全てのファイルを表示できるほど十分な余裕がない場合、タブは左右にあふれて表示されます。そのような場合は、マウスを使って左右にスクロールさせることができます。また、小さなオーバーフローアイコン(下の画像を参照)が有効になり、全てのタブグループ一覧を表示および選択することが可能です。(edt コマンドの追加)

Tabs Overflow

新しいエディタが開くべき場所を制御できるよう workbench.editor.openPositioning の設定が追加されました。デフォルトでは、アクティブなタブの右側に新しいエディタが開いてゆきますが、左側、またはすべてのエディターの先頭や末尾に開くように変更することも可能です。

Open Editors View (エディタ表示)

エクスプローラーに追加された新しい OPEN EDITORS ビューは、以前のバージョンの WORKING FILES ビューを置き換えるものです。

Open editors view

OPEN EDITORS ビューは、Editor Stacks を視覚的に表現するもので:

  • 各エディタのグループとそれに属しているエディタが表示されています
  • エディタをクリックすることでアクティブにし、対応するグループでファイルを開きます
  • トップレベルのアクションとして、すべてを閉じたり、開いているすべてのエディタを保存することができます
  • エディタレベルのアクションでは、エディタを閉じたり保存することができます
  • コンテキストメニューのアクションは、より洗練されたアクションを提供します
  • エクスプローラからエディタ、または、エディタグループへドラッグアンドドロップすることが可能ですまた、"explorer.openEditors.visible": 0 を設定することにより、OPEN EDITORS ビューを隠すこともできます。

Note: WORKING FILES ビューは削除されました。これに関する概要や影響を受けるコマンドについては、issue #6605 を参照してください。

More on Editor Stacks (エディタスタックの詳細)

ワークベンチでタブを有効にするための準備として、ユーザーが VS Code のエディタと触れあう方法をもう一度考え直してみました。他のエディタやツールを使っていた多くのユーザーは、VS Code のエディタ(開いているファイル)における動作の一部で混乱していました。

例えば:

  • dirty editor(エディタ上の未保存のファイルなど)を閉じる際、保存を要求されない
  • エディタを閉じる事は、すでに開いているエディタなどを考慮することなくグループ全体を閉じていた
  • エディタのヒストリ一覧は、これまで開かれたすべてのエディタのリストではなく、グループ内にオープンしたエディタのリストのみを表示していた
  • エクスプローラでの WORKING FILES ビューが混乱を招くコンセプトだった

新しいコンセプトである Editor Stacks として、これらの問題に対処することにトライしました:

  • 3つの エディタグループ (LEFT, CENTER, RIGHT)を横に並べて開くことができ、各グループにはエディタのスタックが含まれています。
  • あなたがエディタを開くたびに、開かれたエディタはスタックの一番上に追加されてゆきます
  • グループからエディタを閉じると、最後のエディタが閉じられ、グループが非表示になるまで、そのグループ内で既に開かれているエディタがアクティブになるよう遷移してゆきます。
  • 未保存のエディタであれば、保存するように求められます

ナビゲーションのためにグループで最近使用したエディタのリストを表示するには、Ctrl+Shift+Tab (Windows, Linux) または ⌃⇧Tab (Mac) を使用してください。 View: Show All Editors コマンドでは、すべてのグループで開かれている全てのエディタのリストを表示することができます。

Editor Stacks

Editor Stacks の動作は、タブ機能が有効か無効かの設定とは独立していることに注意してください。タブ機能を使用しない場合でも、これらの機能の恩恵を利用することが可能です。

Note: Editor Stacks による大きな概念の変更により、多くのコマンド ID の名前が変更されたり新しいコマンドが導入されています。この機能による変更点などは、Issue #6605 を参照してください。変更前の動作にキーバインドを変更する方法についてもガイダンスを提供しています。

Extensions Management (拡張機能の管理)

エクステンションの管理経験を改善するための新しいビューである Extensions View を導入しました。検索ボックスが空の場合(デフォルト)、インストールされたエクステンションの一覧を表示します。

エクステンションビューを表示するには、エクステンションビューアイコンをクリックするか Ctrl+Shift+X (Windows, Linux) または ⇧⌘X (Mac) を押します:

extension view icon

検索ボックスに入力可能な予約後としては、下記があります:

  • @outdated
  • @recommended
  • @popular

... More ボタンをクリックすることにより、下記のメニューを表示することが可能です:

  • 現在インストールされているエクステンションのリスト
  • 更新可能な古いエクステンションのリスト (@outdated)
  • ワークスペースに基づいた推奨エクステンションのリスト (@recommended)
  • 世界的に人気のあるエクステンションのリスト (@popular)

エクステンションのリスト閲覧では、インストール、アンインストール、更新が可能です。さらに、エクステンションをクリックすることで、エディタ領域に詳細な説明が表示されます。

Extensions View


Workbench (ワークベンチ)

6 月のリリースにおいて、エラーや警告の他、言語サーバー、Linter などのような異なるソースから生成された情報を表示するためにツール内の下部にドッキングされた Problems Panel と呼ばれる新しいパネルを提供します。以前のリリースでは、クイックボックスを利用してエラーと警告を示しましたが、この方法でエラーと警告を管理することは困難であるとユーザーからのフィードバックを受けました。新しいパネルにより、問題をナビゲートし、エディタを開いている間にそれらを修正することが非常に簡単になります。

Problems

フィルタボックスは、ビューに集約された問題を検索したりフィルタリングするために利用されます。フィルタリングは、タイプまたはテキストにより行うことができます。

Problems view を開くには:

  • Ctrl+Shift+M (windows, Linux) または ⇧⌘M (Mac) を入力
  • メニューの View | Problems から
  • コマンドパレットから View: Show Problems コマンドを実行

以前のリリースで、クイックオープン/クイックボックスでエラーと警告を表示するために使用されたキーバインディング Ctrl+Shift+M (Windows, Linux) または ⇧⌘M (Mac) は Problems Panel を開きます。

デフォルトでは、アクティブにされたファイルの問題を表示するよう Problems view が自動スクロールします。 この自動でスクロールする動作をしたくない場合は、設定 problems.autoReveal によって無効にすることができます。 アクティブなファイルを切り替える際、自動的に "Problem view" の該当エラーにスクロールさせたくない場合は、problems.autoRevealfalse を設定してください。

Note このビューは、言語サーバやリンター、ビルドタスク、ワークスペース外に構築された外部ビルド環境が生成したエラーをマーカーで表現しています。また、問題点を参照するためには適切に設定またはカスタマイズされている必要があります。

More powerful Drag and Drop (よりパワフルなドラッグ&ドロップ機能)

タブ上のすべての作業において、エディタでのドラッグ&ドロップのサポートを向上させました。ファイルを開くために、外部からファイルをドロップすることができる他、いろいろな操作が可能になります:

DROP TO SPLIT

エディタの左側または右側の領域にファイルをドラッグすることで、エディタをスプリットさせて新たにファイルを開くことが可能です。エクスプローラからドラッグする事も可能ですし、タブ機能が有効になっている場合はタブのドラッグも可能です。

Problems

DROP FEEDBACK

エディタ領域上のファイルやタブをドラッグする際にドロップの目標位置を示す、ドロップフィードバック(ドロップ位置をハイライト)を得ることができます。

DRAG FROM EXPLORER AND OPENED EDITORS VIEW

エクスプローラ・ビューおよび OPEN EDITORS ビューからファイルまたはエディタを、特定の場所に配置されたエディタスペースにドラッグすることができます。

Preview Editors

エディタスタックとタブ機能に、密接に関係するのが Preview Editors です。例えば、多くのファイルをクリックして、クリックされたファイルの数だけタブが開かれることを想像してください。これは、悪夢のはじまりです。

そのような場合、Preview Editors が開かれたエディタ(とタブ)の数を減らすために役立ちます。エクスプローラでシングルクリックにて開かれたエディタは、プレビューモードとしてオープンします。エディタはプレビューモードのままとなり、他のエディタが開くことはなくプレビューモードが解除されない限り、シングルクリックされたファイルは Preview Editors として、すでに開かれているエディタと同一の場所で開き続けます。

そして、特定のアクションにより、Preview Editors は通常のエディタとしてモードが変更されます。

  • ファイルの内容を変更した場合、通常エディタモードとなります。
  • 同じことは、タブ機能を有効にした場合でも、エクスプローラ上でファイルを「ダブルクリック」または特定のエディタのグループにファイルを移動するときにも当てはまります。

Preview Editors のタイトル(ファイル名)は、イタリックフォントスタイルを使用して表示されます。

Preview Editor

Preview Editors の動作を制御するために、新しい設定を導入しました:

  • workbench.editor.enablePreview は、Preview Editors をグローバルに有効または無効にします
  • workbench.editor.enablePreviewFromQuickOpen クイックオープンからファイルを開いたときに、Preview Editors で開くことを有効または無効にします

Integrated Terminal

VS Code 1.2.0 で導入された統合ターミナル機能は、このリリースでより多くの改善が行われており、主要な改善点は、VS Code の起動と同時にマルチプル・ターミナル機能が利用可能になることです。追加のターミナルインスタンスは、TERMINAL パネルの右上にあるプラスアイコンを押すか、または "Ctrl+ Shift+`" (Windows, Linux) または ⌃⇧ (Mac) コマンドを投入することによって追加することができます。ターミナルインスタンスが追加されると、複数のターミナルを切り替えるために使用することができるドロップダウンリストにターミナルのエントリを作成され追加されて行きます。

Multiple terminal instances

TERMINAL パネルおよびそのターミナルインスタンスの管理を支援するためにいくつかの新しいコマンドが追加されました。

追加されたコマンド:

  • workbench.action.terminal.focus: ターミナルへフォーカスを移動。これはトグルのようなものですが、代わりにターミナルパネルが開かれている場合は、それを隠します。
  • workbench.action.terminal.focusNext: フォーカスを次のターミナルインスタンスに移す
  • workbench.action.terminal.focusPrevious: フォーカスを前のターミナルインスタンスに移す
  • workbench.action.terminal.kill: フォーカスされているターミナルインスタンスを終了する

エディタ上で選択されたテキストをコマンドとしてターミナルで実行させる機能が、workbench.action.terminal.runSelectedText コマンドとして追加されました。

この機能を使用するには、エディタでテキストを選択し、コマンドパレット経由でコマンドを実行します。

Run selected text

Run selected text result

次の改善も追加されました:

  • Linux と Windows の「コピー&ペースト」は、それぞれ Ctrl+InsertShift+Insert として利用可能になりましたこれは一時的に再設定不可能な実装となりますが、私たちは xterm.js ライブラリに カスタマイズ可能な Copy/Paste キーバインデイング の実装を計画しています
  • CJK キャラクタでは正しい文字幅が使用可能になり、この実装は、 PR #144 として @jerch が行いました
  • 端末のパフォーマンスが大幅に向上し、大規模な出力を生成するコマンドを実行してもパフォーマンスが落ちることは無くなりました
  • Ctrl+LeftCtrl+Right により、シェルに入力中の単語単位でジャンプさせることが可能になりました
  • ターミナルカーソルの点滅は、デフォルトで有効になり、エディタの editor.cursorBlinking 設定の値を共有します
  • ターミナルがフォーカスされていない場合は、点滅しない中空カーソル(hollow cursor)が表示されます
  • ターミナルのフォントサイズと行の高さは、@kisstkondorosPR により設定でのカスタマイズが可能になりました
  • 行全体をを選択しても、余白を含まず、また、テキストの色を反転させるように改善されました Terminal selection has been improved
  • terminal.integrated.shellArgs.* 設定を使用して Linux と OS X 上のターミナルシェルに引数を渡すことができます

Command Palette: File: Open Recent in new Window

これは便利です。特に新しいウィンドウで開くやつ。コマンドパレットから コマンド File: Open Recent で、以前のフォルダやファイルを開いてすぐに切り替えることが可能になりました。デフォルトの動作は、選択したファイルまたはフォルダを実行中のインスタンスで開き直します。このリリースでは、Ctrl (Cmd on Mac) が押された状態でエントリを選択した場合、新しいウィンドウに開くためのサポートが追加されました。

Restore Full screen

新しい設定である window.restoreFullscreen は、フルスクリーンモードのまま閉じられたエディタを次回起動時にフルスクリーンでリストアします。


Editor (エディタ)

Global Search and Replace (検索と置き換え)

Global Search and Replaceは、多くのユーザーが基本機能として持っていると思っていました。本リリースでは、置換機能を含む検索ビューを強化し、複数のファイル間のテキストを置き換えることができます。結果によって、一度にすべてのファイルを置き換えるか、ファイルを選択するかを選ぶことができます。また、結果やファイルを除外し、残りの置換を実行することができます。

さらに、リプレース前と後のファイルの差分をエディタビューで表示することができる素敵な Replace プレビューを提供します。

Search and Replace

リプレース機能へアクセスするいくつかの方法:

  • 検索ビュー のサーチテキストボックスを展開する
  • 編集 | Replace in Files メニュー、または、Ctrl+Shift+H (Windows, Linux) または ⇧⌘H (Mac) を使う
  • コマンドパレット から Replace in Files コマンドを実行する

注: 表示可能な検索結果の最大値は 2048 までという制限があり、置換についても同様の制限が適用されます

Indent Guides

VS Code でインデントガイドを表示することが可能になり、editor.renderIndentGuides を設定し有効にすることができます。

Editor Indent Guides

Suggestions for command identifiers

keybindings.json ファイルを編集する際、現在利用可能なコマンドを補完対象とすることが可能になりました。

Command Completions

Editor Font Zooming with mouse wheel

@kisstkondoros からの PR #6990 により、editor.mouseWheelZoom: true をセットすることで、Ctrl (Cmd on Mac) キーを押しながらマウスホイールでスクロールすることにより、エディタのフォントサイズを変更することが可能になりました。

Mouse Wheel Zoom

Multiline Find

複数行に渡る検索とリプレースをサポートしました:

Editor Indent Guides

Emmet

Denis Malinochkin (@mrmlnc) からの Pull Request とテストの手助けなど素晴らしいサポートにより、Emmet の全ての機能をカバーすることが可能になりました。(Wrap with Abbreviation, Remove Tag, Update Tag, Balance, Toggle Comment, ...).


Languages (言語)

Extract CSS/LESS/SCSS and JSON into extensions

CSS、LESS、SCSS 言語サポートは、VSCode エクステンションとしてリファクタリングされました。 これらすべての言語は同じコードベースに基づいており、言語サーバを共有しています。

言語サーバは、VSCode と通信するために、language server protocol を使用することで、別の node プロセスで実行されます。 言語サーバプロトコルは、さらに、C#、JSON、PowerShell、TSLint など多くの言語で使用されています。

Extract Markdown into an extension

Markdown 言語サポートを通常の VS Code エクステンションとしてリファクタリングしました。また、構文のハイライトのために Markdown TextMate grammar を使用し、CommonMark Spec に準拠した markdown-it ライブラリを利用して Markdown を HTML にレンダリングします。

Atom JavaScript grammar

組み込みのJavaScriptの文法に代わるものとして、Atom JavaScipt grammar をインストールすることができます。
テーマなどで異なるビルトイン文法がサポートされている場合でも、変数や関数の参照のためのトークンを作成することにより異なる色付けをすることが可能です。

Debugging (デバッギング)

Moveable Debug Toolbar

水平方向にデバッグツールバーをドラッグで移動できるようになりました。ユーザからの要求により実装されました。Issue #4580

Drag debug toolbar

Changing Variable Value

デバッグ・エクステンションがサポートしていることが必要ですが、単純な変数の値の変更をサポートします。

Node.js のデバッガがこの機能をサポートした最初のエクステンションです:

Drag debug toolbar

単純な変数は、変数ツリーのリーフです。例えば、変数、オブジェクトのプロパティ、または配列要素。

Show Variable Type on Hover

タイプをサポートするデバッグ・アダプターのために、デバッグビューレット内の変数名の上にホバー機能による変数の型を示すことが可能になりました。

Step Back

バックステップをサポートするデバッグアダプタでは、ステップバックアクションを利用することが可能になります。

Step back

OS specific launch configurations

launch.json 内にて、オペレーティング・システム固有の構成を指定することが可能になりました。ユーザの要求によって実装されました。Issue #1873

例:

{
   "type": "node",
   "request": "launch",
   "runtimeExecutable": "mynode",
   "windows": {
     "runtimeExecutable": "mynode.exe" 
   }
}


Node.js Debugging (Node.js デバッギング)

Attach to Process

Node.js のデバッグでは、デバッグモードで起動していない Node.js プロセスにアタッチすることをサポートしています。パフォーマンスなどの理由により、運用サーバー上などで、常にデバッグモードを有効にした状態で実行することができない場合に役に立ちます。

Node.js のプロセスにアタッチするために、attach launch configuration で processId 属性にアタッチしたい process id を指定することができますが、デバッグセッションを開始する度に、launch configuration を編集することは非実用的であり、これを改善する方法として、例えば process picker のようなインタラクティブな UI に結合することができる新しいタイプの変数を導入しました:

Process Picker

ユーザがデバッグセッションを開始する前に、Node.js のプロセスを選択できるように $${command.PickProcess} 変数を使用するは launch configuration は次のとおりです。

{
   "type": "Attach to Process",
   "type": "node",
   "request": "attach",
   "processId": "${command.PickProcess}"
}


Extension Authoring (拡張機能の作成者)

Menu Items and Context Menu Entries

エクステンションの作成者は、エクスプローラのコンテキストメニュー、エディタのコンテキストメニュー、およびエディタのタイトルメニューに貢献することを可能にします。

それは 2 つのステップで動作します:

  1. 強化された commands contribute point を使用して、コマンドにタイトルやアイコンを割り当てる
  2. 新しい menus contribute point を使用して、メニュー項目を作成するメニュー項目は、エディタ/コンテキスト のようなメニューの位置のために定義されており、少なくとも command実行するように指定する必要があります。過度に散らかったメニューを回避するには、メニュー項目が示している条件を指定する必要があります。最後に、代替コマンドおよびソートされた項目をグループ化して定義できます。グループは、視覚的に分離され、最も顕著なものとしてナビゲーションと呼ばれる特別なグループがあります。
    "commands": [{
       "command": "markdown.showPreview",
       "title": "Open Preview",
       "icon": {
           "light": "./media/Preview.svg",
           "dark": "./media/Preview_inverse.svg"
       }
    }],
    "menus": {
       "explorer/context": [
           {
               "when": "resourceLangId == markdown",
               "command": "markdown.showPreview",
               "group": "navigation"
           }
       ]
    }
    

    Menu contribution

Markdown 言語のリソースである場合のスニペットは、上記のエクスプローラのコンテキストメニューのナビゲーショングループにエントリを追加します。メニューアイテムから実行される場合、現在のリソースの URI がコマンドに渡されることに 注意 してください。

Add decorations before and after text

デコレーション API に新しい機能を追加しました。デコレーション前後に 'attachments' を追加できます。 'attachments' は、アイコンだけでなく、装飾されたテキストの内容とすることができます。

下記の例は、テキストの color value に適用される CSS カラーデコレータです:

Decorator attachment

デコレーションの 'attachment' は、'decoration type' (see ThemableDecorationInstanceRenderOptions, before & after) で定義され、個々の装飾に微調整することができます。(see ThemableDecorationRenderOptions, before & after).

API tweaks
  • Uri-class は、既存のものから URI を生成させることができます: someUri.with({scheme: 'newScheme', path: 'newPath'})
  • previewHTML コマンドは、title を提供することが可能になりました
  • HTML をプレビューする場合、現在適用されているテーマの body 要素のクラス名を利用しスタイルを適用します。テーマは、vscode-light, vscode-dark, and vscode-high-contrast など
  • 画像などのような非テキストリソースを開くことができる新しいコマンド vscode.open を提供します
Debug Extension Authoring: Command Variables

VS Code は、しばらくの間 'launch configurations` で変数置換をサポートしています。 このリリースでは、VS Code コマンドにバインドされた変数の新しいタイプを紹介します。

デバッグセッションが開始されると、基本となる launch configuration に存在するすべてのコマンド変数は、最初に収集された後に実行されます。 複数の変数の存在は、複数の実行結果にはなりません。 launch configuration に存在する全ての変数は、デバッグアダプタに渡される前に、コマンドの結果に置換されています。 コマンドが実装され、エクステンションに登録し、その戻り値は、変数の値として使用されます。 コマンドの実装は、UI なしの単純な式にもできますし、いくつか UI に基づいて洗練された機能がエクステンション API で提供されます。

この機能の例は、node-debug で見つけることができます。ここでは、変数 ${command.PickProcess} がプロセスピッカーコマンドにバインドされています。新しい 'Attach to Process' launch configuration では、ユーザーは Node.js のプロセスを選択できるように変数を使用して launch configuration を実行してます。

新しいコマンド変数の導入は簡単です:

  • あなたのエクステンションにコマンドを実装および登録します。(デバッグアダプタ内ではない)
  • debuggers contribution point に variables セクションを追加します
  • 変数ごと一つの名前または command-binding を追加します

例えば:

  "debuggers": {
    ...
    "variables": {
    "RemoteHost": "askUserForRemoteHostCommand"
    },
  ...
  }
  • 変数は ${command.RemoteHost} として launch configuration の任意の文字列型の値として使用することができます。
  • RemoteHost 変数をユーザーが発見できるようにするには、debuggers contribution point の configurationAttributes または initialConfigurations セクションに追加することを検討してください。
Debug Extension Authoring: Additions to the Debug Protocol

デバッグプロトコルは、次の 3 つの領域に拡張されました(VS Code は既に対応する UI を提供しています):

  • 変数の編集:デバッグアダプタが supportsSetVariable` を返すように実装されている場合、VS Code は、setVariable request 要求を呼び出すことにより、「変数ビュー」で構造化されていない(リーフ)変数の値を設定することをサポートします。
  • 後方へのステッピング:デバッグアダプタが capability supportsStepBack を返すように実装されている場合、VS Code は、バックステッピングのためのUIを有効にし、 stepBack request を呼び出します。
  • 変数の型をホバー表示します: デバッグアダプタは、variable typeのためのオプションである type 属性を返す場合、変数名の上にマウスを重ねることで属性の値がホバー表示されます
Creating Errors/Warnings from an Extension (Diagnostics) ... (訳がだいぶあやしい)

新しい Problems Panel の導入により、project wide builder やリンターのサポートに取り組むようになりました。ドキュメントが閉じられたときの最初のステップとして、我々は問題の自動クリアを排除しました。そうでない場合は開き、誤っている project wide builder によって生成された問題セットを変更した文書を閉じます。この変更により、診断を生成するリンターのようなエクステンション機能は、ドキュメントが閉じているときにそれらをクリアする責任があります。診断を生成するすべてのエクステンション・プロバイダは、この変更に採用する必要があります。

ドキュメントが閉じられたときの最初のステップとして、問題を自動的にクリアすることを止めました。それ以外の場合は、開かれているあるいは閉じられているドキュメントは、project wide builder によって生成された問題セットを変更しますが、これは正しくありません。この変更により、linter のような診断を生成する拡張機能は、ドキュメントが閉じているときにそれらをクリアする責任があります。診断を生成するすべてのエクステンションプロバイダは、この変更を採用する必要があります。

linter で vscode-language-server node module を使用することで下記のように実現できます:

 documents.onDidClose((event) => {
    connection.sendDiagnostics({ uri: event.document.uri, diagnostics: [] });
 });


Monaco Editor (モナコエディタ)

Monaco Editor が npm として利用可能になりました! - これは VS Code のソースコードエディタ部分を抜き出し、様々な Web アプリケーションへの統合や最新のブラウザで動作させることが可能になるライブラリパッケージです。いくつかの API を紹介するデモサイトを作成し公開しました。 npm install monaco-editor を実行することで Monaco Editor ライブラリを入手することが可能です。

Monaco Editor に関するリリースノートについては、Microsoft/monaco-editor を参照してください。

Monaco Editor Playground

CSS/LESS/SCSS and JSON language services are now available

また、CSS/LESS/SASS パーサーと language smarts code は、個別の node モジュールとなる vscode-css-languageservice に分けられ、VS Code と Monaco editor で利用されます。 Web ブラウザ上でも VS Code と同じ CSS の編集機能を提供します。

JSON も同様に、JSON Schema validator を含む言語サービス vscode-json-languageservice として Monaco editor で利用されます。


Notable Bug Fixes (既知のバグフィックス)

SASS モードの言語 ID が 'sass' から 'scss' へと変更されました。 Sass を利用するために任意のリンターの設定をカスタマイズしている場合、構成キーの名前を 'sass' から 'scss' に変更する必要があります。

  • 6316: Update should reopen all last opened folders
  • 1210: Open file dialog should start in the directory for the current active file
  • 7391: editor becomes unresponsive all the time since last update
    • the fix improves considerably the memory footprint of all colorizers through the use of immutable linked lists for representing colorizer states in-between lines in vscode-textmate.
  • 8173: Noticeable delay opening a Markdown file (source)
    • the implementation of a 10x faster hand-written plist parser for TextMate grammars improves the start-up time of all colorizers. We are looking into extracting this implementation to its own node module.

また、Integrated Terminal では以下のバグが修正されました:

  • #8141: Cannot launch Electron apps from integrated terminal
  • #7911: Terminal lines appears to have margin
  • #7684: Clicking into editor does not properly take focus from Terminal view
  • #7458: Runaway terminalProcess processes
  • #6738, #7442, #7444: Several issues related to resizing the terminal
  • #6743: Mouse wheel scrolling in integrated terminal only works on filled areas
  • #7357: Invoking the terminal sometimes yields an error "Cannot set property 'innerHTML' of undefined"
  • #6457: vim overrides the terminal color scheme

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


Downloads (ダウンロード)

Downloads: Windows | OS X | Linux 64-bit .zip .deb .rpm | Linux 32-bit .zip .deb .rpm


Thank You

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

Have a nice Code♪

本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります。

Comments (0)

Skip to main content