비주얼 스튜디오

내위키

Visual Studio.

마이크로소프트에서 개발 및 판매하고 있는 통합개발환경. 줄여서 VS라고도 많이 쓴다. 역사를 잘 모르는 사람들은 프로그램 개발하는 프로그램이 어째서 이름이 '보이는 스튜디오'지? 할 수도 있는데, 비주얼 베이직, 비주얼 C++와 같은 '비주얼' 언어 개발 시리즈의 개발환경으로 만들어진 것이라서 그와 같은 이름이 붙었다. 실제로 과거에 밋밋한 텍스트 환경에서 일했던 개발자들에게 그래픽 인터페이스를 기반으로 한 비주얼 스튜디오는 그야말로 컬처 쇼크와 같은 충격이었다 CC++ 쪽은 덜하지만 특히 비주얼 베이직은 컴포넌트 위주의 개발 환경으로 마치 블럭 조립 하듯이 인터페이스를 마우스로 착착 디자인하고 컨트롤을 클릭해서 필요한 코드를 입력하는 개발 방식은 어마어마한 생산성을 제공했다. 그 덕에 알고리즘도 제대로 모르는 수준 이하의 개발자들도 대량으로 제공했다. 아무튼 비주얼 스튜디오의 성공 이후로 '스튜디오'라는 이름이 붙은 개발 환경이 종종 등장했는데, 예를 들어 안드로이드 스튜디오.

윈도우 프로그램 개발이 MFC가 주류이던 시절에는 당연히 필수품이었고 주력 개발 플랫폼이 닷넷으로 넘어가고 나서도 여전히 윈도우 기반 개발자에게는 MSDN과 함께 필수품이다.

과거에는 MS가 개발한 운영체제에서 돌아가는 앱만 개발만 가능했고[1] MS에서 개발한 개발 환경만 사용할 수 있었다. 하지만 MS오픈 소스에 우호적으로 돌아서면서부터는 MS를 넘어 오픈 소스 개발환경까지 적극 수용했다. 버전 관리를 위해서는 아예 Git을 기본으로 쓰고 깃허브 지원도 기본으로 한다. 심지어 클라우드 개발 환경을 아예 깃허브 기반으로 바꿔버렸다. 모바일이 대세가 되면서는 자사의 윈도우 모바일 말고도 안드로이드iOS 앱도 개발할 수 있게 되었다. 오히려 이쪽이 대세가 되고 윈도우 모바일은 버림 받고 있다. 다만 iOS 계열은 앱은 윈도우용 비주얼 스튜디오에서는 오브젝티브C스위프트를 사용한 개발은 불가능하고 C# 기반의 자마린이나 비주얼 C++, F++과 같이 MS가 개발한 개발 환경을 사용해야 한다. 또한 앱을 빌드할 때에는 엔터프라이즈 에디션이 아니면 XCode가 깔린 맥을 연결해야 한다.

제품군

비주얼 스튜디오 IDE

그냥 비주얼 스튜디오라고 하면 이걸 얘기하는 게 상식. 개발에 필요한 통합개발환경으로 과거에는 MS 제품군만 지원했지만 지금은 데스크톱, 모바일, 웹을 비롯한 광범위한 영역에 걸쳐서 MS는 물론 비 MS 오픈 소스까지 포용하고 있다. 특히 플러그인 기능을 사용하면 이클립스처럼 여러 가지 언어로 개발할 수 있다. Node.js파이선도 이 비주얼 스튜디오 IDE에서 개발할 수 있다. 또한 맥용으로도 나와 있다.

IDE는 크게 세 가지 에디션으로 제공된다.

  • 커뮤니티 에디션(Community Edition) : 무료 버전. 오픈 소스는 물론 상업적인 프로그램 개발도 할 수 있다.
  • 프로페셔널 에디션(Professional Edition) : 유료 버전.
  • 엔터프라이즈 에디션(Enterprise Edition) : 유료 버전.

과거에는 윈도우 개발자에게는 필수품이나 마찬가지였지만 비싼 가격으로 불법 복제품을 쓰는 사람들이 많았으나, 지금은 커뮤니티 에디션이 무료로 풀리고 있어서 개인 또는 중소기업 개발자들은 좋은 개발환경을 무료로 쓸 수 있다. 프로페셔널 버전과 엔터프라이즈 에디션은 고객 지원, MSDN 제공과 같은 추가 혜택이 있다. 특히 전문 개발자에게는 MSDN에서 제공하는 툴이나 자료들이 워낙 좋기 때문에 전문 개발업체의 수요가 많다.

