codespace ã§äœæ¥ããŠããå Žåã¯ãä»»æã®ã·ã§ã«ã§æ°ããã¿ãŒããã« ãŠã£ã³ããŠãéããããæ°ããã¿ãŒããã« ãŠã£ã³ããŠã®æ¢å®ã®ã·ã§ã«ã倿Žããããæ°ããã·ã§ã«ãã€ã³ã¹ããŒã«ãããã§ããŸãã ããããã¡ã€ã«ã䜿çšããŠã·ã§ã«ãæ§æããããšãã§ããŸãã
æ¢å®ã®éçºè
ã³ã³ãã㌠ã€ã¡ãŒãžã䜿çšãã codespace ã«ã¯ãbash
ãzsh
ãããã³ fish
ã®ã·ã§ã«ãã€ã³ã¹ããŒã«ãããŠããŸãã VS Code Web ã¯ã©ã€ã¢ã³ãã§æ°ãã codespace ãéãããSSH çµç±ã§ codespace ã«æ¥ç¶ãããšãã¿ãŒããã«ãéããæ¢å®ã§ bash
ã»ãã·ã§ã³ãå®è¡ãããŠããŸãã VS Code ãã¹ã¯ããã ã¢ããªã±ãŒã·ã§ã³ã§ã¯ãæ¢å®ã®ã·ã§ã«ãããŒã«ã«èšå®ãšãªãã¬ãŒãã£ã³ã° ã·ã¹ãã ã«ãã£ãŠç°ãªããŸãã 詳ããæ
å ±ã«ã€ããŠã¯ãVS Code ã®ããã¥ã¡ã³ãã®ãã¿ãŒããã« ãããã¡ã€ã«ããåç
§ããŠãã ããã
VS Code ã®æ¢å®ã®ã·ã§ã«ããã®å€æŽ
æ¢å®ã®ã·ã§ã«ã䜿çšããªãå Žåã¯ãå¥ã®ã·ã§ã«ã§æ°ããã¿ãŒããã« ã»ãã·ã§ã³ãéãããšãã§ããŸãã
-
VS Code ã«çµ±åã¿ãŒããã«ã衚瀺ãããªãå Žåã¯ãCtrl+` ããŒãæŒããŸãã
-
æ°ããã¿ãŒããã« ãŠã£ã³ããŠãéã ã¢ã€ã³ã³ã®å³åŽã«ããããããããŠã³ ã¢ã€ã³ã³ãéžã³ãŸãã
-
ããããããŠã³ ã¡ãã¥ãŒã§ã䜿çšããã·ã§ã«ã®ååãã¯ãªãã¯ããŸãã
æ°ããã·ã§ã«ã®ã€ã³ã¹ããŒã«
codespace ã®åºæ¬ã€ã¡ãŒãžãŸãã¯éçºã³ã³ãããŒæ§æã«ãŸã ã€ã³ã¹ããŒã«ãããŠããªãã·ã§ã«ã䜿çšãããå Žåã¯ãæ°ããã·ã§ã«ãã€ã³ã¹ããŒã«ã§ããŸãã
æ¢å®ã®éçºè ã³ã³ãã㌠ã€ã¡ãŒãžã䜿çšããŠããå Žåã¯ãUbuntu Linux ã®ã€ã³ã¹ããŒã«æé ãã確èªãã ããã 1 ã€ã®ã»ãã·ã§ã³ã«å¯ŸããŠå¥ã®ã·ã§ã«ã䜿çšããã ãã®å Žåã¯ãã³ãã³ã ã©ã€ã³ã䜿ã£ãŠãäœæ¥äžã® codespace ã«ã·ã§ã«ãã€ã³ã¹ããŒã«ã§ããŸãã ãã ããcodespace ã§ã³ã³ãããŒããªãã«ããããšãã€ã³ã¹ããŒã«ããããã°ã©ã ã倱ãããå¯èœæ§ããããŸãã 詳ããã¯ããGitHub Codespaces ã®è©³çްããã芧ãã ããã
æ°ããã·ã§ã«ãã€ã³ã¹ããŒã«ããããã®ããå
ç¢ãªãªãã·ã§ã³ã¯ãã€ã³ã¹ããŒã« ã³ãã³ããããããã¡ã€ã« ãªããžããªã«å«ããããdevcontainer.json
ãã¡ã€ã«å
ã® postCreateCommand
ãªã©ã®ã©ã€ããµã€ã¯ã« ã³ãã³ããšããŠå«ããæ¹æ³ã§ãã ããããã¡ã€ã« ãªããžããªã䜿çšããŠããã¹ãŠã®ç¬èªã® codespace ã§äœ¿çšããã·ã§ã«ãšãç¹å®ã®ãªããžããªã®å
±åäœæè
ãã€ã³ã¹ããŒã«ããå¿
èŠãããã·ã§ã«çšã® devcontainer.json
ãã¡ã€ã«ãã€ã³ã¹ããŒã«ããå¿
èŠããããŸãã 詳现ã«ã€ããŠã¯ããã¢ã«ãŠã³ãã® GitHub Codespaces ãããŒãœãã©ã€ãºãããããã³ãéçºã³ã³ãããŒã®æŠèŠããåç
§ããŠãã ããã
æ°ããã·ã§ã«ã® VS Code ã¿ãŒããã« ãããã¡ã€ã«ã®è¿œå
VS Code ã§ã¯ãã»ãšãã©ã®æšæºã·ã§ã«ãèªåçã«æ€åºãããã¿ãŒããã« ãããã¡ã€ã«ãšããŠè¿œå ããããããã€ã³ã¹ããŒã«ããã·ã§ã«ã䜿çšããŠæ°ããã¿ãŒããã« ãŠã£ã³ããŠãç°¡åã«éãããšãã§ããŸãã
ã€ã³ã¹ããŒã«ããã·ã§ã«ãèªåçã«æ€åºãããªãå Žåã¯ãæ°ããã¿ãŒããã« ãããã¡ã€ã«ããŠãŒã¶ãŒèšå®ã«è¿œå ã§ããŸãã ãã®èšå®ã¯ãªãã¬ãŒãã£ã³ã° ã·ã¹ãã ã«ãã£ãŠç°ãªããããVS Code Web ã¯ã©ã€ã¢ã³ããšãã¹ã¯ããã ã¢ããªã±ãŒã·ã§ã³çšã®ããŒã«ã« ãªãã¬ãŒãã£ã³ã° ã·ã¹ãã ã® linux
ã䜿çšããå¿
èŠããããŸãã
-
Visual Studio Code Command Palette ãéãã«ã¯ãCommand+Shift+P ã㌠(Mac)ããŸã㯠Ctrl+Shift+P ã㌠(Windows) ãæŒããŸãã
-
ããŠãŒã¶ãŒèšå®ããšå ¥åãã [åºæ¬èšå®: ãŠãŒã¶ãŒèšå®ãéã (JSON)] ãã¯ãªãã¯ããŸãã
-
settings.json
ãã¡ã€ã«ã® JSON ãªããžã§ã¯ãå ã«ã次ã®ãããªæ°ããããããã£ã远å ããŸããOPERATING-SYSTEM
ãé¢é£ãããªãã¬ãŒãã£ã³ã° ã·ã¹ãã (linux
ãwindows
ãosx
ãªã©) ã«çœ®ãæããSHELL
ãã€ã³ã¹ããŒã«ããã·ã§ã«ã«çœ®ãæããŸããJSON "terminal.integrated.profiles.OPERATING-SYSTEM": { "SHELL": { "path": "SHELL" } }
"terminal.integrated.profiles.OPERATING-SYSTEM": { "SHELL": { "path": "SHELL" } }
次ã«äŸã瀺ããŸãã
"terminal.integrated.profiles.linux": { "csh": { "path": "csh" } }
-
ãã¡ã€ã«ãä¿åããŸãã
Settings Sync ã䜿ããšãVS Code Web ã¯ã©ã€ã¢ã³ããšãã¹ã¯ããã ã¢ããªã±ãŒã·ã§ã³ã§éãããã¹ãŠã® codespace ã§ãããã®èšå®ãå ±æã§ããŸãã Web ã¯ã©ã€ã¢ã³ãã§äœæ¥ããŠããå ŽåãSettings Sync ã¯æ¢å®ã§ç¡å¹ã«ãªã£ãŠããããã倿Žãèšå®ã«ããã·ã¥ãããå¥ã®å Žæã§è¡ã£ãæ°ãã倿Žããã«ãããããã«ã¯ãSettings Sync ãæå¹ã«ããå¿ èŠããããŸãã 詳ããã¯ããã¢ã«ãŠã³ãã® GitHub Codespaces ãããŒãœãã©ã€ãºããããã芧ãã ããã
VS Code ã®æ¢å®ã®ã·ã§ã«ã®èšå®
æ¢å®ã®ã¿ãŒããã« ãããã¡ã€ã«ãèšå®ããŠãVS Code ã§éããã¹ãŠã®æ°ããã¿ãŒããã« ãŠã£ã³ããŠã«äœ¿çšãããæ¢å®ã®ã·ã§ã«ãéžã¶ããšãã§ããŸãã æ¢å®ã®ã¿ãŒããã« ãããã¡ã€ã«ã¯ãªãã¬ãŒãã£ã³ã° ã·ã¹ãã ã«ãã£ãŠç°ãªããããVS Code Web ã¯ã©ã€ã¢ã³ãã䜿çšããŠããå Žå㯠Linuxããã¹ã¯ããã ã¢ããªã±ãŒã·ã§ã³ã䜿çšããŠããå Žåã¯ããŒã«ã« ãªãã¬ãŒãã£ã³ã° ã·ã¹ãã ã®æ¢å®ã®ãããã¡ã€ã«ãèšå®ã§ããŸãã
ã¡ã¢
æ¢å®ã®ãããã¡ã€ã«ã«é¢ä¿ãªããWeb ã¯ã©ã€ã¢ã³ãã§éããã codespace ã¯åžžã« bash
ã»ãã·ã§ã³ãæåã«å®è¡ãããç¶æ
ã§éããŸãã
-
Visual Studio Code Command Palette ãéãã«ã¯ãCommand+Shift+P ã㌠(Mac)ããŸã㯠Ctrl+Shift+P ã㌠(Windows) ãæŒããŸãã
-
ããŠãŒã¶ãŒèšå®ããšå ¥åãã [åºæ¬èšå®: ãŠãŒã¶ãŒèšå®ãéã (JSON)] ãã¯ãªãã¯ããŸãã
-
JSON ãªããžã§ã¯ãå ã§ãé¢é£ãããªãã¬ãŒãã£ã³ã° ã·ã¹ãã ã®æ¢å®ã®ã·ã§ã«ãèšå®ããã«ã¯ãè¡ã远å ããããæ¬¡ã®ããã«æ¢åã®è¡ãç·šéããŸãã
"terminal.integrated.defaultProfile.OPERATING-SYSTEM": "SHELL"
次ã«äŸã瀺ããŸãã
JSON { "terminal.integrated.defaultProfile.osx": "zsh", "terminal.integrated.defaultProfile.linux": "bash", "terminal.integrated.defaultProfile.windows": "PowerShell" }
{ "terminal.integrated.defaultProfile.osx": "zsh", "terminal.integrated.defaultProfile.linux": "bash", "terminal.integrated.defaultProfile.windows": "PowerShell" }
-
settings.json
ãã¡ã€ã«ãä¿åããŸãã
Settings Sync ã䜿ããšãVS Code Web ã¯ã©ã€ã¢ã³ããšãã¹ã¯ããã ã¢ããªã±ãŒã·ã§ã³ã§éãããã¹ãŠã® codespace ã§ãããã®èšå®ãå ±æã§ããŸãã Web ã¯ã©ã€ã¢ã³ãã§äœæ¥ããŠããå ŽåãSettings Sync ã¯æ¢å®ã§ç¡å¹ã«ãªã£ãŠããããã倿Žãèšå®ã«ããã·ã¥ãããå¥ã®å Žæã§è¡ã£ãæ°ãã倿Žããã«ãããããã«ã¯ãSettings Sync ãæå¹ã«ããå¿ èŠããããŸãã 詳ããã¯ããã¢ã«ãŠã³ãã® GitHub Codespaces ãããŒãœãã©ã€ãºããããã芧ãã ããã
SSH çµç±ã§ã®æ¢å®ã®ã·ã§ã«ã®èšå®
SSH çµç±ã§ã³ãã³ã ã©ã€ã³ãã codespace ã«æ¥ç¶ããå Žåãæ¢å®ã§ã¯ codespace å
ã®bash
ã»ãã·ã§ã³ã«æ¥ç¶ããŸãã
GitHub Codespaces ã®ããããã¡ã€ã« ãªããžããªãæå¹ã«ããŠããå Žåã¯ãããããã¡ã€ã«ã® install.sh
ãªã©ã®ã€ã³ã¹ããŒã« ã¹ã¯ãªããã«ã³ãã³ãã远å ããããšã§ãæ¥ç¶ããæ¢å®ã®ã·ã§ã«ã倿Žã§ããŸãã 詳现ã«ã€ããŠã¯ããGitHub CLI ã§ GitHub Codespaces ã䜿çšãããããã³ãã¢ã«ãŠã³ãã® GitHub Codespaces ãããŒãœãã©ã€ãºããããåç
§ããŠãã ããã ããšãã°ã次ã®ã³ãã³ãã§ã¯ãæ¢å®ã®ã·ã§ã«ã zsh
ã«å€æŽãããŸãã
sudo chsh "$(id -un)" --shell "/usr/bin/zsh"
sudo chsh "$(id -un)" --shell "/usr/bin/zsh"
æ¢å®ã§ codespace ã«ã€ã³ã¹ããŒã«ãããŠããªãæ¢å®ã®ã·ã§ã«ã䜿çšããå ŽåããŸãã¯ã·ã§ã«ã®ææ°ããŒãžã§ã³ãããããšã確èªããå Žåã¯ãæåã«ã·ã§ã«ãã€ã³ã¹ããŒã«ã§ããŸãã
sudo apt-get update -y sudo apt-get install -y csh sudo chsh "$(id -un)" --shell "/usr/bin/csh"
sudo apt-get update -y
sudo apt-get install -y csh
sudo chsh "$(id -un)" --shell "/usr/bin/csh"
ã¡ã¢
(ããšãã°ãgh codespace create
ã䜿çšããŠ) æ°ãã codespace ãäœæããå Žåã¯ãSSH çµç±ã§ codespace ã«æ¥ç¶ããåã«ãã¹ã¯ãªããã®å®è¡ãå®äºãããŸã§ååãªæéåŸ
æ©ããå¿
èŠããããŸãã ã¹ã¯ãªããã®å®è¡ãå®äºããŠããªãå Žåã¯ãæ¢å®ã® bash
ã»ãã·ã§ã³ã«æ¥ç¶ããŸãã
codespace ã«æ¥ç¶ããŠããå Žåãã»ãšãã©ã®ã·ã§ã«ã§ã¯ãã³ãã³ã readlink /proc/$$/exe
ã䜿çšããŠãæ£ããã·ã§ã«ãå®è¡ãããŠããããšã確èªã§ããŸãã
ã·ã§ã«ã®æ§æ
ã»ãšãã©ã®ã·ã§ã«ã§ã¯ã.bashrc
ãªã©ã®æ§æãã¡ã€ã«ã䜿çšããŠãä»»æã®èšå®ã§ã·ã§ã«ãæ§æã§ããŸãã ãããã®èšå®ã«ã¯ãå¥åãç°å¢å€æ°ãªã©ãå«ãŸããå ŽåããããŸãã
æ¢å®ã§ã¯ãcodespace ã«ã¯ãã¬ã€ã³ã¹ããŒã«ãããã·ã§ã«ã®å®çŸ©æžã¿ã®æ§æãå«ãŸããŠããŸãã ããšãã°ãcodespace ã®ããŒã ãã£ã¬ã¯ããªã«ã¯ .bashrc
ãš .zshrc
ã®ãã¡ã€ã«ãå«ãŸããŠããŸãã ãããã®ãã¡ã€ã«ã®å
容ã倿ŽããŠãããsource ~/.bashrc
ã®ãããªã³ãã³ãã䜿çšããŠã·ã§ã«æ§æãæŽæ°ã§ããŸãã ãã ããcodespace ã§ã³ã³ãããŒããªãã«ããããšããããã®ãã¡ã€ã«ã«å¯Ÿãã倿Žã¯å€±ãããŸãã 詳ããã¯ããGitHub Codespaces ã®è©³çްããã芧ãã ããã
äžè¬ã«ã¯ãä»»æã®èšå®ã§ã·ã§ã«ãæ§æããã«ã¯ãããããã¡ã€ã« ãªããžããªã䜿çšããå¿ èŠããããŸãã ããããã¡ã€ã«ã®èšå®ã¯ãäœæãããã¹ãŠã® codespace ã«é©çšãããã³ã³ãããŒããªãã«ããããŠãä¿æãããŸãã 詳ããã¯ããã¢ã«ãŠã³ãã® GitHub Codespaces ãããŒãœãã©ã€ãºããããã芧ãã ããã
fish
ã·ã§ã«ã®ãã©ãã«ã·ã¥ãŒãã£ã³ã°
fish
ã·ã§ã«ã«ã¯ãWeb ããŒã¹ã®æ§æã€ã³ã¿ãŒãã§ã€ã¹ãå«ãŸããŠããŸãã fish_config
ã³ãã³ãã䜿çšããŠããŒã«ã« Web ãµãŒããŒãèµ·åãããã®ã€ã³ã¿ãŒãã§ã€ã¹ãèµ·åããŠãããã¿ãŒããã« ããã³ããã®å€æŽãç°å¢å€æ°ã®è¡šç€ºãªã©ãè¡ãããšãã§ããŸãã
codespace ã§ fish
ã® Web ããŒã¹ã®ã€ã³ã¿ãŒãã§ã€ã¹ã䜿çšããããšãã§ããŸãã ãã ããVS Code ã®çµ±åã¿ãŒããã«ã®è²èšå®ã¯ãéžãã VS Code ã®ããŒãã«ãã£ãŠç°ãªããŸããfish_config
ã€ã³ã¿ãŒãã§ã€ã¹ã§æ°ããããŒããèšå®ããŠãããã®èšå®ããªãŒããŒã©ã€ãããããšã¯ã§ããŸããã
fish
ã§ããŒã«ã« ãµãŒããŒãèµ·åãããšãGitHub Codespaces ã転éãããããŒãã«æäŸããæ¢å®ã®ãªã³ã¯ã¯æ©èœããŸããã ããšãã°ããããã¢ãã ã¡ãã»ãŒãžã§ [ãã©ãŠã¶ãŒã§éã] ãã¯ãªãã¯ãããšããšã©ãŒ ããŒãžã衚瀺ãããŸãã
fish_config
ã® Web ããŒã¹ã®ã€ã³ã¿ãŒãã§ã€ã¹ã«ã¢ã¯ã»ã¹ããã«ã¯:
-
fish
ã»ãã·ã§ã³ãå®è¡ããŠããã¿ãŒããã«ã§ããfish_config
ããšå ¥åããŸãã -
ã¿ãŒããã«åºåã§ãCommand ããŒãæŒããªããã¯ãªãã¯ããããCtrl ããŒãæŒããªããã¯ãªãã¯ããŠ
web_config
HTML ãã¡ã€ã«ãžã®ãªã³ã¯ã éããŸãã$ fish_config Web config started at file:///tmp/web_config60rc9tr3.html Hit ENTER to stop.
-
web_config
ãã¡ã€ã«ã§ãCommand ããŒãæŒããªããã¯ãªãã¯ããããCtrl ããŒãæŒããªããã¯ãªãã¯ããŠè»¢éãããããŒããžã®ãªã³ã¯ã éããŸãã<body> <p><a href="http://localhost:8000/1b9411c2469e392b96df5e5b28da485b/">Start the Fish Web config</a></p> </body>