2018年4月 (バージョン 1.23)
アップデート 1.23.1: このアップデートでは、これらの問題に対処しています。
ダウンロード: Windows: x64 | Mac: Intel | Linux 64-bit: deb rpm tarball | 32-bit: deb rpm tarball
Visual Studio Code 2018年4月版へようこそ。このマイルストーンでは、VS Codeチームは拡張機能作成者をサポートするためのAPI作業に注力してきましたが、このバージョンには、皆様に気に入っていただけるであろう多くのアップデートが含まれています。主なハイライトは以下の通りです。
- ハイライトされたインデントガイド - ソースコードのインデントを視覚化するのに役立ちます。
- 保存時にコードアクションを実行 - 保存時にインポートの整理などのアクションを実行します。
- NPMスクリプトエクスプローラー - プロジェクト内のNPMスクリプトをすばやく見つけて、実行し、デバッグします。
- Problemsビューのフィルタリング - エラーと警告を表示するファイルを選択します。
- マウスの中央ボタンを使用した列選択 - マウスの中央ボタンとドラッグで高速な列選択が可能です。
- CSS領域の折りたたみ - 役立つコード折りたたみのため、CSS/SCSS/Lessコードに領域を作成します。
- 新しいCSSプロパティのサポートの改善 - CSSの実験的プロパティに対するスマートな提案。
- Markdownヘッダー検索 - ワークスペース全体でMarkdownヘッダーを検索します。
- カスタムアクティビティバービュー - 拡張機能作成者は独自のアクティビティバーアイテムを作成できます。
- 新しいWebサイトデプロイチュートリアル - 静的WebサイトをAzure Storageにデプロイする方法を学びます。
これらのリリースノートをオンラインで読みたい場合は、code.visualstudio.com の 更新 にアクセスしてください。
また、Cloud Developer AdvocateのBrian Clarkによる1.23リリースハイライトビデオもご覧いただけます。
リリースノートは、VS Codeの重点分野に関連する以下のセクションにまとめられています。さらに詳しい更新は以下の通りです。
- エディター - より優れたUnicodeファイルのサポート、より安定したエディターの配置。
- ワークベンチ - 検索結果のコピー、より優れたGitクローンワークフロー、VS Codeプロセスエクスプローラー。
- デバッグ - ログポイントの式は、スマートな補完と構造化オブジェクトの表示をサポートします。
- 言語 - JavaScript/TypeScriptのインポートの整理アクション、永続的なMarkdownプレビュー。
- 拡張機能の作成 - 新しいwebviewとFileSystem Provider API、'Source'ファイルレベルのアクション。
Insiders: 新しい機能をいち早く試したいですか?毎晩リリースされるInsidersビルドをダウンロードして、最新のアップデートが利用可能になり次第お試しください。
Editor
ハイライトされたインデントガイド
VS Codeは、カーソルをさまざまなソースコードブロック間で移動すると、アクティブなインデントガイドをハイライトできるようになりました。

ハイライトカラー名は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では、ShiftとAltを押し続け、左マウスボタンを使用することで、列(ボックス)選択を追加できます。これで、マウスの中央ボタンを使用して列選択を作成することもできます。

注:
editor.multiCursorModifierをctrlCmdに設定した場合、WindowsではShiftとCtrl、macOSではShiftとCmdが修飾キーとなります。
UTF-16エンコードファイルの処理の改善
VS Codeは常にファイルのUTF-16エンコードをサポートしていましたが、このエンコードを正しく検出するにはBOM (バイトオーダーマーク) が必要でした。VS CodeがBOMを見つけられない場合、ファイルは開かれず、ユーザーには情報メッセージが表示されました。
このリリースでは、このメッセージに、ファイルをエディターでテキストとして開くための新しいアクションが追加されました。

