昨日、Github Codespacesの使い方記事を書いたのですが、本日同じくオープンしたgithub.dev(どうやら VS Code Webと呼ぶらしい)について混同しやすいので、記事にまとめてみました。
結論:実行環境込みか、エディタのみかの違い
最初に結論を書くと、Github CodespacesはVS Code Serverを搭載した仮想マシンがついてくる完全な開発環境です。
github.devは、Codespaceのうちエディタ部分だけを切り出した、ブラウザのみで動くVSCodeエディタです。そのためいくつかの制限があります。
そうそう、github.devは無料、Codespacesはインスタンスのスペックに応じて時間課金される点も違いですね。
制限:devではターミナルが使えない
github.devでは、マシンインスタンスがついてこないので、当然ながらターミナルは使えません。もちろんコンパイルなどマシンパワーが必要な処理もできません。開発用サーバも起動しません。
拡張も一部のみ対応
つまり、github.devはhotfixやちょっとした修正を以前あったブラウザ上のファイル単位のテキストエディタよりもより高度に行うことができるという位置付けになります。拡張もオンメモリ&JSで処理可能なもの(シンタックスハイライトやJSで)に限られるようです。
ここにはnot available in VS Code Web.
とあるので、github.devの正式名称は「VS Code Web」のようですね。
Pushしていないファイルはブラウザ内に保存?
こちらはざっと挙動を見ただけで自信がないのですが、ブラウザAでgithub.devをひらき、newfile.txt
を作成後に、コミットせずにブラウザBでgithub.devを同じユーザで開いても ファイルは存在していませんでした マシンインスタンスがついてこないので、当然ながらストレージも用意されていないわけですね。
しかし、ブラウザAをリロードしても当該ファイルは残っていました。おそらくServiceWorkerによってオフラインキャッシュしているようですね。
それ以上はローカルかCodespacesに移動!
それ以上のことが必要になったら、ローカルのVS CodeにCloneするか、Codespacesにうつって続きの作業をしましょう。
いずれにしても、リポジトリ全体をブラウザ上で編集してPushできるので、Github Actionsと組み合わせることで、完全無料かつブラウザのみでHugoやJekyllみたいな静的サイトジェネレータでサイトを構築するくらいまではできるということですね!
Codespacesの使い方に関してはこちらの記事を参考にしてみてください。
本記事はQiitaエンジニアフェスタ2021参加記事です。