Visual Studio vs Visual Studio Code ?

.NET 6๊ฐ€ Visual Studio 2022๋ถ€ํ„ฐ ์ง€์›๋œ๋‹ค๋Š” ์†Œ์‹์„ ์ ‘ํ•˜๊ณ  ์•ˆํƒ€๊นŒ์›Œ์„œ ์งˆ๋ฌธ ์˜ฌ๋ ค๋ด…๋‹ˆ๋‹คโ€ฆใ…Žใ…Ž

์ €๋Š” ํƒœ์ƒ์ด ์œˆ๋„์šฐ ๊ฐœ๋ฐœ์ž๊ณ , ์ปค๋งจ๋“œ๋ผ์ธ์ด ์ต์ˆ™ํ•˜์ง€ ์•Š์€ GUI์— ์ตœ์ ํ™”๋œ ๊ฒŒ์œผ๋ฅธ ๊ฐœ๋ฐœ์ž์ž…๋‹ˆ๋‹ค.
๋”ฐ๋ผ์„œ Winform, WPF ๋“ฑ Desktop UI์— ์˜์กดํ•˜์ง€ ์•Š๋Š” Console APP, Azure Function ๋“ฑ Desktop UI๊ฐ€ ํ•„์š”์—†๋Š” ํ™˜๊ฒฝ์„ ๊ฐœ๋ฐœํ•  ๋•Œ๋„ Visual Studio๋ฅผ ์ด์šฉํ•˜๊ณ  ์žˆ๋Š”๋ฐ์š”.

์ตœ๊ทผ MSDN ๋ฌธ์„œ๋ฅผ ๋ณด๋ฉด Visual Studio Code์— ๊ด€ํ•ด ๊ฐ€์ด๋“œ๋ผ์ธ์ด ์ž์„ธํ•œ ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฐ ๊ฑธ ๋ณด๋ฉด ๋”ฑํžˆ Windows Desktop ๊ฐœ๋ฐœ์„ ํ•˜์ง€ ์•Š๋Š” ๋•Œ๋ผ๋ฉด Visual Studio Code๋ฅผ ์“ฐ๋Š”๊ฒŒ ํ›จ์”ฌ ์žฅ๊ธฐ์ ์œผ๋กœ ์ด๋“์ด๋ผ๊ณ  ์ƒ๊ฐ์ด ๋ฉ๋‹ˆ๋‹ค. .NET 6๋งŒ ํ•ด๋„ ๋‹น์žฅ Visual Studio 2019 Pro ์ด์šฉ์ž๋Š” Visual Studio 2022๋ฅผ ๊ตฌ๋งคํ•ด์„œ ์“ฐ๊ฑฐ๋‚˜ ์ปค๋ฎค๋‹ˆํ‹ฐ๋ฅผ ์จ์•ผ๊ฒ ์ง€๋งŒโ€ฆ Visual Studio Code๋Š” ๋ฌด๋ฃŒ๋กœ ๊ทธ๋ƒฅ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฒˆ์™ธ๋กœ ์ตœ๊ทผ์— ์ง€์ธ์„ ํ†ตํ•ด ์•Œ๊ฒŒ๋œ ์‚ฌ์‹ค์ธ๋ฐโ€ฆVisual Studio Code์—์„œ๋Š” Live Share๊ฐ€ ์ฑ„ํŒ…๋„ ๋œ๋‹ค๊ณ  ํ•˜๋”๋ผ๊ตฌ์š”. Visual Studio๋Š” Live Shareํ•ด๋„ ์ฑ„ํŒ…๊ธฐ๋Šฅ์€ ๋”ฐ๋กœ ์—†๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ œ๊ฐ€ ๋ชป์ฐพ๋Š”๊ฑด์ง€โ€ฆ

Visual Studio๋ฅผ Enterprise๋ฅผ ์“ด๋‹ค๋ฉด Code Map์ด๋‚˜, ๊ฐ•๋ ฅํ•œ MSTest๋‚˜ ์—ฌ๋Ÿฌ ๋ถ€์† ๋„๊ตฌ๋“ค์ด ์ข‹์€ ๊ฒƒ ๊ฐ™์€๋ฐ ์ปค๋ฎค๋‹ˆํ‹ฐ๋‚˜ ํ”„๋กœํŽ˜์…”๋„๊ธ‰์ด๋ผ๋ฉด Visual Studio Code๋ฅผ ์จ๋„ ๋ฌธ์ œ๊ฐ€ ๋  ๊ฒƒ ๊ฐ™์ง€ ์•Š์Šต๋‹ˆ๋‹คโ€ฆ ํ˜น์‹œ Visual Studio ์ปค๋ฎค๋‹ˆํ‹ฐ๋‚˜ ํ”„๋กœํŽ˜์…”๋„๋งŒ์˜ Visual Studio Code์™€์˜ ๋น„๊ตํ–ˆ์„ ๋•Œ ์–ด๋–ค ๊ฐ•์ ์ด ์žˆ์„๊นŒ์š”โ€ฆ?