開いた後、エンコードを変更してテキストをデコードしようとすることができます。
さらに、VS CodeはBOMなしでUTF-16を自動的に検出するヒューリスティックを使用するようになりました。このヒューリスティックは、ASCII文字のみを含むすべてのUTF-16ファイルで機能するはずです。
エディターの配置の改善
特定のケース(折り返しエディターのサイズ変更、マウスホイールによるズーム、CodeLensの変更など)でエディターのスクロール高さが変更されると、エディターはビューポートの中央行を維持しようとしました。VS Codeは、ビューポートの最初の行を維持するようになり、より安定した表示を提供します。

Workbench
Problemsビューのフィルタリング
フィルタを使用して、Problemsビューに表示するファイルを含めたり除外したりできるようになりました。
- フィルター入力ボックスでグロブパターンを使用して、ファイルを含める/除外します。除外パターンは!で始まる必要があります。たとえば、!*.jsは.js拡張子を持つすべてのファイルを削除します。
- files.exclude設定に一致するすべてのファイルを削除するためのFilter using Files Exclude Settingボタンがあります。
以下の短いビデオでは、files.exclude設定に基づいてプロジェクトのoutディレクトリをフィルタリングし、フィルター入力ボックスに!**/node_modules/**と入力してすべてのnode_modulesを無視する方法を示しています。

NPMスクリプトの実行
npm.enableScriptExplorer設定により、ワークスペースで定義されているスクリプトを表示するエクスプローラーを有効にできます。

エクスプローラーは以下をサポートしています:
- package.jsonファイルが選択されている場合、- package.jsonファイル内または- scriptsセクション内のスクリプトを開きます。これはスクリプトを選択したときのデフォルトアクションです。
- 統合ターミナルに出力を表示して、スクリプトをタスクとして実行します。
- スクリプトをデバッグします。ノードデバッガーを起動するには、スクリプトで--inspect-brkのようなノードデバッグオプションを定義する必要があります(参照)。
npm.exclude設定を使用して、特定のフォルダーに含まれるpackage.jsonファイルのスクリプトを除外します。
Gitクローンの改善
Gitクローンワークフローにいくつかの改善が加えられました。Git: Cloneコマンドを実行すると
- リポジトリの場所を選択するためにネイティブダイアログが使用されます。
- 新しい通知進行状況APIが使用され、操作状況のレポートが改善されます。
- VS Codeは、クローンされたリポジトリをワークスペースに追加するか、直接開くかを確認するプロンプトを表示します。
Git拡張機能は、システムワイドURIを処理するための新しい提案APIも採用し、特定の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: シェルで、open vscode://vscode.git/clone?url=https%3A%2F%2Fgithub.com%2FMicrosoft%2Fvscode-vsce.gitと入力します。
検索コンテキストメニューから結果をコピー
検索結果ツリーのコンテキストメニューに、Copy、Copy Path、Copy Allの3つの新しいオプションが追加されました。これは、検索結果を共有またはエクスポートしやすくするという高い評価を得たリクエストでした。

検索の「含む」と「除外」の入力ボックスが別々に戻る
先月、Searchビューの「含む」と「除外」の入力ボックスを統合し、簡素化と効率化を図るとともに、垂直方向のスペースを少し節約しようとしました。しかし、多くの方から、これがSearchビューの使用方法に合わないというご意見をいただきました。最終的に、変更を元に戻すことを決定し、このリリースでは、1.22以前のように「含む」/「除外」のボックスが別々に戻りました。除外ボックスのパターンに!を使用する必要がないことに注意してください。

カスタムアクティビティバービュー
拡張機能作成者は、独自にビューコンテナをアクティビティバーに追加できるようになりました。インストールされている拡張機能によっては、更新後に、カスタムエクスプローラーなどのUIがファイルエクスプローラーから新しいカスタムビューコンテナに移動するのを見かけるかもしれません。たとえば、以下では、Azure App ServiceおよびAzure Databases拡張機能のエクスプローラーが専用のAzureビューに移動しているのがわかります。

実行中のVisual Studio Codeプロセスを表示
Developer: Open Process ExplorerコマンドまたはHelp > Open Process Explorerメニュー項目を使用して、実行中のVS Codeプロセスに関する継続的に更新される情報を含む新しいウィンドウを開きます。プロセスは、CPUおよびメモリ使用量、PID、および表示名とともにリストされ、右クリックすると表示されるコンテキストメニューから強制終了できます。

統合ターミナル
ターミナル分割のマルチルートサポート
マルチルートワークスペース内では、ターミナルを分割するフォルダを選択できるようになります。従来の動作は、workbench.action.terminal.splitInActiveWorkspaceコマンドをキーバインドすることで再度有効にできます。
言語
CSS領域の折りたたみ
CSS/SCSS/Lessで、/* #region */と/* #endregion */を使用して、折りたたみ可能な領域をマークできるようになりました。SCSS/Lessでは、// #regionと// #endregionを折りたたみマーカーとして使用することもできます。

