Visual Studio의 차기 버전("15") 미리보기

Build 2016 에서는 Visual Studio의 차기 버전에 대한 Preview도 공개되었습니다. 비록 키노트 세션에서는 언급되지 않았습니다만(안타깝네요), 일반 세션에서는 매우 비중이 있게 다루어 졌습니다. 일단 내부적인 명칭은 Visual Studio "15"인데요. 내부적으로 Visual Studio의 버전이 15여서 이름이 그렇게 정해진 듯 합니다. 물론 이 명칭이 정식 명칭은 아니지만 이미 Visual Studio 2015가 나와있는 상태에서 "15"라는 명칭이 사용되고 있기에 약간 헛갈릴 수도 있어 보입니다. 그렇기에, 혼선을 없애기 위해서 이 글에서 언급하는 "15"는 모두 Visual Studio 차기 버전을 의미하는 것이라 생각해 주시기 바랍니다. 현재 Visual Studio “15”는 누구나 경험해 볼 수 있도록 다운로드 비트가 공개되어 있습니다(Download). 다만, 다들 아시겠지만 Preview 버전은 다소 불안정할 뿐만 아니라 기술 지원되지 않는 제품입니다. 그러므로, 여러분의 메인 컴퓨터에 설치하는 것은 권장하지 않습니다.

Preview에서는 차기 버전의 일부만을 살펴볼 수 있습니다만, 그를 통해서 대략적인 최종 모습을 그려볼 수 있습니다. 물론, Preview에서 야심차게 등장했던 기능이 최종 릴리즈에서는 제거되는 경우도 있곤 합니다만 그래도 대략적인 추가 기능들의 방향성은 살펴볼 수가 있습니다. [릴리즈 노트]에서는 이번 릴리즈(즉, Preview)에서 새롭게 제공되는 기능들의 목록을 살펴볼 수 있는데요. 그 전체 목록은 다음과 같습니다.

https://www.visualstudio.com/news/vs15-preview-vs

이번 글에서는 그러한 기능들 중 주목할만한 기능들 위주로 간략하게 정리해 볼까 합니다.

새로운 인스톨러

아마도 가장 주목할만한 부분은 설치를 할 경우에 만나게 되는 새로운 경량의 인스톨러 일 것입니다. Visual Studio “15”에서는 매우 빠르고 부담이 적은 설치도구를 제공하고 있는데요(물론, 기존과 마찬가지의 전체 설치도구도 제공하고 있습니다). Visual Studio "15"의 새로운 인스톨러를 사용하여 핵심 요소만을 설치해도, 다운로드 크기는 300 MB 정도밖에 안되지만 20개 이상의 언어를 지원하는 기본적인 코드 편집 기능과 디버깅, 소스 코드 제어 기능까지 탑재되어 있는 Visual Studio를 만나실 수 있습니다. 물론, 원한다면 설치 시에 선택적으로 .NET 데스크톱 개발도구(WPF, WinForms, Python, C++, Unity 등)도 추가할 수 있습니다. 그렇기에, 여러분의 컴퓨터에 큰 영향을 주지 않으면서도 Visual Studio의 차기 버전을 미리 살펴볼 수 있습니다.

VS15-01

다만, 새로운 인스톨러는 아직 preview이기 때문에 아직 인스톨러를 통해서 Visual Studio의 전체 기능을 모두 설치할 수 있지는 않습니다. 만일, 전체 기능을 설치해서 살펴보고 싶다면 기존 방식의 인스톨러를 사용하면 됩니다. 물론, 나중에 RC 버전이 공개되면 새로운 인스톨러에서도 전체 기능의 설치가 가능해질 것으로 예상됩니다. 일단 현재 제공되는 2가지 인스톨러는 모두 다음 경로에서 다운로드가 가능하며 각각의 명칭은 집필시점 다음과 같습니다.

기존 방식의 인스톨러 : Visual Studio Enterprise “15” Preview

새로운 방식의 인스톨러 : Visual Studio "15" Preview with new installer

https://www.visualstudio.com/downloads/visual-studio-next-downloads-vs

