๐Ÿ”ง VS Code์—์„œ tmux๋ฅผ ์ž๋™์œผ๋กœ ํ†ตํ•ฉํ•˜๊ณ  ์ง€์† ์„ธ์…˜ ์œ ์ง€

๋ฐœํ–‰: (2026๋…„ 1์›” 19์ผ ์˜คํ›„ 07:13 GMT+9)
4 min read
์›๋ฌธ: Dev.to

Source: Dev.to

๐ŸŸข ๊ธฐ๋ณธ ์†”๋ฃจ์…˜ (๋ช…๋ฐฑํ•œ ๋ฐฉ๋ฒ•)

VS Code์—์„œ๋Š” ํ„ฐ๋ฏธ๋„ ํ”„๋กœํ•„์„ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

// "terminal.integrated.profiles.osx": {
//   "tmux-shell": {
//     "path": "tmux",
//     "args": ["new-session", "-A", "-s", "${workspaceFolderBasename}"]
//   }
// },
// "terminal.integrated.defaultProfile.osx": "tmux-shell"

์ด ๋ฐฉ๋ฒ•์˜ ์žฅ์ 

  • ํ•˜๋‚˜์˜ ์›Œํฌ์ŠคํŽ˜์ด์Šค โ†’ ํ•˜๋‚˜์˜ tmux ์„ธ์…˜ (-A ๋กœ ์ž๋™ ์ง€์†)
  • ๊ฐ„๋‹จํ•˜๊ณ  ๊น”๋”ํ•œ ์„ค์ •
  • ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ํ•„์š” ์—†์Œ

๋งŽ์€ ํ™˜๊ฒฝ์—์„œ ์ถฉ๋ถ„ํžˆ ์ข‹๊ณ  ์šฐ์•„ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ”ด ์‹ค์ œ ์ œํ•œ์ 

settings.json์€ ์กฐ๊ฑด ๋กœ์ง์„ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ${workspaceFolderBasename} ๊ฐ™์€ ๋ณ€์ˆ˜๋Š”:

  • โœ… ํ™•์žฅ๋จ
  • โŒ ๋ณ€ํ˜•ํ•  ์ˆ˜ ์—†์Œ
  • โŒ ์ •๊ทœ์‹ ์‚ฌ์šฉ ๋ถˆ๊ฐ€
  • โŒ ๊ทธ๋ฃนํ™”ํ•˜๊ฑฐ๋‚˜ ์ •๊ทœํ™”ํ•  ์ˆ˜ ์—†์Œ

์—ฌ๋Ÿฌ ํด๋”๋ฅผ ํ•˜๋‚˜์˜ ์„ธ์…˜์œผ๋กœ ๋ฌถ๊ธฐ

์—ฌ๋Ÿฌ ๊ด€๋ จ ํ”„๋กœ์ ํŠธ๊ฐ€ ์žˆ๊ณ , ์ปจํ…์ŠคํŠธ, ํŒฌ, ๋ ˆ์ด์•„์›ƒ์„ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ํ•˜๋‚˜์˜ ๊ณต์œ  tmux ์„ธ์…˜์—์„œ ๋ชจ๋‘ ์ž‘์—…ํ•˜๊ณ  ์‹ถ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ณด์„ธ์š”:

fe-dashboard, fe-admin, be-api, be-auth

๊ธฐ๋ณธ ์„ค์ •์—์„œ๋Š” ๊ฐ ํด๋”๊ฐ€ ์ž์ฒด tmux ์„ธ์…˜์„ ๊ฐ•์ œํ•˜๋ฏ€๋กœ, ๊ฐœ๋…์ ์œผ๋กœ ๋ชจ๋‘ ๊ฐ™์€ โ€œ์ž‘์—… ์ปจํ…์ŠคํŠธโ€์— ์†ํ•˜๋”๋ผ๋„ ๋ณ„๋„ ์„ธ์…˜์ด ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ทœ์น™์„ ํ‘œํ˜„ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค:

โ€œํด๋”๊ฐ€ fe- ๋˜๋Š” be- ๋กœ ์‹œ์ž‘ํ•˜๋ฉด work ์„ธ์…˜์„ ์‚ฌ์šฉํ•œ๋‹คโ€

์ด๋Š” VS Code ํ„ฐ๋ฏธ๋„ ์„ค์ •์œผ๋กœ๋Š” ํ‘œํ˜„ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

๐Ÿง  ๊ฒฌ๊ณ ํ•œ ์†”๋ฃจ์…˜: ๋กœ์ง์„ ์…ธ๋กœ ์ด๋™

VS Code๋Š” VSCODE_PID์™€ TERM_PROGRAM=vscode ๊ฐ™์€ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์ฃผ์ž…ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ํ„ฐ๋ฏธ๋„์ด VS Code์—์„œ ์‹คํ–‰๋œ ๊ฒƒ์ธ์ง€ ์‹ ๋ขฐ์„ฑ ์žˆ๊ฒŒ ๊ฐ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ดํ›„ ์…ธ์ด ํŒ๋‹จ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

fish ์˜ˆ์‹œ:

if set -q VSCODE_PID; or test "$TERM_PROGRAM" = "vscode"
    if not set -q TMUX
        set -l folder_name (basename (pwd))

        if string match -qr "^fe-.*" -- $folder_name
            set folder_name "work"
        else if string match -qr "^be-.*" -- $folder_name
            set folder_name "work"
        else
            set folder_name "projects"
        end

        # tmux new-session -A -s $folder_name &>/dev/null
    end
end