新しいプロパティに対するCSSサポートの改善
以前は、VS Codeはbackdrop-filterのような一部の実験的なCSSプロパティに対して「不明なプロパティ」エラーを表示していました。

PostCSSのような実験的なCSSプロパティを使用できるCSSフレームワークを使用している場合でも、CSSのリンティングを完全にオフにするか、このエラーに耐える必要がありました。
このリリースでは、Mozilla Developer Networkから提供されたデータを使用して、VS Codeは87の新しいCSSプロパティを識別するようになりました。MDNでCSSプロパティを見つけることができれば、VS Codeはそれを認識するはずです。
さらに、MDNからのデータを使用して、VS CodeはCSS/SCSS/Lessで拡張された補完を提供し、各CSSプロパティの構文とステータス値を表示するようになりました。

CSSプロパティ値の検証に対する組み込みサポートはまだありませんが、CSSTree validator拡張機能もMDNのデータを使用し、各プロパティ値に対して値定義構文に基づいてリンティングを提供します。

Markdownワークスペースシンボル検索
Markdownはワークスペースシンボル検索をサポートするようになりました。初めてMarkdownファイルを開いた後、(⌘T (Windows, Linux Ctrl+T))を使用して、現在のワークスペース内のすべてのMarkdownファイルのヘッダーを検索できます。

永続的なMarkdownプレビュー
Markdownプレビューは、VS Codeを再度開いたときに自動的に復元されるようになりました。

以前は、VS Codeを再起動するたびにプレビューを再度開く必要がありました。
TypeScript 2.8.3
VS CodeにはTypeScript 2.8.3が同梱されるようになりました。このリリースでは、多くの重要なバグが修正されています。
JavaScriptとTypeScriptのインポートの整理
JavaScriptおよびTypeScriptのインポートの整理機能はプレビュー段階を終了しました。Organize Imports (⇧⌥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デバッグでログポイントを使用する場合、ログメッセージに埋め込まれた構造化オブジェクトは、デバッグコンソールで展開可能なオブジェクトとして表示されます。  
- 
Node.jsデバッグのログポイントは、デバッグコンソールにそのソースの場所を表示するようになりました。  
- 
ログポイントやブレークポイントは、エディターのガターにあるアイコンをクリックすることで簡単に削除できるため、誤ってログメッセージやブレークポイントの条件を失う可能性があります。これを防ぐために、VS Codeは、ガターをクリックして条件またはログメッセージ付きのブレークポイントを削除しようとするとプロンプトを表示するようになりました。このアラートは、ブレークポイントを削除する代わりに無効にするオプションを提供します。 
- 
最後に、DebugメニューにNew Breakpoint > Logpoint...アクションを追加しました。 
拡張機能の作成
アクティビティバーへの貢献
ますます多くの拡張機能がカスタムビューを作成し、そのほとんどがファイルエクスプローラーに貢献しているため、エクスプローラーが乱雑になっていることに気づきました。拡張性を高めるため、VS Codeはアクティビティバーに貢献する方法を提供するようになりました。例として、アクティビティバーにTestの貢献が追加されました。拡張機能は独自の貢献を行えるようになりました。
テストビューコンテナ
拡張機能がテスト関連のビューに貢献するために、新しいテスト貢献がアクティビティバーに提供されるようになりました。このテスト貢献はデフォルトでは空で非表示になっており、ビューがそれに貢献されると表示されます。この例は、mochaカスタムビューがアクティビティバーのTestアクティビティにどのように貢献されるかを示しています。
"contributes": {
    "views": {
        "test": [
            {
                "id": "mocha",
                "name": "mocha"
            }
        ]
    }
}

カスタムビューコンテナ
拡張機能は、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"
                }
            ]
        }
}