어떤 것을 설치하든지 간에 Visual Studio "15" 의 처음 실행 속도는 기존보다 30% 이상 빨라졌다고 하니 실행 시에 한번 비교해 보시기 바랍니다(체감적으로도 약간은 느껴지는 듯 합니다. 제 기분 탓이려나요).

프로그래밍 언어별 지원

이제 preview에서 새롭게 제공되는 기능 쪽으로 시선을 돌려보도록 할까 합니다. 우선, WPF와 유니버설 윈도우 앱의 경우, 이제 XAML에서도 편집하고 계속하기 기능을 지원합니다. 즉, 앱이 디버깅 중인 상태에서 XAML을 편집할 수 있다는 의미이며 변경한 내용은 그 즉시 UI 에 반영이 되어 확인이 가능하다는 것입니다. 이 기능은 UI 작업을 담당하는 개발자에게는 무엇보다 필요했던 기능인데 차기 버전의 Visual Studio부터는 지원됩니다.

또한, 다음 그림과 같이 코딩 표준을 지키도록 강제할 수 있는 새로운 스타일 분석기가 C#과 VB를 대상으로 탑재되어 있습니다. 기존에는 이러한 코딩 표준을 위해서 [정적 코드 분석] 기능이나 [FxCop]을 이용했었는데요. 차기 버전에서는 기존처럼 복잡하게 코딩 표준 규칙을 추가할 필요가 없이 간편하게 설정이 가능합니다. 현재 preview에서는 3개의 코드 분석기가 제공되고 있습니다만, 이러한 요소들은 정식 버전에서는 더 늘어날 수도 있어 보입니다.

VS15-02

