Skip to main content

アカウントGitHub Codespaces のカスタマイズ

GitHub Codespacesをカスタマイズするには、dotfilesのGitHubリポジトリを使用するか、設定同期を使用します。

個人用設定について Codespaces

開発環境を使用する場合、設定とツールを好みやワークフローに合わせてカスタマイズすることが重要です。 GitHub Codespaces では、コードスペースをカスタマイズする主な 2 つの方法が可能です。

  • 設定の同期 - デスクトップ アプリケーションと Visual Studio Code Web クライアントの間でVS Code設定を同期できます。
  • ドットファイル - dotfiles リポジトリを使用して、スクリプト、シェル設定、およびその他の構成を指定できます。

GitHub Codespaces パーソナル化は、作成するすべてのコード空間に適用されます。

プロジェクトのメンテナは、ユーザが作成したリポジトリのすべての codespace に適用されるデフォルト設定を定義することもできます。 詳しくは、「開発コンテナーの概要」をご覧ください。

設定の同期

設定同期を使用すると、 VS Codeのマシンとインスタンス間で、設定、キーボード ショートカット、スニペット、拡張機能、UI の状態などの構成を同期できます。 詳細については、ドキュメントのVS Codeを参照してください。

同期された設定は、クラウドにキャッシュされます。 codespace で Settings Sync をオンにすると、codespace で設定に行った更新はすべてクラウドにプッシュされ、他の場所からクラウドにプッシュした更新は codespace にプルされます。

たとえば、設定同期の一般的な用途は、ローカル作業に使用する VS Code デスクトップ アプリケーションから、ブラウザーで開いたコード空間に設定を同期することです。 これを行うには、次のことを行う必要があります。

  • デスクトップ アプリケーションの Settings Sync を有効にします。 詳細については、ドキュメントのVS Codeを参照してください。
  • GitHub Codespacesのユーザー設定で設定の同期を有効にします。 詳しくは、「Settings Sync のユーザー設定の管理」をご覧ください。
  • 必要に応じて、codespace からデスクトップ アプリケーションに設定の変更を同期する場合は、codespace で Settings Sync を有効にし、codespace を作成したリポジトリを信頼するリポジトリの一覧に追加します。 詳しくは、「codespace で Settings Sync をオンにする」をご覧ください。

または、ローカル VS Code アプリケーションの影響を受けずに、Web クライアントで開いているすべてのコード空間で同じ設定を使用することもできます。 これを行うには、次のことを行う必要があります。

  • codespace で必要な設定を構成し、Settings Sync を codespace で有効にして、設定をクラウドにプッシュします。 これを行うと、 GitHub Codespacesのユーザー設定で設定同期が自動的に有効になるため、設定はすべての新しいコードスペースに取り込まれます。 詳しくは、「codespace で Settings Sync をオンにする」をご覧ください。
  • デスクトップ アプリケーションでは、Settings Sync をオフのままにしておくか、設定を別のアカウントに同期してください。

codespace の Settings Sync について

codespace で Settings Sync が既定で有効になっているかどうかについて、およびキャッシュされた設定と codespace での設定の関係は、いくつかの要因によって異なります。 これらの要因には、コードスペースを開くエディター、 GitHubのユーザー設定、信頼できるリポジトリの一覧が含まれます。

VS Code デスクトップ アプリケーションで開いたコードスペースの場合、以前にアプリケーションで [設定の同期] を有効にしている場合、設定の同期はオンのままです。 Settings Sync がオンの場合、設定はクラウドとの間で同期されます。

VS Code Web クライアントで開かれたコードスペースの場合、設定の同期は既定で無効になっています。 つまり、コードスペース内の VS Code インスタンスは、既定のテーマと設定を使用します。

Web クライアントを使用し、コードスペースでキャッシュされた同期された設定を使用する場合は、 GitHubのユーザー設定で設定の同期を有効にすることができます。 詳しくは、「Settings Sync のユーザー設定の管理」をご覧ください。Web クライアントで codespace を開き、codespace で Settings Sync を有効にすると、ユーザー設定で Settings Sync が自動的に有効になります。

ユーザー設定で Settings Sync が有効な場合、Web クライアントで開いた codespace では、Settings Sync の動作は信頼するリポジトリの一覧によって異なります。

  • 信頼するリポジトリから codespace を作成した場合、codespace では既定で Settings Sync が有効になり、クラウドとの間で設定が同期されます。

  • 信頼するリポジトリの一覧に追加していないリポジトリから codespace を作成した場合、同期は一方向で一度のみ行われます。 codespace を作成すると、クラウドにキャッシュされた設定から codespace に設定がプルされますが、それ以降、codespace では Settings Sync がオフになります。 つまり、codespace で行った設定の更新はクラウドにプッシュ バックされず、他の場所からキャッシュされた設定に行った更新は、codespace を作成した後では codespace に反映されません。

    codespace で Settings Sync をオンにすると、そのリポジトリを信頼するリポジトリの一覧に追加するように求められます。 詳しくは、「codespace で Settings Sync をオンにする」をご覧ください。

