์ฝ์ง ๋ช ๋ฒ ๋์ ๋๋์ด ๋น์ฃผ์ผ ์คํ๋์ค ์ฝ๋ ๋ด์์ external ๋ฐฉ์์ด ์๋ integrated ๋ฐฉ์์ ๋ค์ค ํฐ๋ฏธ๋ ์ฌ์ฉ ์ธํ ์ ์๋ฃํ๋ค. ๋๋ด๊ณ ๋๋ ๋ณ ์ด๋ ค์ด ๊ฒ ์๋์๋๋ฐ, argument ์ค์ ์์ ๊ธธ์ ์์๋ ๊ฒ ๊ฐ๋ค.
์ฐ์ ๋น์ฃผ์ผ ์คํ๋์ค ์ฝ๋ ์์ฒด์์ ์ ๊ณตํ๋ ๋ฐฉ๋ฒ์ผ๋ก๋ ๋ค์ค ํฐ๋ฏธ๋ ์ฌ์ฉ์ด ์ด๋ ต๋ค๊ณ ๋ค ํด์ Shell Launcher๋ผ๋ ํ๋ฌ๊ทธ์ธ์ ๋ฐ์์ ํ๋ค.
1. VSCode์์ Shell Launcher ๋ค์ด๋ก๋
VSCode๋ฅผ ์ด๊ณ ๋ง์ผํ๋ ์ด์ค -> Shell Launcher๋ฅผ ๊ฒ์ํด ๊ฐ์ฅ ๋จผ์ ๋์ค๋ ํ๋ฌ๊ทธ์ธ์ ๋ฐ์์ค๋ค.
2. Shell Launcher๋ฅผ ์ด๊ธฐ ์ํ keyboard shortcut ์ง์ ํ๊ธฐ
ํ๋ฌ๊ทธ์ธ์ด ๋ฐ์์ง๋ฉด, Details์ ์์ ๊ฐ์ด ํค๋ณด๋ ์์ปท ์ค์ ์ ์ํ ์๋ด๋ฅผ ๋จผ์ ํด์ค๋ค. Ctrl+Shift+t๋ฅผ ๊ธฐ๋ณธ์ผ๋ก ๋ง์ด๋ค ํ๋๋ฐ, ๊ฐ์ ํธํ ๊ฑธ๋ก ์ค์ ํด๋ ๋๋ค. ๋๋ Shift+Alt+D๋ก ํด๋์๋ค.
Preferences -> Keyboard Shortcuts ์ผ๋ก ์ ๊ทผํ๋ฉด ๋ค์ํ๊ฒ ๋ฐ๊ฟ ์ ์๋ ํค ๋ฐ์ธ๋ฉ ๋ชฉ๋ก์ด ์ฃผ์ฑ ๋์ค๋๋ฐ, ์ฐ๋ฆฌ๋ shell launcher๋ฅผ ๊ฒ์ํด์ ๋น ๋ฅด๊ฒ ๋ฐ๊ฟ๋ณด๋๋ก ํ์.
์๋ง default ๊ฐ์ ์ ํ๋ฌ๊ทธ์ธ์ ์์ธ ์ค๋ช ๊ณผ ๋์ผํ๊ฒ Ctrl+Shift+t๋ก ๋์ด ์์ ๊ฒ์ด๋ค.
์ ๋ ฅํ๊ณ ์ถ์ ๋จ์ถํค๋ฅผ ์์ฑํ ๋ค์,Preferences -> Setting ์ผ๋ก ์ด๋, 'terminal'์ ๋ค์ด๊ฐ๋ค.
์ญ์ญ ๋ด๋ฆฌ๋ค๋ณด๋ฉด edit in settings.json ์ด๋ผ๋ ๋ฌธ๊ตฌ๊ฐ ๋ณด์ด๋๋ฐ, ์๋ฌด๊ฑฐ๋ ํด๋ฆญ์ ํ๊ณ , setting.json ํ์ผ์ ์ฐ๋ค.
3. setting.json์์ terminal ๊ด๋ จ ํ๊ฒฝ ์ค์ ๋ฃ์ด์ฃผ๊ธฐ
์๋๋ก ์ญ์ญ ๋ด๋ ค์ค๋ฉด terminal.integrated.shell.windows์ด ๋ณด์ผํ ๋ฐ, ์ฌ๊ธฐ๋ ๊ธฐ๋ณธ์ผ๋ก ๋์ค๋ shell์ ๊ฒฝ๋ก๋ฅผ ์ง์ ํด์ฃผ๋ ๊ณณ์ด๊ณ , ์ฐ๋ฆฌ๋ ์ด์ shell launcher์ ๋ฃ๊ณ ์ ํ๋ ๊ฐ์ข ํฐ๋ฏธ๋ ์ฃผ์๋ฅผ ๋ฃ์ด์ค ๊ฒ์ด๋ค.
๋๋ CMD, git-bash, node prompt๋ฅผ ๊ฐ์ฅ ์์ฃผ ์จ์ ์ด๋ ๊ฒ ์ธ ๊ฐ๋ฅผ ๋ฃ์ด์คฌ๋ค. ์ด๊ฒ ๋์ค์๋ ์๋์ฒ๋ผ ๋ชฉ๋ก์ผ๋ก ๋ฌ๋ค.
// shell Launcher
"shellLauncher.shells.windows": [
{
"shell" : "C:\\WINDOWS\\sysnative\\cmd.exe",
"label" : "cmd"
},
{
"shell" : "C:\\Users\\user\\Downloads\\Git Software\\Git\\bin\\bash.exe",
"label": "git-bash"
},
{
"shell" : "C:\\Windows\\System32\\cmd.exe",
"args" : [ "/k", "C:\\Users\\user\\Downloads\\Node.js\\nodevars.bat" ],
"label" : "Node Prompt"
}
// powershell
],
๊ฐ์์ ๊ฒฝ๋ก๊ฐ ๋ค ๋ค๋ฅด๊ฒ ์ง์ ๋์ด ์์ ๊ฐ๋ฅ์ฑ์ด ๋์์ ์ ์ฝ๋๋ฅผ ๊ทธ๋๋ก ๋ณต์ฌํ๋ฉด ์๋ง ์คํ์ด ์ ๋ ๊ฒ์ด๋ค. ๋ ์ด๋ค ๊ฒฝ๋ก๋ฅผ ์ฌ์ฉํ๋๋์ ๋ฐ๋ผ integrated terminal์ด ์๋๋ผ external๋ก ์ด๋ฆฌ๊ธฐ๋ ํ๋ค. ๊ทธ๋์ git bash ๊ฐ์ ๊ฒฝ์ฐ๋ Git->bin->bash.exe๋ก ํด์คฌ๋ค. (์ฐธ๊ณ : Git bash shell was opened in a standalone window instead of integrated on Windows)
๋ฌผ๋ก ์ฐ๋ฆฌ๋ array ๋ฐฉ์์ด ์๋๋ผ key, value ํํ๋ก๋ง ์ ๊ณต๋๋ terminal.integrated.shell.windows๊ฐ ์๋๋ผ ๋ฐ์ฒ๋ฅผ ์ธ ๊ฒ์ด๋ฏ๋ก ์ด ์ฃผ์๋ฅผ ์ฝ๋๋ธ๋ญ์์์ฒ๋ผ "shell"์ ๊ฐ์ผ๋ก ๋ฃ์ด์ค๋ค.
Node.js prompt ์ ๊ฒฝ์ฐ๊ฐ ์กฐ๊ธ ๋ฌ๋๋๋ฐ ์ ๋์์ /k "C:\Users\..."๋ก ์์ํ๋ argument ๋๋ฌธ์ args ์ต์ ์ "shell"๊ณผ "label"์ฒ๋ผ ๋ฃ์ด์ฃผ์ด์ผ ํ๋ค.
์ด์ ์ํ๋ ํฐ๋ฏธ๋์ ๋ค ๋ฃ๊ณ , ๋น์ฃผ์ผ ์คํ๋์ค ์ฝ๋๋ฅผ ๋ค์ ๋ฆฌ์คํํธํด์ฃผ๋ฉด ์๊น ์ค์ ํ ํค๋ณด๋ ์์ปท์ผ๋ก ์ ๊ทผํด ๋ค์ค ํฐ๋ฏธ๋์ ์์ ๋กญ๊ฒ ์ฌ์ฉํ ์ ์๋ค.
VSCode์์ Node Prompt๋ฅผ ๊ธฐ๋ณธ Terminal๋ก ์ค์ ํด์ฃผ๊ธฐ
(2021-01-10 ์ ๋ฐ์ดํธ)
settings.json์ผ๋ก ๋ค์ด๊ฐ์,
"terminal.integrated.shellArgs.windows": ["/k C:\\Users\\user\\Downloads\\Node.js\\nodevars.bat"],
"terminal.integrated.shell.windows": "C:\\WINDOWS\\System32\\cmd.exe",
์ฒซ ๋ฒ์งธ ์ค ์ฝ๋์ฒ๋ผ argument๋ฅผ ๋ฑ๋กํด์ฃผ๊ณ , ๋ ๋ฒ์งธ ์ค์ฒ๋ผ ๊ธฐ๋ณธ shell์ ๋ฑ๋กํด์ฃผ๋ฉด ๋!