LoginSignup
1
1

GitHub codespaces の豆知識

Posted at

はじめに

GitHub Codespaces の公式ドキュメントを読んでいて、勉強になった内容をまとめておきます。

タイムアウト時間

codespace は、使用している間は実行され続けますが、一定時間非アクティブになるとタイムアウトします。 エディターとターミナル出力からのファイルの変更はアクティビティとしてカウントされるため、ターミナル出力が継続されていれば codespace はタイムアウトしません。 既定の非アクティブ タイムアウト期間は 30 分です。

/workspaces ディレクトリ

codespace を作成すると、リポジトリが codespace 内の /workspaces ディレクトリに複製されます。 これは、コンテナーにマウントされる永続的なディレクトリです。ファイルの編集、追加、削除など、このディレクトリ内で行った変更は、codespace を停止して開始するとき、および codespace 内のコンテナーをリビルドするときに保持されます。

Linux Universal Image

Linux Universal ImageGitHub Codespaces のデフォルトの Ubuntu ベースのイメージです。Python, Node.js, JavaScript, TypeScript, C++, Java, C#, F#, .NET Core, PHP, Go, Ruby, Conda 言語がインストール済みであるため、All in Onecodespace 環境をセットアップしたい場合に有効です。

image.png

Linux Universal Image を使った .devcontainer.json

codespace 環境の初回のセットアップに時間がかかりますが、色々な言語が入った環境をセットアップしたい場合は .devcontainerimagemcr.microsoft.com/devcontainers/universal:linux を指定することで、Linux Universal Image ベースのカスタムイメージを作成することが可能です。

.devcontainer.json
{
	"name": "Ubuntu Universal Linux",
	"image": "mcr.microsoft.com/devcontainers/universal:linux",
	"features": {},
	"customizations": {
		"vscode": {
			"extensions": [
				"GitHub.copilot-chat",
				"GitHub.copilot"
			]
		}
	}
}

おわりに

GitHub Codespaces の公式ドキュメントを読むと、想像以上に細かい機能や設定があることに気づきました。GitHub Codespaces の機能や設定のほんの一部しか知らない状態だと思うので、さらに勉強して快適で楽しい GitHub Codespaces ライフを目指したいと思います。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1