5๊ฐœ์˜ ์ข‹์•„์š”

์ €๋Š” ํƒœ์ƒ์ด ์œˆ๋„์šฐ ๊ฐœ๋ฐœ์ž๊ณ , ์ปค๋งจ๋“œ๋ผ์ธ์ด ์ต์ˆ™ํ•˜์ง€ ์•Š์€ GUI์— ์ตœ์ ํ™”๋œ ๊ฒŒ์œผ๋ฅธ ๊ฐœ๋ฐœ์ž์ž…๋‹ˆ๋‹ค.

์ œ ์–˜๊ธด ์ค„โ€ฆ

์—ฌํŠผ

๊ฐœ์ธ์ ์œผ๋กœ vsc ๋Š” ๋””์ž์ด๋„ˆ ๋ทฐ๊ฐ€ ๋นˆ์•ฝํ•˜๋‹ค๋Š” ๊ฒŒ ํ˜„์žฌ๋กœ์„œ๋Š” ๊ฐ€์žฅ ํฐ ๋‹จ์ ์ด ์•„๋‹๊นŒ ์‹ถ์Šต๋‹ˆ๋‹ค.
(ํŠนํžˆ xaml ๋””์ž์ด๋„ˆ๊ฐ€ ์—†๋‹ค๋Š” ๊ฑฐโ€ฆ -ใ…-)

๋‹ท๋„ท๋„ ์ด์ œ ๋Œ€๋ถ€๋ถ„ ์ปค๋งจ๋“œ ๋ผ์ธ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋ณดํŽธํ™”๋˜์–ด ๊ฐ„๋‹ค๋Š” ๋А๋‚Œ์ด ๊ฐ•ํ•˜๊ฒŒ ๋“ค๊ธดํ•ด์š”.
์ตœ๊ทผ ๊ฒ€์ƒ‰ํ•˜๋Š” ์˜ˆ์ œ๋“ค ๋Œ€๋ถ€๋ถ„์ด ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ๋ถ€ํ„ฐ ์‹œ์ž‘๊นŒ์ง€ ์ „๋ถ€ dotnet ์œผ๋กœ ์‹œ์ž‘ํ•˜๋Š” ์ปค๋งจ๋“œ ๋ผ์ธ์„ ์‚ฌ์šฉํ•˜๋”๊ตฐ์š”.
์•„๋งˆ๋„ ์ด๋Ÿฐ ํ™˜๊ฒฝ์œผ๋กœ ๋„˜์–ด๊ฐˆ ์ˆ˜๋ก vsc ๊ฐ€ ์œ ๋ฆฌํ•  ๊ฑฐ ๊ฐ™์Šต๋‹ˆ๋‹ค.
์ด์ œ๋Š” ๋””๋ฒ„๊น… ๊ธฐ๋Šฅ๋„ vsc ๊ฐ€ ์ƒ๋‹นํžˆ ์ข‹์•„์ง„ ๊ฑฐ ๊ฐ™๊ณ  ์•ž์„œ ์–ธ๊ธ‰ํ•˜์‹  Enterprise ์ˆ˜์ค€์˜ ๊ธฐ๋Šฅ์ด ํ•„์š”ํ•˜์ง€ ์•Š๋‹ค๋ฉด
vsc ๊ฐ€ ๋” ๊ดœ์ฐฎ์€ ์„ ํƒ์ด ๋˜์ง€ ์•Š์„๊นŒโ€ฆ ํ•˜๋Š” ์ƒ๊ฐ๋„ ๋“ญ๋‹ˆ๋‹ค.

โ€ฆ๋ผ๊ณ  ์ƒ๊ฐํ•˜์ง€๋งŒ ์ „ ์•„์ง๊นŒ์ง€ VS ๊ฐ€ ๋” ์ข‹์•„์šค โ€˜ใ…โ€™

3๊ฐœ์˜ ์ข‹์•„์š”

