UX ガイドライン
これらのガイドラインは、VS Code のネイティブインターフェイスとパターンにシームレスに統合される拡張機能を作成するためのベストプラクティスを網羅しています。これらのガイドラインでは、次の情報を期待できます。
- VS Code の全体的な UI アーキテクチャと要素の概要
- 拡張機能によって提供される UI の推奨事項と例
- 関連するガイドとサンプルへのリンク
詳細に入る前に、VS Code のさまざまなアーキテクチャ UI 部分がどのように組み合わされ、拡張機能がどのように、どこで貢献できるかを理解することが重要です。
コンテナ
VS Code インターフェイスは、大まかにコンテナとアイテムという2つの主要な概念に分けられます。一般的に、コンテナは、1つまたは複数のアイテムをレンダリングするVS Code インターフェイスの大きなセクションと考えることができます。
アクティビティバー
アクティビティバーは、VS Code のコアナビゲーションサーフェスです。拡張機能は、プライマリサイドバーにビューをレンダリングするビューコンテナとして機能するアイテムをアクティビティバーに貢献できます。
プライマリサイドバー
プライマリサイドバーは、1つまたは複数のビューをレンダリングします。アクティビティバーとプライマリサイドバーは密接に結合しています。貢献されたアクティビティバーアイテム(ビューコンテナ)をクリックすると、そのビューコンテナに関連付けられた1つまたは複数のビューがレンダリングされるプライマリサイドバーが開きます。具体的な例としては、エクスプローラーがあります。エクスプローラーアイテムをクリックすると、フォルダー、タイムライン、およびアウトラインビューが表示されるプライマリサイドバーが開きます。
セカンダリサイドバー
セカンダリサイドバーも、ビューコンテナとビューをレンダリングするためのサーフェスとして機能します。ユーザーは、ターミナルや問題ビューなどのビューをセカンダリサイドバーにドラッグして、レイアウトをカスタマイズできます。
エディター
エディターエリアには、1つまたは複数のエディターグループが含まれています。拡張機能は、エディターエリアで開くカスタムエディターまたはWebviewを貢献できます。また、エディターツールバーに追加のアイコンボタンを公開するためにエディターアクションを貢献することもできます。
パネル
パネルは、ビューコンテナを公開するための別のエリアです。デフォルトでは、ターミナル、問題、出力などのビューは、パネル内で一度に1つのタブで表示できます。ユーザーは、エディターで行うのと同様に、ビューを分割レイアウトにドラッグすることもできます。さらに、拡張機能は、アクティビティバー/プライマリサイドバーではなく、パネルにのみビューコンテナを追加することもできます。
ステータスバー
ステータスバーは、ワークスペースと現在アクティブなファイルに関するコンテキスト情報を提供します。ステータスバーアイテムの2つのグループをレンダリングします。
アイテム
拡張機能は、上記のさまざまなコンテナにアイテムを追加できます。
ビュー
ビューは、ツリービュー、ウェルカムビュー、またはWebviewビューの形式で貢献でき、インターフェイスの他の領域にドラッグして移動できます。
ビューツールバー
拡張機能は、ビューツールバーにボタンとして表示されるビュー固有のアクションを公開できます。
サイドバーツールバー
ビューコンテナ全体にスコープされたアクションは、サイドバーツールバーにも公開できます。
エディターツールバー
拡張機能は、エディターに直接スコープされたエディターアクションをエディターツールバーに貢献できます。
パネルツールバー
パネルツールバーは、現在選択されているビューにスコープされたオプションを公開できます。たとえば、ターミナルビューは、新しいターミナルを追加したり、ビューレイアウトを分割したりするアクションなどを公開します。問題ビューに切り替えると、異なる一連のアクションが公開されます。
ステータスバーアイテム
左側では、ステータスバーアイテムはワークスペース全体にスコープされます。右側では、アイテムはアクティブなファイルにスコープされます。
一般的な UI 要素
コマンドパレット
拡張機能は、コマンドパレットに表示されるコマンドを貢献して、一部の機能をすばやく実行できます。
クイックピック
クイックピックは、さまざまな方法でユーザーの入力を取得します。単一選択、複数選択、さらには自由形式のテキスト入力も要求できます。
通知
通知は、情報、警告、エラーメッセージをユーザーに伝えるために使用されます。進捗状況を示すためにも使用できます。
Webview
Webviewsは、VS Code の「ネイティブ」API を超えるユースケースでカスタムコンテンツと機能を表示するために使用できます。
コンテキストメニュー
コマンドパレットの一貫した場所とは対照的に、コンテキストメニューは、ユーザーが特定の場所からアクションを実行したり、何かを構成したりする機能を提供します。
ウォークスルー
ウォークスルーは、豊富なコンテンツを特徴とする多段階のチェックリストを介して、ユーザーを拡張機能にオンボーディングするための一貫したエクスペリエンスを提供します。
設定
設定は、ユーザーが拡張機能に関連するオプションを構成できるようにします。