VS Code๋Š” ๋‹จ์ˆœํžˆ ์‹คํ–‰๊ธฐ ์—ญํ• ์„ ํ•  ๋ฟ์ด๋ฉฐ, ์˜์‚ฌ๊ฒฐ์ • ๋กœ์ง์€ ์…ธ์— ์œ„์น˜ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿš€ ์‹ค์šฉ์ ์ธ ์žฅ์ 

  • ํด๋” ์ด๋ฆ„์ด ์•„๋‹ˆ๋ผ ์˜๋ฏธ์— ๋”ฐ๋ผ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ทธ๋ฃนํ™”
  • VS Code๋ฅผ ๋‹ซ์•„๋„ tmux ์„ธ์…˜ ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅ
  • ์„ธ์…˜ ์ค‘๋ณต ๋ฐฉ์ง€
  • ํŒฌ๊ณผ ๋ ˆ์ด์•„์›ƒ ์ง€์†
  • ํ”Œ๋Ÿฌ๊ทธ์ธยทํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ ํ•„์š” ์—†์Œ โ€” tmux์™€ ํ‘œ์ค€ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋งŒ ์‚ฌ์šฉ

โš ๏ธ ์ฐธ๊ณ  ์‚ฌํ•ญ

  • ํ†ตํ•ฉ ํ„ฐ๋ฏธ๋„์—๋งŒ ์ ์šฉ๋˜๋ฉฐ ์™ธ๋ถ€ ํ„ฐ๋ฏธ๋„์—๋Š” ์ ์šฉ๋˜์ง€ ์•Š์Œ
  • VSCODE_PID๋Š” ๊ณต์‹ API๋Š” ์•„๋‹ˆ์ง€๋งŒ ์ˆ˜๋…„๊ฐ„ ์•ˆ์ •์ ์œผ๋กœ ์‚ฌ์šฉ๋˜์–ด ์™”์Œ
  • ๋™์ผํ•œ ํŒจํ„ด์„ bash๋‚˜ zsh์—์„œ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ

VS Code๋ฅผ ํŽธ์ง‘๊ธฐ๋กœ, tmux๋ฅผ ์„ธ์…˜ ๊ด€๋ฆฌ์ž๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ, ์ด ํ†ตํ•ฉ์€ ๋งˆ์ฐฐ์„ ์—†์• ๊ณ  ์ผ์ƒ์ ์ธ ์ž‘์—… ํ๋ฆ„์„ ํฌ๊ฒŒ ๊ฐœ์„ ํ•ฉ๋‹ˆ๋‹ค.

ํ”„๋กœ์ ํŠธ๋ณ„ ํ„ฐ๋ฏธ๋„ ์„ธ์…˜์„ ์–ด๋–ป๊ฒŒ ๊ด€๋ฆฌํ•˜๊ณ  ๊ณ„์‹ ๊ฐ€์š”?

Back to Blog

๊ด€๋ จ ๊ธ€

๋” ๋ณด๊ธฐ ยป

๊ฐ™์€ Ubuntu ์„ค์ • ๋ช…๋ น์„ ๋‹ค์‹œ ์‹คํ–‰ํ•˜์ง€ ๋งˆ์„ธ์š”: ์ด๋ฅผ ์œ„ํ•œ GUI๋ฅผ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค

Context DevSetup Pro๋Š” Ubuntu์— Node.js, Docker, Python ๋“ฑ ๊ฐœ๋ฐœ ๋„๊ตฌ๋ฅผ ์‹œ๊ฐ์  ์ธํ„ฐํŽ˜์ด์Šค๋กœ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ๋ฐ์Šคํฌํ†ฑ ์•ฑ์ž…๋‹ˆ๋‹ค.

๐Ÿš€ ํด๋ฆญ์„ ๋ฉˆ์ถ”๊ณ  ์ฝ”๋”ฉ์„ ์‹œ์ž‘ํ•˜์„ธ์š”: VS Code์™€ AI๋กœ n8n์„ ๋ถ€์ŠคํŠธํ•˜๋Š” ๋ฐฉ๋ฒ•

!ํ‘œ์ง€ ์ด๋ฏธ์ง€: ๐Ÿš€ ํด๋ฆญ์„ ๋ฉˆ์ถ”๊ณ  ์ฝ”๋”ฉ์„ ์‹œ์ž‘ํ•˜์„ธ์š”: VS Code์™€ AI๋กœ n8n์„ ๋ถ€์ŠคํŠธํ•˜๋Š” ๋ฐฉ๋ฒ• https://media2.dev.to/dynamic/image/width=1000,height=420,fi...

VS Code์—์„œ Git ์›Œํฌํ”Œ๋กœ ์ž๋™ํ™”: AI ์ปค๋ฐ‹ ๋ฐ ํ•œ ๋ฒˆ์˜ ๋‹จ์ถ•ํ‚ค๋กœ ๋™๊ธฐํ™”

VS Code์—์„œ Git ์›Œํฌํ”Œ๋กœ ์ž๋™ํ™”: AI ์ปค๋ฐ‹ ๋ฐ ๋™๊ธฐํ™” ํ•œ ๋ฒˆ์— ๋‹จ์ถ•ํ‚ค ์‚ฌ์šฉ ์ˆ˜๋™์œผ๋กœ ํŒŒ์ผ์„ ์Šคํ…Œ์ด์ง•ํ•˜๊ณ , AI๊ฐ€ ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ๋ฅผ ๊ธฐ๋‹ค๋ฆฐ ๋’ค ํ‘ธ์‹œํ•˜๋Š” ์ž‘์—…์„...