์ €๋Š” VS์˜ ํ…œํ”Œ๋ฆฟ ๊ธฐ๋Šฅ๋„ ๊ฝค ์œ ์šฉํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ํ˜•์‹์ด๋‚˜ ์ž์‚ฌ์˜ UserControl ๊ฐ™์€ ๊ฒƒ์„ ItemTemplate์œผ๋กœ ๋งŒ๋“ค์–ด๋‘๋ฉด ์ธ์ˆ˜์ธ๊ณ„ ํ•  ๋•Œ๋„ ๊ฝค ๊ฐ„๋‹จํ•˜๊ณ  ๊ทธ Template ์•ˆ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ€์ด๋“œ ๊ฐ™์€ ๊ฒƒ๋“ค์„ ์ฃผ์„์œผ๋กœ ํฌํ•จํ•˜๋ฉด ๋”ํ• ๋‚˜์œ„ ์—†๋Š” ์ƒ์‚ฐ์„ฑ์„ ํ–ฅ์ƒํ•  ์ˆ˜ ์žˆ์ง€์š”.

๋งŒ์•ฝ ํ•œ ํ…œํ”Œ๋ฆฟ์— 10๊ฐœ์˜ xaml๊ณผ cs ํŒŒ์ผ์ด ๋ฌถ์—ฌ์žˆ๋Š” ๊ฒฝ์šฐ, VS Code์—์„œ๋Š” ๋ชจ๋‘ ํŒŒ์ผ์„ ๊ฐ๊ฐœ๋กœ ์ƒ์„ฑํ•ด์•ผ ํ•˜์ง€๋งŒ VS์—์„œ๋Š” ํด๋ฆญ ํ•œ ๋ฒˆ์— ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์€ ํฐ ์žฅ์ ์œผ๋กœ ๋ณด์ž…๋‹ˆ๋‹ค.

์ด๊ฒƒ ์ด์™ธ์—๋Š” @Greg.Lee ๋‹˜๊ป˜์„œ ๋ง์”€ํ•˜์‹  ๋””์ž์ด๋„ˆ ์ •๋„๋งŒ ๋– ์˜ค๋ฅด๋„ค์š” :thinking:

3๊ฐœ์˜ ์ข‹์•„์š”

์ž˜ ์•„์‹œ๊ฒ ์ง€๋งŒ Visual Studio Code๋กœ๋Š” ๋””์ž์ธ ํƒ€์ž„ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๊ณ , ๋‹ค์–‘ํ•œ ์–ธ์–ด ํ™•์žฅ์„ ์ง€์›ํ•˜๋Š” ๋Œ€์‹ , IDE์— ์ตœ์ ํ™”๋˜๊ณ  ๊นŠ๊ฒŒ ํ†ตํ•ฉ๋œ ํ˜•ํƒœ๊ฐ€ ์•„๋‹Œ ์–ธ์–ด ์„œ๋ฒ„ (Language Server) ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜๋‹ค๋ณด๋‹ˆ ๊ธฐ๋Šฅ์„ "์“ธ ์ˆ˜ ์žˆ๋‹ค"์ด์ง€ "์ตœ์ ํ™”๋˜์–ด์žˆ๋‹ค"๋ผ๊ณ  ๋ณผ ์ˆ˜ ์—†๋Š” ๋ถ€์กฑํ•œ ๋ถ€๋ถ„๋“ค์ด ๋งŽ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  Visual Studio Code๋Š” ์ฒ˜์Œ๋ถ€ํ„ฐ Node.js ๊ธฐ๋ฐ˜์˜ ์›น ํ”„๋ก ํŠธ์—”๋“œ ๊ธฐ์ˆ ์— ์ข€ ๋” ์ง‘์ค‘ํ•˜๊ณ  ์žˆ๊ณ , ๋‚˜๋จธ์ง€ ๋„๊ตฌ๋“ค์€ ์ „๋ฌธ์ ์ธ IDE๋กœ์„œ ์ง€์›์„ ํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•˜์ง„ ์•Š๊ณ , โ€œ๊ฐ™์ด ์“ธ ์ˆ˜ ์žˆ๋‹คโ€ ์ •๋„์˜ ์˜๋ฏธ๋กœ ์ปค๋ฎค๋‹ˆํ‹ฐ์—์„œ ๊ฐœ๋ฐœ์ด ๋˜๊ณ  ์žˆ์ฃ . ใ…Žใ…Ž

