| この記事の要点 |
|
「複数ワークスペース」とは
ここで言うワークスペースはエディタ/IDE で複数のプロジェクトを並行して開くこと、または関連ファイル群をまとめた作業セットを指します。Mac 上で複数のプロジェクトを行ったり来たりするとき、起動・切替・整理の方法を整理します。
VS Code: 複数ウィンドウとワークスペース
新規ウィンドウで開く
# ターミナルから(code コマンドが有効化済の前提)
code -n # 空ウィンドウ
code -n ~/projects/api # フォルダを新ウィンドウで
code -n ~/projects/api ~/projects/web # 2 つのフォルダを別々のウィンドウで
# code コマンドが無い場合は VS Code 上で
# Cmd+Shift+P → "Shell Command: Install 'code' command in PATH"
VS Code 内では Cmd+Shift+N で新ウィンドウ、Cmd+` でウィンドウ切替。
マルチルート ワークスペース(.code-workspace)
関連する複数フォルダ(フロントエンド + バックエンド + インフラ)を1 つのウィンドウでまとめて開きたい場合:
// myproject.code-workspace
{
"folders": [
{ "name": "API", "path": "../api" },
{ "name": "Frontend", "path": "../frontend" },
{ "name": "Infra", "path": "../infra" }
],
"settings": {
"editor.tabSize": 2,
"files.exclude": {
"**/node_modules": true
}
},
"extensions": {
"recommendations": [
"dbaeumer.vscode-eslint",
"esbenp.prettier-vscode"
]
}
}# ファイルを開く
code myproject.code-workspace
# メニューから: File → Open Workspace from File...
# 保存: File → Save Workspace As...
IntelliJ IDEA / PyCharm / WebStorm
JetBrains 系 IDE は1 ウィンドウ = 1 プロジェクトが基本。複数プロジェクトを並行する方法:
- File → Open で別プロジェクトを選択
- ダイアログで 「New Window」を選ぶ(「This Window」は現在のを置き換え)
- 切替は Window メニュー または
Cmd+`
「Project Structure(モジュール追加)」で 1 ウィンドウに複数プロジェクトを取り込むことも可能ですが、依存関係が混ざるので別ウィンドウ推奨。
# ターミナルから(Toolbox で生成される CLI ラッパ)
idea ~/projects/api
idea ~/projects/web # 別ウィンドウで開くか聞かれる
# Toolbox App の Settings → Tools → "Generate shell scripts" を ON
Mac の Spaces(仮想デスクトップ)で整理
macOS のMission Control / Spaces でデスクトップを複数作り、プロジェクト毎にウィンドウを配置すると視認性が上がります:
- Mission Control(
Ctrl+↑または 3 本指上スワイプ)でデスクトップ追加 - ウィンドウを右クリック → 「すべてのデスクトップ」 / 「このデスクトップ」を指定
- Ctrl+→ / Ctrl+← でデスクトップ切替
- Dock のアイコンを右クリック → オプション → 割り当て先 → このデスクトップ で固定可能
Stack Workspaces / Workspaces App
「プロジェクト A のアプリ群(VS Code + ターミナル + Chrome + Slack)」をまとめて起動するアプリ:
| アプリ | 特徴 |
|---|---|
| Stack Workspaces | シンプル、無料版あり |
| Workspaces (Apptorium) | 多機能、有料 |
| Bunch (bunchapp.co) | テキストファイルでスクリプト化、無料 |
| Raycast の Workspaces 拡張 | Raycast ユーザに最適 |
# Bunch の例: ~/.bunches/work.bunch
# 1 行 1 アプリ。コメントは #
Slack
Google Chrome
Visual Studio Code
Terminal
1Password 7
# Raycast / Spotlight から bunch 名を実行で一括起動
ターミナル: tmux と iTerm2 ウィンドウアレンジメント
# tmux: 1 ターミナル内で複数セッション
tmux new -s api # api セッション開始
# ペイン分割: Ctrl+b %, Ctrl+b "
# セッション一覧: tmux ls
# 復帰: tmux attach -t api
# iTerm2 のウィンドウアレンジメント
# Window → Save Window Arrangement... で保存
# Window → Restore Window Arrangement で復元
# Cmd+Shift+S で保存
プロジェクト毎の環境変数: direnv
プロジェクト毎に Python venv や環境変数を自動切替:
brew install direnv
echo 'eval "$(direnv hook zsh)"' >> ~/.zshrc
# プロジェクト直下に .envrc
cd ~/projects/api
cat > .envrc <<EOF
export DATABASE_URL=postgres://localhost/api_dev
export AWS_PROFILE=dev
source .venv/bin/activate
EOF
direnv allow .
# 以後、cd するだけで自動有効化、cd で抜けたら無効化
ショートカット早見表
| 動作 | キー |
|---|---|
| Mission Control | Ctrl+↑ |
| デスクトップ切替 | Ctrl+← / Ctrl+→ |
| アプリ切替 | Cmd+Tab |
| 同アプリのウィンドウ切替 | Cmd+` |
| VS Code 新ウィンドウ | Cmd+Shift+N |
| VS Code コマンドパレット | Cmd+Shift+P |
| Finder 新ウィンドウ | Cmd+N |
| ターミナル新タブ | Cmd+T |
FAQ
Q: VS Code でフォルダを開くと既存ウィンドウが置き換わる
A: 設定 window.openFoldersInNewWindow を on にする。または code -n で明示。
Q: IntelliJ で複数プロジェクトのコードジャンプを共有したい
A: 1 つのプロジェクトに Module として追加(File → Project Structure → Modules)。ただし依存関係や検索範囲が混ざるので注意。
Q: 起動時に毎回同じワークスペースを開きたい
A: VS Code は window.restoreWindows: "all"、JetBrains は Settings → Appearance & Behavior → System Settings → 「Reopen last project on startup」。
子ページはありません
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 3Dグラフィックスのソフト一覧|Blender・Metasequoiaと用途別の選び方
- 7 Spring Frameworkのアノテーション一覧
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- Visual Studio「デザイナーを表示できません」エラーの原因と対処 2026-10-28 12:06:00
- SSH 認証に失敗しました。再試行してください の対処 2026-10-28 12:06:00
- SSH2 秘密鍵の読み込みに失敗しました の原因と対処 2026-10-28 12:06:00
- TeraTerm のよくあるエラーと対処法完全ガイド — Connection refused / 2026-10-28 12:06:00
- Visual Studio エラー一覧|コンパイルエラー・警告の確認方法と対処 2026-10-28 11:39:57
- Whitelabel Error Page の原因と消し方|Spring Boot のエラーページ 2026-10-28 11:39:57
- Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法 2026-10-28 11:39:57
- SQL WHERE 句完全ガイド 2026-10-28 11:39:57
- SQL JOIN 完全ガイド (INNER/LEFT/RIGHT/FULL OUTER) 2026-10-28 11:39:57
- tomcat の起動 / 停止ログと catalina.log・catalina.out の違い 2026-10-28 10:24:23
- Tomcat の起動確認方法 5 つ|localhost:8080・ポート・プロセス・ログ 2026-10-28 10:24:23
- Oracle 19c COMMITの使い方: 暗黙コミット・自動確定・応答不明時の確認 2026-10-28 09:59:09
- Oracle 19c DELETE文|削除対象の確認・COMMIT前の判断・ROLLBACKの条件 2026-10-28 09:59:09
- Oracle 19c INSERT文|INSERT ALL・SELECT・RETURNINGとMERGEの使い分け 2026-10-28 09:59:09
- Oracle 19cのトランザクション制御|COMMIT・ROLLBACK・分離レベルと接続設定 2026-10-28 09:59:09