Skip to main content

アカウントの GitHub Codespaces をパーソナライズする

GitHub の dotfiles リポジトリを使用するか、Settings Sync を使用して、GitHub Codespaces をパーソナライズできます。

Codespaces のパーソナライズについて

開発環境を使用する場合、設定とツールを好みやワークフローに合わせてカスタマイズすることが重要です。 GitHub Codespaces では、Codespaces をパーソナライズするときに使用できる方法は主に 2 つあります。

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

GitHub Codespaces で行ったパーソナル化は、作成するすべての codespace に適用されます。

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

Settings Sync

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

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

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

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

あるいは、Web クライアントで開くすべての codespace で同じ設定を使い、ローカルの VS Code アプリケーションには影響を与えないようにすることもできます。 これを行うには、次のことを行う必要があります。

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

codespace の Settings Sync について

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

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

VS Code Web クライアントで開いた codespace では、Settings Sync は既定で無効になっています。 つまり、codespace の VS Code インスタンスでは、既定のテーマと設定が使われます。

Web クライアントを使っていて、codespace でキャッシュされ同期された設定を使う場合は、GitHub のユーザー設定で Settings Sync を有効にすることができます。 詳細については、「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 検証と Settings Sync 機能の間で共有されます。 両方の機能が有効になっている場合、GPG 検証用に選んだ信頼するリポジトリの一覧を追加していると、これらのリポジトリから作成された codespace では Settings Sync が有効になります。 Settings Sync 用に新しいリポジトリを信頼すると、同じリポジトリで GPG 検証が有効になります。 この機能は信頼するリポジトリの一覧を共有しますが、GPG 検証と Settings Sync は個別に有効または無効にすることができます。

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

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

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

ユーザー設定で Settings Sync を有効にすると、VS Code Web クライアントで開いた codespace はクラウドからキャッシュされた設定をプルし、信頼するリポジトリから作成した codespace はキャッシュされた設定と双方向で同期します。

  1. GitHub で、任意のページの右上隅にある自分のプロフィール写真をクリックしてから、 [設定] をクリックします。

  2. サイドバーの [コード、プラン、自動化] セクションで、[ 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 デスクトップ アプリケーションで Settings Sync をオンにする方法については、VS Code ドキュメントの「Settings Sync」を参照してください。

  1. アクティビティ バーの下部にある VS Code で、 を選んでから、 [Settings Sync にサインインする] をクリックします。

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

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

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

  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 ライクなシステム上のファイルとフォルダーであり、システム上のアプリケーションとシェルの設定を制御します。 ドットファイルは、GitHub のリポジトリに保存して管理できます。 ドットファイル リポジトリに含める内容に関するアドバイスとチュートリアルについては、GitHub does dotfiles を参照してください。

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

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

新しい codespace を作成すると、GitHub は選択したドットファイルのリポジトリを codespace 環境にクローンし、次のいずれかのファイルを探して環境を設定します。

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

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

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

注: 現在、Codespaces は、dotfiles リポジトリを使用した VS Code に対するユーザー スコープの設定のパーソナライズをサポートしていません。 プロジェクトのリポジトリ内の特定のプロジェクトに対して、既定の "ワークスペース" と "リモート [Codespaces] " 設定を設定できます。 詳しくは、「開発コンテナーの概要」を参照してください。

Codespaces のドットファイル リポジトリを有効にする

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

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

  1. GitHub で、任意のページの右上隅にある自分のプロフィール写真をクリックしてから、 [設定] をクリックします。

  2. サイドバーの [コード、プラン、自動化] セクションで、[ Codespaces] をクリックします。

  3. "ドットファイル" の下で [ドットファイルを自動的にインストールする] を選ぶと、GitHub Codespaces によって、作成したすべての新しい codespace にドットファイルが自動的にインストールされます。

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

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

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

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

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

その他の使用可能な設定

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

参考資料