アイコンの仕様
- 
サイズ:アイコンは、50x40の正方形の中央に24x24で配置されます。
- 
色:アイコンは単一のモノクローム色を使用する必要があります。
- 
形式:アイコンはSVG形式を推奨しますが、どの画像ファイル形式も受け入れられます。
- 
状態:すべてのアイコンは以下の状態スタイルを継承します。状態 不透明度 既定値 60% Hover 100% アクティブ 100% 
登録された各ビューコンテナを表示するためのコマンドが登録されます。上記のPackage Explorerの例では、これはView: Show Package Explorerになります。また、コマンドView: Open View...を実行すると、すべてのビューコンテナがリストされます。

注: 各ビューごとにビューコンテナを作成するのではなく、関連するビューを単一のビューコンテナにグループ化することを推奨します。
ソース管理のカスタムビュー
ソース管理マネジメント (SCM) に関連するカスタムビューを、アクティビティバーのソース管理ビューコンテナに提供できるようになりました。これらのビューは、エクスプローラーと同様に、表示、非表示、および順序の変更が可能です。
"contributes": {
    "views": {
        "scm": [
            {
                "id": "git-compare",
                "name": "Compare"
            }
        ]
    }
}

ファイルシステムプロバイダー
拡張機能は、FTPサーバーなどの任意のソースからファイルとフォルダを提供できるようになり、VS Codeはそれらを通常のファイルと同様に扱います。これを行うには、拡張機能がftpのようなURIスキームと関連付けるFileSystemProviderインターフェースを使用します。このインターフェースにより、エディターはファイルとフォルダを検出および管理できます(作成、削除、読み取り、書き込み)。

VS Codeは、FileSystem Providerによって提供される構成ファイル(settings.json、tasks.json、launch.json)を読み取りおよび変更することもできます。
言語識別子とドキュメントセレクター
FileSystem Providerの追加は、すべてのファイルがディスク上に存在するわけではないことを意味し、拡張機能はこのことを認識する必要があります。簡潔ですが重要なメッセージとして、すべてのドキュメントがディスク上に存在するわけではなく、拡張機能がディスクアクセスに依存している場合は、まずスキームをチェックする必要があります。
注意喚起のため、ドキュメントフィルターではなく言語識別子のみを使用して言語機能を登録すると表示される情報メッセージを追加しました。詳細については、ドキュメントセレクターのトピックを参照してください。
最後に、テストに使用できるサンプル拡張機能があります。これは、すべてをメモリに保持するファイルシステムを実装しており、ディスク上には何もありません。これにより、言語機能をテストできます。拡張機能はこちらから入手できます。
注意: TextDocument.isUntitled
FileSystem Providersの追加により、TextDocument.isUntitledのセマンティクスを調整し、新しく作成されたドキュメント(untitledスキームを使用)のみtrueとなるようにしました。以前は、ディスクからのドキュメントでないすべてのドキュメントは「untitled」として扱われていました。この変更は、特にuntitledでないドキュメントがディスクに保存されていると想定している場合、拡張機能の動作を変更する可能性があります。
診断の読み取り
診断を読み取り、診断が変更されたときに通知を受けるための新しいAPIが追加されました。languages.getDiagnosticsとlanguages.onDidChangeDiagnosticsを参照してください。たとえば、SCM拡張機能は、変更をチームと共有する前にエラーがないことを確認できるようになりました。
RenameProviderの改善
RenameProvider APIを改良し、オプションでprepareRenameという新しい関数を実装できるようになりました。この関数を使用すると、プロバイダーはVS Codeが名前を変更するシンボルを解決および検証するのに役立ちます。
ドキュメント変更イベントにオフセットベースの情報を追加
TextDocumentContentChangeEventに新しいプロパティrangeOffsetが追加され、rangeLengthと合わせて、拡張機能が(offset,length)座標を使用してテキストドキュメントの変更を追跡できるようになりました。
ソースコードアクションの種類
CodeActionKind.Sourceは、ファイル全体に適用されるコードアクションを識別します。インポートの整理は、ファイル内の任意の位置からトリガーできるため、Sourceコードアクションの好例です。
Sourceコードアクションは、通常のQuick Fix電球メニューには表示されません。これらはeditor.action.sourceActionコマンドを使用して明示的に要求する必要があります。Sourceコードアクションは、新しいSource Actionsコンテキストメニューにも表示されます。
インポートの整理コードアクション
Sourceコードアクションを基盤として、新たに追加されたCodeActionKind.SourceOrganizeImportsは、インポートを整理するコードアクションを識別します。これらのアクションはeditor.action.organizeImportsを使用してトリガーでき、標準のキーボードショートカットは⇧⌥O (Windows, Linux Shift+Alt+O)です。
拡張機能がすでにインポートの整理を実装している場合は、ユーザーが言語間でより一貫したエクスペリエンスを得られるように、CodeActionKind.SourceOrganizeImportsを使用するように移行することを強くお勧めします。
CodeActionProviderMetadata
registerCodeActionsProviderは、オプションのCodeActionProviderMetadata引数を取るようになり、拡張機能はCodeActionProviderが提供するCode Actionsの種類をVS Codeに伝えることができます。この情報は、VS Codeが新しいRefactorおよびSource Actionコンテキストメニューを有効にするために使用されます。たとえば、Refactorコンテキストメニューは、refactor.* Code Actionsを提供することを示すCodeActionProviderMetadataとともにCodeActionProviderが登録されている場合にのみ有効になります。
Webview API
webview APIを使用すると、拡張機能はVS Code内に完全にカスタマイズ可能なビューを作成できます。たとえば、組み込みのMarkdown拡張機能は、webviewを使用してMarkdownプレビューをレンダリングします。webviewは、VS CodeのネイティブAPIがサポートする範囲を超えた複雑なユーザーインターフェイスを構築するためにも使用できます。

