ノート: Codespacesは現在限定ベータで、変更されることがあります。 ベータ期間中、GitHubはCodespacesの可用性について保証しません。 ベータへの参加に関する詳しい情報については「Codespacesについて」を参照してください。
デフォルトの codespace 設定について
リポジトリのデフォルトのcodespace設定を作成し、そのリポジトリで作成されたすべての新しいcodespaceの環境を決定できます。 この設定には、フレームワーク、ツール、機能拡張、ポートフォワーディングが含まれます。
自分のアカウントで作成したcodespaceについて、codespace環境の様々な側面をパーソナライズすることもできます。 パーソナライズには、シェルの環境設定や追加のツールが含まれます。dotfilesのパーソナライゼーションは、リポジトリのデフォルトのcodespace設定よりも先に適用されます。詳しい情報については、「アカウントの Codespaces をパーソナライズする」を参照してください。
プロジェクトタイプ用にビルド済みコンテナ設定を使用してデフォルトの codespace 設定を作成するか、プロジェクトのニーズに固有のカスタム設定を作成できます。
Codespaces は、リポジトリのルートまたは .devcontainer フォルダの devcontainer.json という名前のファイルに含まれる設定を使用します。 devcontainer.json を使用して、Visual Studio Code エディタを含む codespace 環境全体のデフォルト設定をすることができますが、.vscode/settings.json という名前のファイルでエディタ固有の設定をすることもできます。
リポジトリの codespace 設定への変更は、すべての新しい codespace にのみ適用され、既存の codespace には影響しません。
ビルド済みのコンテナ設定を使用する
vscode-dev-containers リポジトリで利用可能な、Visual Studio Code 用のビルド済みコンテナ設定を使用できます。 ビルド済みコンテナの定義には、特定のプロジェクトタイプの共通設定が含まれており、適切なコンテナオプション、Visual Studio Code 設定、およびインストールする必要がある Visual Studio Code 拡張機能のすでに用意された設定を使用して素早く開始できます。
vscode-dev-containersリポジトリをクローンまたはダウンロードします。vscode-dev-containersリポジトリで、コンテナフォルダに移動し、プロジェクトのニーズに合わせてコンテナ設定を選択します。 例として、Node.js 12 & JavaScript コンテナ設定を使用します。javascript-node-12フォルダから、.devcontainerフォルダをプロジェクトのリポジトリのルートにコピーします。- 新しい設定をコミットして、GitHub のプロジェクトのリポジトリにプッシュします。
.devcontainer フォルダを含むブランチから作成された新しい codespace はそれぞれ、フォルダの内容に従って設定されます。 詳しい情報については、「codespace を作成する」を参照してください。
カスタム codespace 設定を作成する
ビルド済みの設定がニーズを満たしていない場合は、devcontainer.json ファイルをリポジトリのルートまたは .devcontainer フォルダに追加して、カスタム設定を作成できます。 このファイルでは、サポートされている設定キーを使用して、codespace の環境の要素を指定できます。たとえば、Visual Studio Code 拡張機能がインストールできます。
Visual Studio Codeのエディタ設定を行う際には、Workspace、Remote [Codespaces]、Userという3つのスコープが利用できます。 複数のスコープ内で定義された設定については、Workspaceの設定が優先され、次がRemote [Codespaces]、そしてUserとなります。
2 つの場所で Visual Studio Code のデフォルトのエディタ設定を定義できます。
.vscode/settings.jsonで定義されたエディタ設定は、Workspace スコープの設定として codespace に適用されます。devcontainer.jsonの設定キーで定義されたエディタ設定は、codespace の リモート [Codespaces] スコープ設定として適用されます。
サポートされている codespace 設定キー
devcontainer.json の Codespaces でサポートされている設定キーを使用できます。
一般設定
namesettingsextensionsforwardPortsdevPortpostCreateCommand
Docker、Dockerfile、またはイメージ設定
imagedockerFilecontextcontainerEnvremoteEnvcontainerUserremoteUserupdateRemoteUserUIDmountsworkspaceMountworkspaceFolderrunArgsoverrideCommandshutdownActiondockerComposeFile
devcontainer.json で使用可能な設定の詳細については、Visual Studio Code ドキュメントの「devcontainer.json の参照」をご覧ください。