๊ทธ๋ฆฌ๊ณ  "๊ฐœ์ธ์˜ ์ž…์žฅ"์—์„œ ์ œ๊ฐ€ ๋ณด๊ธฐ์—๋Š” Visual Studio Community๋‚˜ Visual Studio Professional ์ •๋„๋ฉด ํ•„์š”ํ•œ ๊ธฐ๋Šฅ์€ ๋Œ€์ฒด๋กœ ๋ชจ๋‘ ๋“ค์–ด์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. Visual Studio Enterprise ๊ฐ™์€ ๊ฒฝ์šฐ๋Š” ์—ฌ๊ธฐ์— ๋”ํ•ด ํฌ๋กœ์Šคํ”Œ๋žซํผ, ๋‹จ์œ„ ํ…Œ์ŠคํŠธ ๊ฐ™์€ ๊ธฐ๋Šฅ์— ์ข€ ๋” ๋ฌด๊ฒŒ๋ฅผ ๋‘๊ณ  ์žˆ๋Š”๋ฐ, ์•„๋ž˜ Comparison Matrix๋ฅผ ๋ณด์‹œ๋ฉด ํŒ๋‹จ์ด ์ข€ ๋” ์‰ฝ์ง€ ์•Š์„๊นŒ ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๊ตณ์ด ๋น„์‹ผ ๋ˆ์„ ์ฃผ๊ณ  Enterprise ์ œํ’ˆ์„ ๊ตฌ์ž…ํ•ด์•ผ ํ•  ์ด์œ ๋Š” ์—†์ง€์š”. ใ…Žใ…Ž

๊ทธ๋ฆฌ๊ณ  Visual Studio์—์„œ๋„ Live Share๊ฐ€ ํ”Œ๋Ÿฌ๊ทธ์ธ์œผ๋กœ ์ œ๊ณต๋˜๊ณ , ๋ฉฐ์น  ์ „์—๋„ ํŒ€ ๋™๋ฃŒ๋Š” macOS์—์„œ Live Share๋ฅผ VS Code๋กœ ์„ธ์…˜์„ ์—ด๊ณ , ์ œ๊ฐ€ Windows์—์„œ Live Share ๊ฒŒ์ŠคํŠธ๋กœ Visual Studio 2022๋กœ ์ ‘์†ํ•ด์„œ ํ”ผ์–ด ์ฝ”๋“œ ๋ฆฌ๋ทฐ๋ฅผ ์ž˜ ์ง„ํ–‰ํ–ˆ์—ˆ์Šต๋‹ˆ๋‹ค.

์ฐธ, ํ•œ ๊ฐ€์ง€ ๋”. ๊ฒฝํ—˜ ์ƒ Visual C++์„ ์‚ฌ์šฉํ•˜๋Š” ํ™˜๊ฒฝ์ด๋ผ๋ฉด VS Code๋กœ๋Š” ๋ถ€์กฑํ•œ ๊ฒƒ์ด ๊ฝค ๋งŽ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ ๋•Œ๋ฌธ์—๋ผ๋„ Visual Studio ํ’€ ๋ฒ„์ „์„ ์‚ฌ์šฉํ•  ์ด์œ ๊ฐ€ ์ถฉ๋ถ„ํ•˜์ฃ .

4๊ฐœ์˜ ์ข‹์•„์š”

์‚ฌ์กฑ์œผ๋กœ, ์‚ฌ์‹ค ์˜ˆ์ „์— Visual Studio 2017๊นŒ์ง€๋งŒ ํ•ด๋„ Express Edition์ด๋ผ๋Š” ๋ฒ„์ „์ด ์žˆ์—ˆ๊ณ  ์ €๋Š” ์ •๋ง ์ด ๋ผ์ธ์—…์„ ์‚ฌ๋ž‘ํ–ˆ์—ˆ๋Š”๋ฐ, ๊ทธ๊ฒŒ ์—†์–ด์ง€๊ณ  ์ง€๊ธˆ์€ Community Edition์œผ๋กœ ํ†ตํ•ฉ๋œ ์ƒํƒœ์ž…๋‹ˆ๋‹ค. Express Edition์€ ์ง€๊ธˆ์˜ Community Edition๊ณผ๋Š” ๋‹ฌ๋ฆฌ ์ง„์ •ํ•œ โ€œ๋ฌด๋ฃŒโ€ ์ œํ’ˆ์ด์—ˆ์ฃ .

3๊ฐœ์˜ ์ข‹์•„์š”