또한, C++ 언어 서비스에도 수많은 보완이 있었는데요. 특히, 컴파일러와 IDE, 라이브러리 별로 다양한 개선이 있었습니다. 아직은 preview라는 점을 감안하시고 자세한 내용은 다음 링크를 통해서 확인하시기 바랍니다(https://www.visualstudio.com/en-us/news/vs15-preview-vs.aspx#Cdoubleplus).

더불어, 새로운 자바스크립트 언어 서비스도 preview 버전을 내놓았습니다. 특히, 새로운 자바스크립트 언어 서비스에서는 더 향상된 IntelliSense를 제공하며, JSDoc 주석 표기법에 대한 IntelliSense도 제공합니다. 또한, JSX 구문을 지원할 뿐만 아니라 EcmaScript 2016의 Generator와 Module 같은 기능도 지원합니다. 이러한 자바스크립트 언어 서비스는 Preview에서는 기본적으로는 비활성화 되어 있지만 레지스트리를 변경하여 사용 가능하도록 변경할 수 있습니다. 이를 활성화 하는 방법은 다음 링크를 참고하기 바랍니다.

JavaScript "Salsa" Language Service https://github.com/Microsoft/TypeScript/wiki/Using-the-Salsa-Preview-in-Visual-Studio-15-Preview

또한, Node.js와 관련하여 Node.js v6.x를 지원하는 새로운 도구인 Node.js Tools 1.2 Alpha 를 릴리즈 하였는데, 이는 NPM 패키지와 JsDoc 주석에 대한 지원을 포함하여 ES6 인텔리센스 엔진에 대한 지원을 향상시켰으며, 디버깅 시의 신뢰성, 안정성, 성능을 개선한 것으로 보입니다. 또한, 이번 Node.js 도구는 "Open Folder(폴더 열기)"를 통해서 프로젝트 없는 디버깅도 지원합니다(이 부분은 바로 뒤에서 설명합니다). 즉, 따로 프로젝트를 만들지 않아도 일반적인 폴더를 연 상태에서 디버깅이 가능하다는 의미입이다.

IDE의 향상된 기능들

Visual Studio “15”에서 가장 특이한 부분은 IDE에서 "폴더 열기"를 하는 것 만으로도 바로 개발을 시작할 수 있다는 것입니다. 다시 말해서, 별도의 솔루션이나 프로젝트 없이 그냥 소스들이 모여있는 일반 폴더를 마치 프로젝트인 것처럼 열어서 그 안에 있는 소스들을 편집하고 개발할 수 있다는 의미입니다.

VS15-03

[폴더 열기] 기능을 통해서 특정 폴더를 마치 프로젝트인 것처럼 열고 개발하는 경우, 놀랍게도 코드 편집 뿐 만 아니라 심볼(Symbol)로의 탐색, 빌드, 중단점 설정 및 디버깅까지 가능합니다. 특히, 디버거와 관련해서는 디버거 설정에 제약 조건을 추가할 수 있는 기능도 지원되며, 특정 모듈에서 예외가 던져지면 디버거의 실행을 멈추게끔 설정할 수도 있습니다.

VS15-05

또한, 간단하지만 쓸만한 기능으로는 인라인 Nuget 기능이 있습니다(이는 정식명칭은 아닙니다). 이는 개발 시에 외부 소스를 붙여넣기 한 다음에 외부 종속성이 있는 클래스를 발견할 경우 즉석에서 Nuget 설치 및 using 참조를 해결해 주는 기능입니다. 물론, 개발자가 수동으로 Nuget 관리자에서 필요한 모듈을 검색하여 설치 한 다음 직접 using 코드를 작성해서 해결할 수 있긴 하지만, 이 방법을 사용하면 번거로운 과정없이 상당히 빠르게(그것도 코딩하는 와중에) 컨텍스트를 벗어나지 않은 상태로 외부 모듈에 대한 종속성 해결이 가능해 집니다.

VS15-04

또한, 이번 Preview에서는 TACO 즉, Visual Studio Tools for Apache Cordova도 업데이트하여 Cordova 6.0.0을 지원하게 하였으며, 또한 NPM과 더 긴밀하게 통합되었으며, 현재 Node, NPM, Cordova 간의 호환성 이슈로 인해서 발생하는 Cordova  빌드 오류의 30% 정도를 줄여줄 뿐만 아니라 빌드 에러 메시지도 더욱 직관적으로 개선되었다고 합니다.

UWP 도구와 관련해서는 Tools for Universal Windows App Development에서 Windows 10을 위해 업데이트된 .NET 네이티브 툴체인을 포함하고 있으며, 관리되는 앱을 위해 런타임 성능을 향상시키기 위한 최적화가 포함되었고 600개 이상의 버그 픽스도 반영되었습니다.

개발 분석과 관련해서는, 기존의 Application Insights 도구가 Developer Analytics Tools로 편입되었으며, 최근 Microsoft가 인수한 모바일 플랫폼 전용 분석 도구인 HockeyApp analytics도 이러한 개발자 분석 도구에 추가 되었습니다. 더 확실한 내용은 RC 이상의 배포본을 확인해 봐야 할 것으로 보이지만 이번 preview에서 일단 검색 이력을 쉽게 살펴볼 수 있는 검색 관련 기능과 관련 telemetry를 검색해 볼 수 있는 기능 정도는 확인할 수 있어 보입니다.

Visual Studio “15” Preview와 함께 공개된 최신 Azure SDK 2.9에서는 App Service에 몇몇 추가 기능들을 더했으며, 버그들도 상당 부분 해결한 것으로 보고하고 있습니다. 다운로드 및 자세한 설명은 다음 링크를 참고하기 바랍니다. https://azure.microsoft.com/en-us/tools/

그 밖에 업데이트 된 도구로는 Office 개발자 도구와 SQL Server 데이터 도구가 있는데, SQL Server 데이터 도구의 경우에는 SQL Server 2016과 Azure SQL 데이터베이스에 대한 지원이 추가되었습니다.

Visual Studio “15” Preview에서 지원하는 모든 기능 목록은  Visual Studio “15” Preview Release Notes을 참고하기 바라며, 해결된 버그들의 전체 목록은 Known Issues and Fixed Bugs에서 살펴보시기 바랍니다. 더불어, 호환성 관련 정보는 platform targeting and compatibility를 참고하시기 바랍니다.

감사합니다.