Project Switcher Palette
プロジェクトを切り替えて、作業の続きをすぐに。
Project Switcher Palette は、複数のフォルダやワークスペースをサイドバーにまとめ、すばやく切り替えられる VS Code 拡張機能です。プロジェクトごとの配色や名前付きタブセットを使って、作業環境を整理できます。
バージョン:1.0.1
マウスでの操作
既定のプロジェクト一覧では、次の操作ができます。
| 操作 |
動作 |
| 左クリック |
同じウィンドウでプロジェクトを開く |
| 中クリック(マウスホイールの押し込み) |
新しいウィンドウでプロジェクトを開く |
| ホイールを回す |
一覧をスクロールする |
| Ctrl(macOS は Cmd)+クリック/Shift+クリック |
複数のプロジェクトを選択する |
| ドラッグ&ドロップ |
プロジェクトを並べ替える |
| 右クリック/行の「⋯」 |
編集、お気に入り、グループ、タブセットなどの操作を選ぶ |
中クリックでは元のウィンドウを残したまま、選んだプロジェクトを別ウィンドウで開きます。現在開いているプロジェクトも対象です。
キーボードでは、上下キーで移動し、Enter で同じウィンドウ、Ctrl+Enter(macOS は Cmd+Enter)で新しいウィンドウに開けます。
設定 projectSwitcherPalette.list.mode を native にすると、VS Code 標準のツリー表示を使えます。この表示では、右クリックメニューの「プロジェクトを新しいウィンドウで開く」を使用してください。中クリックには対応していません。
主な機能
- プロジェクトの切り替え:サイドバーの一覧、ステータスバー、ショートカットから選択。同じウィンドウでの切り替えと、新しいウィンドウでの表示に対応します。
- タブの復元と保存:通常の切り替えでは VS Code 標準のタブ復元を利用します。繰り返し使うタブの組み合わせは、名前付きタブセットとして保存できます。
- プロジェクトごとの配色:基本の12色、カラーピッカー、HEX入力から色を指定。アクティビティバーやサイドバーなどへの適用範囲を選び、保存前にプレビューできます。
- 一覧の整理:グループ、タグ、お気に入り、検索でプロジェクトを探せます。ドラッグ&ドロップ、名前順、最終使用順での並べ替えにも対応します。
- 登録と更新:現在開いているフォルダや最近開いた項目を登録できます。元の
.code-workspace の変更を、管理用ワークスペースへ取り込み直すこともできます。
- バックアップと移行:プロジェクトの登録情報、色履歴、タブセットを JSON でエクスポート・インポートできます。
- 日本語・英語表示:VS Code の表示言語に合わせた自動選択のほか、日本語または英語に固定できます。
タブの自動復元は、VS Code の設定と保存状態に依存します。ファイルの内容や未保存の編集内容を、この拡張機能が独自にバックアップするものではありません。
使い方
- アクティビティバーの PS アイコンをクリックし、「プロジェクトを追加」を押します。
- プロジェクト名、フォルダまたは
.code-workspace ファイル、色を選んで「保存」します。
- 一覧のプロジェクトをクリックすると、同じウィンドウでそのプロジェクトが開きます。
登録後は、拡張機能の保存領域に作成した「管理用ワークスペース」を使ってプロジェクトを開きます。登録するだけではウィンドウは切り替わりません。登録・切り替えのために、元の .code-workspace を書き換えることはありません。
現在のフォルダをそのまま登録する
- 登録したいフォルダを VS Code で開き、タブを並べておきます。
- サイドバーの「現在のフォルダをプロジェクトとして登録」(フォルダのアイコン)を押します。
- 名前と対象が入力済みの追加画面が開きます。「現在開いているタブをタブセットとして保存する」を選んだまま保存すると、タブが「登録時のタブ」というタブセットとして保存されます。
- 保存後の「今すぐ開く」を選ぶと、管理用ワークスペースで開き直し、保存したタブを復元します。
フォルダが1つだけのワークスペースか、保存済みの .code-workspace を開いているときに使えます。登録済みのフォルダ、何も開いていない状態、保存していない複数フォルダのワークスペースは対象外です。
最近開いたフォルダをまとめて登録する
「最近開いたフォルダを登録」を実行すると、VS Code の「最近開いた項目」のうち、未登録で実在するフォルダ/.code-workspace が一覧に出ます。選んだものを、既定の設定(色の適用範囲など)でまとめて登録します。色は、まだ使っていない基本色を順に割り当てます。この一覧は VS Code の内部コマンドから取得するため、取得できない版では案内を表示して終了します。
未登録のフォルダを開いたとき
登録していないフォルダを開くと、起動の数秒後に「登録しますか?」と提案します。「登録する」で追加画面が開きます。「今回は見送る」はそのフォルダについて記憶し、「今後は表示しない」は設定 projectSwitcherPalette.promptToRegister を無効にします。
管理用ワークスペースのファイル名
管理用の .code-workspace は、プロジェクトを追加したときの名前で作ります(例:業務プロジェクト A.code-workspace)。同じ名前があるときは (2)、(3) を付けます。ファイル名に使えない文字は _ に置き換えます。後からプロジェクト名を変えても、ファイル名は変わりません(VS Code はワークスペースのパスでタブの状態を記憶するため)。VS Code のウィンドウタイトルには、このファイル名が表示されます。
色の適用範囲
プロジェクトごとに、次の3つから選びます。
| 適用範囲 |
反映される場所 |
| アクティビティバーとサイドバー(既定) |
一番左のアイコンの列と、その右のサイドバー |
| アクティビティバーのみ |
一番左のアイコンの列だけ。サイドバーはテーマのまま |
| 適用しない |
何も反映しない。VS Code のテーマをそのまま使う |
「適用しない」でも、プロジェクトカラーは一覧でプロジェクトを見分けるために使います。ステータスバーとタイトルバーへの反映は、「適用しない」以外のときにプロジェクトごとにオン/オフできます(既定はオフ)。適用範囲を切り替えたときは、この拡張機能が書いた項目だけを取り除き、ほかの色のカスタマイズは残します。色はワークスペースの設定(workbench.colorCustomizations)として保存し、ユーザーのグローバル設定は変更しません。
グループとタグ
追加・編集画面の「グループ」「タグ」で設定します(タグはカンマ区切り、最大10個)。グループがあるプロジェクトが1つでもあると、一覧はグループの見出しでまとまり、グループなしは末尾に並びます。右クリックの「プロジェクトのグループを設定」からも変えられます。検索では、名前・グループ・タグのどれかに一致したプロジェクトが残ります。#経費 のように # を付けるとタグの完全一致で、「タグでプロジェクトを絞り込み」からも選べます。
元から再取込
.code-workspace で登録したプロジェクトは、元ファイルが取り込み後に変更されると、一覧に「元が更新済み」と表示します。右クリックの「元から再取込」で、元の内容を管理用ワークスペースへ取り込み直します。
- 元にある項目(フォルダ・タスク・起動設定・推奨拡張機能・各設定)は、元の内容で更新します。
- 管理用ワークスペースにだけある設定(VS Code で追加したもの)は残します。
- プロジェクトカラーは再適用します。
- 元から削除された設定は、管理用ワークスペース側には残ります。
ステータスバーとショートカット
現在のプロジェクト名をステータスバーに表示します(設定 projectSwitcherPalette.statusBar.enabled で非表示にできます)。クリックするか Ctrl+Alt+P(macOS は Cmd+Alt+P)でクイック切替が開きます。キーはキーボードショートカットの設定で変更できます。未登録のフォルダを開いているときは「プロジェクトとして登録」を表示します。
新しいウィンドウで開く
一覧の右クリックの「プロジェクトを新しいウィンドウで開く」を選ぶと、現在のウィンドウはそのままで、別のウィンドウでプロジェクトを開きます。
タブセット
プロジェクトの下に、保存したタブセットが並びます。適用すると、現在開いているテキスト・差分・ノートブックのタブを閉じてから、保存したタブを順に開きます。未保存の変更がある場合は VS Code の保存確認に従い、キャンセルすると適用を中止します。ファイルの内容は保存せず、場所と並びだけを保存します。
並べ替え
- 一覧のプロジェクトをドラッグして、移したい項目の上にドロップすると、その手前に入ります。一覧の空白部分にドロップすると末尾に入ります。
- Ctrl(macOS は Cmd)や Shift で複数選択してドラッグすると、まとめて移せます(選択した項目どうしの順は保ちます)。
- グループがあるときは、グループの見出しにドロップするとそのグループに入ります。別のグループの項目の手前にドロップすると、そのグループに移ります。空白部分にドロップすると、グループなしになります。
- 並べ方が「手動順」でないとき(名前順・最終使用順)は、ドロップすると手動順に切り替えるか確認します。キーボードでは、右クリックの「プロジェクトを上へ/下へ移動」を使えます。
言語
既定(auto)では、VS Code の表示言語に合わせて日本語または英語で表示します。VS Code の表示言語は、変更していなければシステムの言語です。切り替えるには、コマンドパレットまたは一覧の「…」メニューの「言語を変更」を使うか、設定 projectSwitcherPalette.language を変更します。
画面とメッセージの言語は、切り替え後すぐに反映されます。すでに開いている追加・編集画面には、開き直したときに反映されます。コマンドパレットやメニューに表示されるコマンド名は、拡張機能の宣言のため VS Code の表示言語に従います。変えたい場合は、コマンドパレットの「Configure Display Language」で VS Code の表示言語を変更してください。
削除
- 行の「⋯」または右クリックメニューの「プロジェクトを削除」から削除できます。選択して Delete キー(macOS は Cmd+Backspace)を押すこともできます。
- Ctrl(macOS は Cmd)や Shift で複数選択すると、まとめて削除できます。コマンドパレットから実行すると、複数選択の一覧から選べます。
- 削除するのは、この一覧の登録、管理用のワークスペースファイル、保存したタブセットだけです。元のフォルダ・ファイルは削除しません。 削除前に確認を表示します。
- 現在開いているプロジェクトを削除したときは、そのウィンドウが使わなくなってから、管理用ワークスペースファイルを片付けます。
バックアップと移行
「バックアップをエクスポート(JSON)」で、プロジェクトの登録情報・色履歴・タブセットを保存できます。取り込み時は、既存データに追加する方法と、一覧を置き換える方法を選べます。重複がある場合は、扱いを確認してから取り込みます。
バックアップには、元のプロジェクトのファイル本体は含まれません。別の端末へ移行する場合は、ファイルを別途移し、登録先のパスも確認してください。JSON にはプロジェクト名やローカルパスが含まれます。
コマンド
| コマンド |
内容 |
Project Switcher Palette: プロジェクトを追加 |
プロジェクトを登録 |
Project Switcher Palette: 現在のフォルダをプロジェクトとして登録 |
開いているフォルダとタブをそのまま登録 |
Project Switcher Palette: プロジェクトを切り替え / クイック切替 |
選んだプロジェクトを開く |
Project Switcher Palette: プロジェクトを新しいウィンドウで開く |
現在のウィンドウを変えずに別ウィンドウで開く |
Project Switcher Palette: 最近開いたフォルダを登録 |
「最近開いた項目」からまとめて登録 |
Project Switcher Palette: 元から再取込 |
元の .code-workspace の変更を取り込み直す |
Project Switcher Palette: プロジェクトのグループを設定 / タグでプロジェクトを絞り込み |
グループとタグの操作 |
Project Switcher Palette: プロジェクトを編集 / 色を変更 |
名前・場所・色・表示順・お気に入り・配色の反映先 |
Project Switcher Palette: プロジェクトを削除 / 選択中のプロジェクトを削除 |
一覧・管理用ファイル・タブセットだけを削除(元のフォルダ・ファイルは削除しない)。一覧で複数選択すると、まとめて削除 |
Project Switcher Palette: 言語を変更 |
画面の言語を、自動/日本語/English から選ぶ |
Project Switcher Palette: プロジェクトを検索 / 並べ替え / お気に入りの切替 |
一覧の絞り込みと並び順 |
Project Switcher Palette: プロジェクトを上へ/下へ移動 |
手動順の変更 |
Project Switcher Palette: 現在のタブをタブセットとして保存 / タブセット一覧 / 適用 / 名前を変更 / 上書き保存 / 削除 |
名前付きタブセット |
Project Switcher Palette: バックアップをエクスポート/インポート(JSON) |
バックアップと移行 |
設定
| 設定 |
既定値 |
内容 |
projectSwitcherPalette.list.mode |
interactive |
中クリック対応の一覧。native で標準ツリーに切替 |
projectSwitcherPalette.language |
auto |
画面とメッセージの言語(auto / ja / en)。auto は VS Code の表示言語に従います。メニューやコマンド名は常に VS Code の表示言語に従います |
projectSwitcherPalette.tabSets.sortBy |
updated |
タブセットの並び順(name / updated) |
projectSwitcherPalette.statusBar.enabled |
true |
現在のプロジェクトをステータスバーに表示する |
projectSwitcherPalette.promptToRegister |
true |
未登録のフォルダを開いたときに登録を提案する |
projectSwitcherPalette.defaults.colorMode |
full |
追加時の色の適用範囲の既定値(full / activityBarOnly / none) |
projectSwitcherPalette.defaults.statusBarColor |
false |
追加時のステータスバーへの反映の既定値 |
projectSwitcherPalette.defaults.titleBarColor |
false |
追加時のタイトルバーへの反映の既定値 |
projectSwitcherPalette.backup.maxFileSizeMB |
10 |
インポートできるバックアップの最大サイズ |
利用上の注意
- 通常の切替で復元されるタブは、VS Code 本体の仕様と設定に従います。ターミナルの状態、他の拡張機能の Webview、カスタムエディター、未保存内容の独自保存は対象外です。
- タブセットで保存・復元できるのは、テキスト・差分・ノートブックのタブです。それ以外のタブ(Webview・カスタムエディター・ターミナルなど)は保存時に件数と種類を表示し、閉じずにそのまま残します。タブのピン留めと、エディターの分割の向き・大きさは再現します(VS Code のエディターレイアウト用コマンドを使います)。プレビュー状態は再現しません。
.code-workspace の folders[].path の相対パスは、元ファイルの場所を基準に絶対パスへ変換します。settings / tasks / launch に埋め込まれた相対パスは変換せず、登録時に警告します。元ファイル内のコメントは管理用ファイルに引き継がれません。
- 管理用ワークスペースは拡張機能のストレージ(
globalStorage/workspaces)に作成します。登録した場所の変更後は、ウィンドウの再読み込みが必要です。
- 現在のフォルダの登録で保存できるタブは、タブセットと同じくテキスト・差分・ノートブックのタブです。ターミナルや Webview などのタブは保存されません。
- テーマごとの上書き(
"[テーマ名]": { ... })が workbench.colorCustomizations にある場合、そのテーマではテーマ側の指定が優先されます。
- Activity Bar の位置が上側(
workbench.activityBar.location: top)のときは activityBarTop.*、Modern UI 用には modernActivityBar.background も設定します。レイアウトによっては反映されない項目があります。
- プロジェクト一覧はウィンドウ間の排他ロックと revision 検査で保護します。競合時は再操作してください。タブセットやインポートを含む複数ファイルの操作は、複数ウィンドウから同時に行わないでください。クラウド同期は行いません。
プライバシー
本拡張機能は外部へのネットワーク通信やテレメトリ送信を行わず、アカウント登録も不要です。プロジェクトの登録情報とタブセットは、端末内の VS Code の保存領域に保存します。エクスポートしたバックアップは、利用者が指定した場所に保存します。
VS Code 本体や他の拡張機能の通信、OS のバックアップ、ストレージ同期は別途それぞれの設定に従います。詳しくは同梱の PRIVACY.md を参照してください。
ライセンス
Project Switcher Palette は MIT License で提供しています。ライセンス全文と著作権表示は、同梱の LICENSE を参照してください。
同梱ライブラリ
| 名称 |
バージョン |
用途 |
配布ページ |
ライセンス |
| jsonc-parser |
3.3.1 |
JSONC の解析・編集 |
npm |
MIT |
jsonc-parser の著作権表示とライセンス全文は licenses/jsonc-parser-LICENSE.txt に同梱しています。詳細は THIRD_PARTY_NOTICES.md を参照してください。