GitHub Codespacesの信頼されたリポジトリの一覧は、GPG 検証機能と設定同期機能の間で共有されます。 両方の機能が有効になっている場合、GPG 検証用に選んだ信頼するリポジトリの一覧を追加していると、これらのリポジトリから作成された codespace では Settings Sync が有効になります。 Settings Sync 用に新しいリポジトリを信頼すると、同じリポジトリで GPG 検証が有効になります。 この機能は信頼するリポジトリの一覧を共有しますが、GPG 検証と Settings Sync は個別に有効または無効にすることができます。

メモ

以前にすべてのリポジトリで GPG 検証を有効にしていた場合は、選択した信頼するリポジトリの一覧を使うようにユーザー設定を変更することをお勧めします。 詳しくは、「GitHub Codespaces のセキュリティ」をご覧ください。

GPG 検証のユーザー設定の管理について詳しくは、「GitHub Codespaces の GPG 検証の管理」をご覧ください。

Settings Sync のユーザー設定の管理

ユーザー設定で [設定の同期] を有効にした場合、 VS Code Web クライアントで開かれたコードスペースはクラウドからキャッシュされた設定をプルし、信頼できるリポジトリから作成されたコード空間は、キャッシュされた設定と双方向で同期されます。

  1. GitHub の任意のページの右上隅にあるプロフィール写真をクリックし、[ Settings] をクリックします。

  2. サイドバーの [Code, planning, and automation](コード、計画、自動化) の下で、 ** Codespaces** をクリックします。

  3. Settings Sync を有効または無効にするには、[Settings Sync] にある [有効にする] を選択または選択解除します。

  4. GPG 検証と Settings Sync で信頼するリポジトリを変更するには、[信頼するリポジトリ] で [すべてのリポジトリ] を選ぶか、 [選択したリポジトリ] を選び、[リポジトリの選択] ドロップダウンを使って信頼するリポジトリを追加します。

    メモ

    選択した信頼するリポジトリの一覧を使うことをお勧めします。 詳しくは、「GitHub Codespaces のセキュリティ」をご覧ください。

更新は、新しい codespace で有効になります。 ただし、既存の codespace で Settings Sync をオンにすることはできます。 詳しくは、「codespace で Settings Sync をオンにする」をご覧ください。

codespace で Settings Sync をオンにする

メモ

信頼するリポジトリから作成された codespace でのみ Settings Sync をオンにする必要があります。 詳しくは、「GitHub Codespaces のセキュリティ」をご覧ください。

以下の手順では、Web クライアントで開いた codespace で Settings Sync をオンにする方法について説明します。 VS Code デスクトップ アプリケーションで設定同期を有効にする方法については、ドキュメントのVS Codeを参照してください。

  1. VS Codeで、アクティビティ バーの下部にある [] を選択し、[同期設定にサインイン] をクリックします。

  2. codespace を作成したリポジトリが信頼するリポジトリの一覧にない場合、ブラウザー ウィンドウが開き、Settings Sync 用に追加のアクセス許可の承認を求めるメッセージが表示されます。リポジトリを信頼する場合は、 [承認] をクリックしてから、ブラウザー ウィンドウを閉じます。 codespace が再度読み込まれ、最新の同期された設定が表示されます。

    メモ

    ユーザー設定で Settings Sync を無効にしていて、信頼するリポジトリをすべてのリポジトリに設定している場合、すべてのリポジトリの Settings Sync を有効にすることに関する警告が表示されます。 警告を確認し、すべてのリポジトリで Settings Sync を有効にするか、信頼するリポジトリの一覧を修正するかを選びます。

  3. 同期する設定を構成するには、 コマンド パレットを Shift+Command+P (Mac) で開きます / Ctrl+Shift+P (Windows/Linux) 「設定の同期」と入力し始めます。 [Settings Sync: Configure] をクリックする。

  4. 同期する設定を選び、 [OK] をクリックします。

    [同期の設定] オプションのスクリーンショット。 7 つのオプションがあり、それぞれにチェックボックスがあります。 右上隅に [OK] ボタンが表示されています。

codespace で Settings Sync をオフにする

Settings Sync をオフにすると、VS Code のインスタンスとの間で設定の同期を停止できます。

codespace で Settings Sync をオフにすると、新しい codespace では、前回クラウドにプッシュされたときにキャッシュされた設定が引き続き使用されます。 codespace に VS Code Web クライアントを使っていて、codespace がキャッシュされた設定ではなく既定の設定を使うようにする場合、Settings Sync を無効にすることができます。詳しくは、「Settings Sync のユーザー設定の管理」をご覧ください。