비주얼 스튜디오 팀 서비스

팀 단위 개발을 진행에 필요한 버전 관리와 협업을 비롯한 기능들을 제공하는 솔루션.

비주얼 스튜디오 코드

Visual Studio Code.

코드 편집 기능으로 특화된 버전으로 위의 비주얼 스튜디오 IDE에서 기능만 뺀 버전이 아니라 아예 다른 물건이다. 일단 인터페이스부터 다른 비주얼 스튜디오와는 다르다. Node.js를 데스크톱 앱으로 사용하기 위한 프레임워크인 일렉트론[2]에 기반을 두고 있기 때문이다.[3] IDE가 아니라 Sublime Text나 Atom처럼 프로그래밍에 특화된 에디터라고 봐야 하겠지만 플러그인을 통한 확장성이 워낙 좋아서 잘 튜닝하면 IDE 부럽지 않은 기능을 가질 수도 있다. 컴파일러를 자체 포함하고 있지 않지만 적절한 플러그인을 사용하면 외부 컴파일러를 사용한 빌드 작업을 설정할 수 있으며 심지어 디버깅까지 잘 된다.[4] 코드 자동 완성을 비롯해서 코딩을 위한 고급 기능도 갖추어져 있으며, Git을 사용한 버전 관리도 지원한다. 깃허브의 일렉트론 프레임워크 기반이므로 당연할 지도. 다만 깃허브의 일렉트론 기반 에디터인 Atom에서 포크한 건 아니고 따로 만든 것이다. 확장 기능을 통해 현재 쓰이고 있는 언어는 거의 다 지원한다고 해도 과언이 아니다. 명령 팔레트를 띄우고 필요한 기능을 입력해서 (자동완성도 지원한다) 간편하게 명령을 실행시킬 수 있다.

윈도우, OS X는 물론 리눅스까지 지원하기 때문에 리눅스 환경 개발자들 중에도 VS 코드를 쓰는 사람들이 꽤 있다. 무료로 배포된다. 게다가 오픈 소스로 개발되고 있다. 깃허브에서 소스를 다운 받을 수도 있다. 메모리 많이 잡아먹고 무거운 IDE 대신에 가볍지만 플러그인으로 내가 필요한 개발환경에 필요한 기능은 충분히 갖추고 있어서 특히 고급 개발자 중에는 이쪽을 좋아하는 사람들도 많다. 인기가 쑥쑥 올라가고 있어서 플러그인도 많이 나와 있어서 어떤 언어를 쓰든 적당한 플러그인을 설치해서 환경을 갖출 수 있다. 일부 언어 및 플랫폼, 프레임워크 개발사가 공식 제공하는 플러그인들도 늘어나고 있다.

깃허브 코드스페이스

웹 브라우저에서 실행시킬 수 있는 비주얼 스튜디오 코드스페이스(Visual Studio Codespace)도 있다. 따로 프로그램을 설치할 필요 없이 간편하게 실행시킬 수 있다. 비주얼 스튜디오 코드 자체가 자바스크립트 기반 엘렉트론으로 만들었기 때문에 온라인 버전으로도 손쉽게 이식시킬 수 있는 것. 그런데 MS가 인수한 깃허브를 기반으로 하는 것으로 방향을 틀었고, 그래서 VS 코드스페이스는 종료하고 깃허브 코드스페이스를 출범시킨다. 비주얼 스튜디오, 웹 브라우저, 비주얼 스튜디오 코드를 모두 활용할 수 있는 클라우드 기반 개발 환경이다.

그밖에

비주얼 스튜디오에 안드로이드 에뮬레이터가 포함되어 있는데 Hyper-V 기반으로 동작하며 구글안드로이드 SDK에서 제공하는 에뮬레이터보다 더 빠르다! 심지어 안드로이드 스튜디오에서도 갖다 쓸 수 있다. 다만 메모리를 좀 많이 잡아먹는 게 흠.

각주

  1. 맥 환경에 쓸 수 있는 맥용 비주얼 스튜디오(Visual Studio for Mac)도 있다.
  2. 일렉트론은 깃허브에서 만든 건데 MS가 아예 깃허브를 인수해버렸기 때문에 사실상 MS 것이다.
  3. 그래서인지 설정 파일이 홀라당 JSON이다.
  4. 다만 디버깅은 IDE에 비해서는 기능이 좀 떨어지긴 한다. 스택 추적 기능이나 중단점 설정, 한 스텝씩 실행시키기와 같은 기능은 제공하지만 IDE보다는 덜 세밀하고 인터페이스가 조금 불편하다.