News

IT News

 

"비주얼 스튜디오 vs. 비주얼 스튜디오 코드" 무엇을 선택할 것인가

Date 2023.12.12 Hits 375

지난 수십년 동안 필자는 아침에 일을 시작하면 먼저 마이크로소프트 비주얼 스튜디오(또는 그 전의 비주얼 C++나 비주얼 인터데브 등)를 시작한 다음, 프로그램이 힘든 시작 과정을 거치는 사이 차를 내리고 아침 회의가 있다면 참석하기도 했다.

이 긴 시작 과정을 다시 거치기 싫어서 개발/테스트/디버그 작업을 하는 동안 종일 IDE를 열어 놨다. 200만 줄의 코드가 포함된 C++ 프로젝트 작업을 할 때는 새벽에 코드 체크아웃과 제품 전체 리빌드를 수행하는 배치 스크립트가 자동으로 실행되도록 해놓고 하루를 시작하기도 했다.
 
그런데 시간이 지나면서 비주얼 스튜디오의 시작 오버헤드도 많이 줄어서 이제는 대규모 비주얼 스튜디오 2022 프로젝트에서도 별 문제가 되지 않는 수준이다. 


비주얼 스튜디오 코드의 경우 대체로 시작 속도가 빨라서 큰 프로젝트라 해도 몇 분만에 작업을 시작할 수 있다. ‘항상’이 아니고 ‘대체로’임에 주목해야 한다. 비주얼 스튜디오 코드 자체에 월별 업데이트가 필요하고, 필자가 따로 설치해둔 많은 확장 기능에도 자체 업데이트가 필요한 경우가 많다. 다만 비주얼 스튜디오 코드에서 십여 개의 확장을 업데이트하는 데 걸리는 시간이라고 해봐야 과거 비주얼 스튜디오에서 대규모 C++ 프로젝트의 기호 테이블을 리빌드하는 데 걸렸던 시간보다 짧다.
 
그래도 비주얼 스튜디오 코드와 비주얼 스튜디오 간의 선택을 가벼운 편집기와 무거운 IDE 간의 선택으로 간단히 정리할 수는 없다. 비주얼 스튜디오 코드는 구성의 폭이 넓고 비주얼 스튜디오는 완성도가 높다. 필요한 언어 지원 및 기능 못지않게 작업 스타일도 선택에 영향을 미치는 요소다. 두 개발 툴의 기능과 절충점을 알아보자.
 

비주얼 스튜디오 코드의 강점