デスクトップ アプリケーションを含む VS Code のすべてのインスタンスで既定の VS Code 設定を使うように戻したい場合は、Settings Sync をオフにするとクラウドのキャッシュをクリアできます。

  1. Settings Sync が VS Code のインスタンスで現在オフになっていて、キャッシュされた設定をクリアする場合、最初にオンにする必要があります。 手順については、「アカウントGitHub Codespaces のカスタマイズ」を参照してください。

  2. アクティビティ バーの下部にある を選び、 [設定の同期がオン] をクリックします。

  3. ドロップダウンで、 [設定の同期: オフにする] をクリックします。

    ドロップダウン メニューのスクリーンショット。[設定の同期: オフにする] オプションが濃いオレンジ色の枠線で強調表示されています。

  4. キャッシュされた設定をクリアするには、ダイアログで [すべてのデバイスで同期を無効にして、クラウドからデータをクリアする] を選びます。

    [同期をオフにしますか?] ダイアログのスクリーンショット。 クラウドのデータを消去するオプションが選択されています。

  5. [オフにする] をクリックします。

Dotfiles

ドットファイルは、. で始まる Unix ライクなシステム上のファイルとフォルダーであり、システム上のアプリケーションとシェルの設定を制御します。 dotfiles は、 GitHubのリポジトリに格納および管理できます。 dotfiles リポジトリに何を含めるかについてのアドバイスとチュートリアルは、GitHub does dotfiles を参照してください。

ドットファイル リポジトリには、シェルのエイリアスと設定、インストールするツール、またはその他の codespace のパーソナル化を含めることができます。

個人のGitHub Codespaces設定でそのリポジトリを選択することで、所有している任意のリポジトリの dotfile を使用するようにGitHub Codespacesを構成できます。

新しいコードスペースを作成すると、 GitHub 選択した dotfiles リポジトリが codespace 環境に複製され、次のいずれかのファイルが検索されて環境が設定されます。

  • install.sh
  • install
  • bootstrap.sh
  • bootstrap
  • script/bootstrap
  • setup.sh
  • setup
  • script/setup

これらのファイルが見つからない場合は、. で始まる選択したドットファイル リポジトリ内のすべてのファイルまたはフォルダーが codespace の ~ または $HOME ディレクトリにシンボリック リンクされます。

選択したドットファイル リポジトリへの変更は、新しい codespace にのみそれぞれ適用され、既存の codespace には影響しません。

メモ

現在、Codespacesでは、VS Code リポジトリでのdotfilesのユーザー スコープ設定のカスタマイズはサポートされていません。 プロジェクトのリポジトリ内の特定のプロジェクトに対して、既定の "ワークスペース" と "リモート [Codespaces] " 設定を設定できます。 詳しくは、「開発コンテナーの概要」をご覧ください。

お使いの dotfiles リポジトリを有効にする Codespaces

選択した dotfiles リポジトリを使用して、 GitHub Codespaces 環境をカスタマイズできます。 ドットファイル リポジトリを選択したら、スクリプト、基本設定、構成を追加できます。 その後、個人用の GitHub Codespaces 設定ページから dotfiles を有効にする必要があります。

警告

ドットファイルには任意のスクリプトを実行する機能があり、それには予期しないコードや悪意のあるコードが含まれている可能性があります。 ドットファイル リポジトリをインストールする前に、スクリプトをチェックして、予期しないアクションが実行されないようにすることをお勧めします。

  1. GitHub の任意のページの右上隅にあるプロフィール写真をクリックし、[ Settings] をクリックします。

  2. サイドバーの [Code, planning, and automation](コード、計画、自動化) の下で、 ** Codespaces** をクリックします。

  3. [Dotfiles] で、dotfiles を自動的にインストール を選択すると、GitHub Codespaces により、作成するすべての新しい codespace に dotfiles が自動的にインストールされます。

    codespace 設定の [ドットファイル] セクションのスクリーンショット。[ドットファイルの自動インストール] オプションがオフです。

  4. ドロップダウンを使用して、ドットファイルのインストール元のリポジトリを選びます。

    [ドットファイルの自動インストール] オプションが選択され、リポジトリのドロップダウン リストで [monalisa/dotfiles] が選択されているスクリーンショット。

ドットファイル リポジトリにスクリプト、基本設定、構成ファイルをさらに追加したり、必要に応じて既存のファイルを編集したりできます。 設定の変更は、新しい codespace によってのみ取得されます。

codespace によるドットファイルからの構成設定の取得が失敗する場合は、「GitHub Codespaces のパーソナル化オプションのトラブルシューティング」をご覧ください。

その他の使用可能な設定

GitHub Codespacesの追加オプションを使用して、をカスタマイズすることもできます。

参考資料