新しい拡張機能作成ページで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属性を使用する拡張機能をマーケットプレイスに公開することはできません。
統合ターミナル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は、実行中のすべてのタスクの実行オブジェクトの取得をサポートします。
- executeTask、- taskExecutions、またはイベントのいずれかを介して提供される- 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設定を表示するプロンプトが表示されます。後で設定をインポートしたい場合は、Command Palette (⇧⌘P (Windows, Linux Ctrl+Shift+P)) からSublime Text Keymap: Import Sublime Text Settingsコマンドを使用します。

エンジニアリング
スモークテストの安定性の向上
VS Codeには常にスモークテストがあり、品質を厳密に管理するために使用されてきました。スモークテストを自動化しましたが、安定させることができませんでした。このマイルストーンでは、スモークテストの安定性とパフォーマンスの向上に取り組みました。詳細については、プルリクエスト #47471を参照してください。
新しいドキュメント
Azure Storageを使用したウェブサイトデプロイチュートリアル
Azure Storageを使用して静的ウェブサイトを作成およびデプロイするための新しいチュートリアル「Azureへの静的ウェブサイトのデプロイ」が公開されました。
VS Codeブログ記事
最近、VS Codeのブログに2つの記事が投稿されました。
- VS CodeのBingを活用した設定検索 - Bingの自然言語サービスを使用して設定検索を改善します。
- Text Bufferの再実装 - 最適化されたテキストバッファー実装の開発についてお読みください。
注目すべき変更
- 10663: 比較ビューでタブを切り替えるときにビューの状態を保持する
- 24634: macOS: ウィンドウの acceptsFirstMouse を有効にする設定を追加
- 29549: マルチスレッドデバッグはスレッドの停止をサポートすべき
- 46785: ファイルにフォーカスがない場合、「Finderで表示」はワークスペースのフォルダを開くべき
- 47274: Node LogpointsがDebug ConsoleでVMソースとして表示される
- 47478: 不完全にインストールされた拡張機能を検出する
- 48733: デバッグ中にホバープロバイダーへの呼び出しを有効にするオプション debug.enableAllHovers を導入する
- 46414: ターミナルでのNode.jsプロセスのデバッグで、Debug Consoleに出力が表示されなくなった
謝辞
最後に、そしてもちろん最も重要なこととして、Visual Studio Codeをさらに良くするために協力してくれた以下の方々に、心からの感謝を申し上げます!
vscodeへの貢献者
- @alexglazkov9: ウィンドウにフォルダがない場合、統合ターミナルが開かない PR #46518
- Brett Cannon (@brettcannon): Pythonでの折りたたみで#とregionの間にスペースを許可する PR #46885
- @cody: 結果が見つからなくても検索のクリアを有効にする PR #48324
- @costincaraivan: YAMLにregion/endregionの折りたたみマーカーを追加。 PR #47722
- David (@ddruker): 統合ターミナルでエスケープキーを押して選択をクリアする PR #47042
- Dustin Campbell (@DustinCampbell): 最新のバグ修正でC# TextMate文法を更新 PR #47520
- Florian Traber (@floriantraber): git delete popupをモーダルにする PR #47052
- Filip Malinowski (@fmal): ショートハンド宣言の代わりにbackground-colorを明示的に設定する PR #47785
- @ivorhuang: デバッガーがまだ開始されていない場合、再起動時にデバッガーを開始する PR #47219
- Josh Goldberg (@JoshuaKGoldberg): ソースのisInsalledのタイプミスを修正 PR #47435
- @KarelCasier: 折りたたみ可能なカーソルを無効にする設定パラメータを追加 (#_37967) PR #38175
- Kenny Le (@kennyle1412): ワークスペースパスに基づいてターミナルを分割する PR #46461
- Laurel Williams (@lwillia): 拡張機能IDのトリプルクリックで余分な情報が選択される問題を修正 PR #47921
- Matt Acosta (@mattacosta): PHP関数を再生成する。 PR #47865
- Dmitry Ignatovich (@mechatroner): 巨大なファイルパラメータをユーザー設定に移動 PR #44988
- Michael Klement (@mklement0): PowerShell Core shebang行をサポートするようにpackage.jsonを更新。 PR #44239
- Niklas Mollenhauer (@nikeee): Hover#range をオプションにする PR #48004
- Pascal Fong Kye (@pfongkye): フォーマット時に意味のある警告メッセージを表示 PR #47919
- Yemi Bedu @ P&R (@pr-yemibedu): 小さなタイポ修正 PR #47451
- Pradeep Murugesan (@pradeepmurugesan)
- Benas Svipas (@svipben): ハイコントラスト用の異なるボーダースタイル PR #46956
- vincentLiu (@vincentLiuxiang): QuickOpenを再利用するためにSymbolEntryをエクスポートする PR #47544
vscode-extension-samplesへの貢献
- Niklas Mollenhauer (@nikeee): clientフォルダをlsp-sampleに変更 PR #59
language-server-protocolへの貢献者
- Simon Marchi (@simark): TextDocumentSyncKindIncremental -> TextDocumentSyncKind.Increm... に変更 PR #419
- Adelar da Silva Queiróz (@adelarsq): 言語ごとに言語サーバーをソートする PR #424
- Geoffrey Gilmore (@ggilmore): "textDocument/didOpen"の要件を明確化 PR #431
- Junfeng Li (@autozimu): タイプミス。 PR #434
- Niklas Mollenhauer (@nikeee): TextDocuments#get(uri: string) に undefinedを追加 PR #339
- Caleb Lloyd (@caleblloyd): デスクトップで固定サイドバーがページから外れる問題を修正 PR #444
- Diego Berrocal (@CestDiego): PR #450
- Remy Suen (@rcjsuen):
vscode-languageserver-nodeへの貢献者
vscode-chrome-debugへの貢献
- @digeff
- Alexey Velikiy (@jonyrock): コード内のフォーマット「json」を「javascript」に変更 PR #640
vscode-chrome-debugへの貢献
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。