비주얼 스튜디오 코드는 가벼우면서도 강력한 소스 코드 편집기로, 데스크톱에서 실행되며 윈도우, 맥OS, 리눅스에서 사용할 수 있다. 자바스크립트, 타입스크립트, Node.js를 기본 지원하고 다른 언어(예를 들어 C++, C#, 자바, 파이썬, PHP, 고)와 런타임(예를 들어 .NET, 유니티)을 위한 확장 생태계도 풍부하다.
 
비주얼 스튜디오 코드는 가벼움과 빠른 시작에 중점을 두면서 그 외에도 변수, 메서드, 가져온 모듈을 대상으로 한 인텔리센스 코드 완성, 그래픽 디버깅, 린팅, 멀티 커서 편집, 매개변수 힌트, 그리고 강력한 편집 기능과 세련된 코드 탐색 및 리팩터링, 깃 지원을 포함한 기본 소스코드 제어 기능도 제공한다. 이러한 기능 중 상당수는 비주얼 스튜디오 기술에서 가져온 것이다.
 
비주얼 스튜디오 코드 자체는 일렉트론(Electron) 셸, Node.js, 타입스크립트, 랭귀지 서버(Language Server) 프로토콜을 사용해서 구축되며 월 단위로 업데이트된다. 확장 기능은 필요에 따라 수시로 업데이트된다. 지원 수준은 프로그래밍 언어와 각각의 확장 기능에 따라 구문 강조 표시 및 괄호 일치부터 디버깅과 리팩터링에 이르기까지 다양하다. 언어 서버가 제공되지 않는 경우 텍스트메이트(TextMate) 컬러라이저를 통해 선호하는 언어에 대한 기본적인 지원을 추가할 수 있다.
 
비주얼 스튜디오 코드 리포지토리의 코드는 MIT 라이선스에 따라 오픈소스로 제공된다. VS 코드 제품 자체는 마이크로소프트만의 맞춤 기능을 일부 포함하고 있으므로 표준 마이크로소프트 제품 라이선스에 따라 제공된다. 상업용 라이선스지만 무료다.
 

비주얼 스튜디오의 강점

비주얼 스튜디오(현재 버전은 64비트인 비주얼 스튜디오 2022)는 윈도우 및 맥OS를 위한 마이크로소프트의 고급 IDE다(단, 2024년 8월 31일을 기점으로 맥용 비주얼 스튜디오는 단종됨). 비주얼 스튜디오에서 소프트웨어를 개발, 분석, 디버깅, 테스트, 협업 및 배포할 수 있다.
 
윈도우의 비주얼 스튜디오 2022에는 다양한 개발 대상을 위한 일관된 툴 및 구성요소 설치 번들인 17개의 워크로드가 있다. 워크로드는 비주얼 스튜디오 설치 프로세스의 중요한 개선 사항이다. 비주얼 스튜디오 2022 전체 다운로드 및 설치에는 몇 시간이 걸리고, 특히 SSD의 경우 디스크를 가득 채울 정도로 용량을 많이 소비하기 때문이다.
 
맥용 비주얼 스튜디오 2022의 경우 지원하는 대상의 수가 윈도우만큼 많지 않으므로 설치 프로그램도 윈도우 버전에 비해 덜 복잡하다. .NET으로 웹, 모바일 및 데스크톱용 개발을 할 수 있으며 유니티, 애저, 도커 지원이 기본적으로 포함된다. .NET 코어, 안드로이드, iOS, 맥 OS 대상은 선택 사항이며 뒤의 3개는 자마린(Xamarin)을 사용한다.
 
비주얼 스튜디오 2022는 커뮤니티(무료지만 기업용 지원되지 않음), 프로페셔널(첫 해 1,199달러, 갱신 시 799달러), 엔터프라이즈(첫 해 5,999달러, 갱신 시 2,569달러)의 세 가지 SKU로 제공된다. 엔터프라이즈 에디션에는 다른 두 SKU에는 없는 설계자용 기능과 고급 디버깅 및 테스팅 기능이 있다.
 

비주얼 스튜디오 또는 비주얼 스튜디오 코드, 선택은?

소프트웨어 개발 작업을 위해 비주얼 스튜디오와 비주얼 스튜디오 코드 중에서 결정하라고 하면 IDE와 편집기, 둘 중 하나를 선택하는 간단한 문제라고 생각할 수 있다. 그런데 간단한 문제가 아니다. 비주얼 스튜디오 코드도 많은 프로그래밍 언어에서 IDE에 근접한 수준으로 구성이 가능하기 때문이다. 그러나 이 구성의 유연함에는 몇 가지 타협이 따른다.
 
예를 들어 개발 스타일이 테스트 중심이라면 비주얼 스튜디오를 구입해서 곧바로 사용할 수 있다. 반면 비주얼 스튜디오 코드에는 Node.js와 고, .NET, PHP를 지원하는 테스트 중심 개발(TDD) 확장 기능이 15개 이상 있다. 마찬가지로, 비주얼 스튜디오는 데이터베이스, 특히 마이크로소프트 SQL 서버 및 관련 작업에서 탁월하지만 비주얼 스튜디오 코드에는 다수의 데이터베이스 확장 기능이 있다. 비주얼 스튜디오는 리팩터링을 잘 지원하지만 비주얼 스튜디오 코드는 6개 언어에 대한 기본적인 리팩터링 작업을 구현한다.
 
둘 중 한 개발 환경이 뚜렷하게 더 유리한 몇 가지 경우도 있다. 예를 들어 소프트웨어 설계자이며 비주얼 스튜디오 엔터프라이즈를 이용할 수 있다면 아키텍처 다이어그램에 이를 사용하기를 원할 것이다. 개발 또는 디버깅 작업에서 팀원들과 협업을 해야 한다면 비주얼 스튜디오가 더 나은 선택이다. 심층적인 코드 분석이나 성능 프로파일링을 하거나 스냅샷에서 디버깅을 해야 한다면 비주얼 스튜디오 엔터프라이즈가 유용할 것이다.
 
비주얼 스튜디오 코드는 데이터 과학 커뮤니티에서 인기가 높다. 그러나 비주얼 스튜디오에는 많은 기능을 제공하는 데이터 과학 워크로드가 있다.
 
비주얼 스튜디오는 리눅스에서 실행되지 않고 비주얼 스튜디오 코드는 실행된다. 반면 윈도우용 비주얼 스튜디오에는 리눅스/C++ 워크로드와 애저 지원이 포함된다.
 
비주얼 스튜디오와 비주얼 스튜디오 코드에서 모두 지원되는 프로그래밍 언어를 사용한 일상적인 개발/테스트/디버그 사이클에서의 툴 선택은 사실상 개인적인 취향의 문제다. 한 번에 몇 시간씩 개발 프로젝트 작업을 하는 편이라면 비주얼 스튜디오가 더 맞을 것이다. 짧은 시간 동안 개발에 몰두하고 다른 여러 작업을 번갈아 하는 경향이 있다면 비주얼 스튜디오 코드가 더 만족스러울 것이다.
editor@itworld.co.kr 

원문보기:
https://www.itworld.co.kr/howto/315695#csidx2a587a74bca6107a3214c83be393139 onebyone.gif?action_id=2a587a74bca6107a3214c83be393139