검토 : Visual Studio 2015가 새로운 지평을 열다

Visual Studio는 항상 각 릴리스와 함께 성장하는 다양한 기능을 갖춘 큰 제품이었습니다. Visual Studio 2015는 Microsoft에서 예상하지 못했던 방식으로 이러한 추세를 확장합니다.

크로스 플랫폼 모바일 앱 개발? Xamarin에 한 번, Cordova에 한 번, 이식 가능한 C ++ 및 Unity와의 통합에 대한 추가 크레딧과 함께이 확인란을 두 번 이상 선택합니다.

크로스 플랫폼 서버? .Net Core, ASP.Net 및 Entity Framework, Python 및 Node.js의 경우이 확인란을 적어도 세 번 선택합니다.

크로스 플랫폼 편집 및 디버깅? 예. Visual Studio Code는 Mac OS X, Linux 및 Windows에서 실행됩니다.

크로스 플랫폼 애플리케이션 라이프 사이클 관리? Git 및 GitHub가 지원되며 Microsoft는 Team Foundation Server에서 버전 제어 시스템에 대해 보유한 것과 동일한 종류의 스마트 체크인 규칙과 지속적으로 통합 할 수 있도록 Team Foundation Server의 Git 지원을 확장했습니다.

크로스 플랫폼 빌드? 맞아요. Visual Studio Build 및 MSBuild를 사용하는 것 외에도 Team Foundation Build는 Ant, Gradle, Maven, Android Build, Gulp, Xcode 등을 사용할 수 있습니다.

물론 Visual Studio는 Windows 용 개발을 계속 지원하며 Windows API 호출이 포함 된 C ++로 빌드 된 콘솔 앱에서 C #의 Windows Presentation Foundation 앱 및 Blend for Visual Studio 2015. 그러나 Windows의 정의는 범용 Windows 플랫폼 앱을 통해 Windows 10에 맞게 확장되었습니다. 이러한 응용 프로그램은 휴대폰에서 태블릿, 노트북, 데스크톱, Xbox 게임 콘솔, 증강 현실 헤드셋, Surface Hub, 서버, 클라우드에 이르는 하드웨어에서 변경없이 작동하도록 설계되었습니다. 그 특정 비전이 얼마나 잘 드러날지는 아직 미지수입니다.

가벼운 크로스 플랫폼 옵션 : Visual Studio Code

Visual Studio Code는 Visual Studio 에코 시스템의 일부이지만 Visual Studio에는 적합하지 않습니다. 대신 오픈 소스 Atom Electron 셸과 여러 Microsoft 기술을 결합한 무료 크로스 플랫폼 편집기입니다. 저는 Mac OS X와 ​​Windows에서 사용했고 많이 좋아합니다. Ubuntu Linux에서도 실행됩니다.

왜 단순히 Atom을 사용하지 않습니까? TypeScript, JavaScript, C # 및 Visual Basic의 경우 Visual Studio Code는 우수한 언어 지원을 제공합니다. 다른 30 개 이상 지원되는 언어의 경우 Visual Studio Code는 Atom과 동등합니다.

전체 Visual Studio를 사용하지 않는 이유는 무엇입니까? 충분한 마력을 갖춘 Windows 컴퓨터 또는 가상 컴퓨터가있는 경우 가능하지만 Visual Studio Code는 더 빠르게 시작되고 컴퓨터 리소스를 훨씬 적게 필요로하는 훨씬 가벼운 프로그램입니다.

Visual Studio 2015의 새로운 기능

처음에 언급했듯이 Visual Studio 2015에는 Apache Cordova 설치 및 통합, Xamarin 설치 및 통합, 이식 가능한 C ++, 향상된 Android 에뮬레이터 및 Unity 통합과 같은 크로스 플랫폼 모바일 개발에 대한 광범위한 지원이 포함됩니다.

크로스 플랫폼 서버 애플리케이션을 구축하여 Windows 및 Linux 서버에 배포 할 수있을뿐만 아니라 Mac OS X 데스크톱 및 랩톱에서도 실행할 수 있습니다. 서버 지원에는 ASP.Net 5, Python, Node.js 및 Windows, Linux 및 Mac OS X 용 새로운 오픈 소스 .Net Core 5가 포함됩니다.

Windows 개발에는 차세대 범용 앱, 새로운 진단 도구 및 새로운 디자인 기능이 있습니다. 생산성 영역에서는 람다 디버깅, 성능 모니터링 및 기록 디버깅을 동시에 수행하는 등 더 나은 디버깅이 있습니다. 편집기에서 Roslyn 언어 프로세서는 코드에 공통된 문제가있는시기와 위치에 표시되는 전구를 구동하고 자동 코드 수정 및 개선 된 리팩토링을 제공합니다. 한편 Visual Studio 2015에는 Python 및 Node.js 용 확장과 함께 C #, Visual Basic, C ++ 및 TypeScript를 포함한 많은 프로그래밍 언어 업데이트가 있습니다.

Visual Studio Online 및 Team Foundation Server 2015는 이제 확장 성 후크 및 Trello, Campfire 등과의 통합을 자랑합니다. 애자일 계획 기능에는 Kanban 보드와 스윔 레인이 포함됩니다. 이제 Visual Studio Online 및 Team Foundation Server에서 바로 빠른 코드 편집 및 커밋을 수행 할 수 있습니다. 예전에는 Visual Studio 또는 다른 코드 편집 도구로 돌아 가야했습니다.

Visual Studio 2015 버전 이해

Visual Studio 2015의 다양한 버전은 검토 자에게 눈부신 골칫거리를주기에 충분합니다. 간략한 요약 :

  • 커뮤니티는 무료입니다. 이 버전은 비즈니스 앱을 빌드하지 않는 개별 개발자를 만족시켜야합니다.
  • Pro with MSDN은 $ 1,199입니다. 이 버전은 전문 개발자와 팀에게 좋습니다.
  • MSDN이 포함 된 Enterprise는 $ 6,119 (Visual Studio Ultimate 2013보다 훨씬 저렴)입니다. 이것은 "고급 테스트 및 DevOps를 포함하여 모든 규모 또는 복잡성의 프로젝트를 수행하는 팀을위한 고급 기능을 갖춘 엔터프라이즈 급 솔루션"입니다. 즉, 모든 종소리가 있습니다.

무료 Express SKU는 여전히 존재하지만 Microsoft는 더 많은 기능을 제공하는 무료 Community Edition을 사용할 것을 제안합니다. MSDN이 포함 된 Test Professional은 여전히 ​​존재하며 Visual Studio Team Foundation Server 2015의 사본을 구입할 수 있습니다.

다른 코드 편집 도구와 관련하여 Visual Studio Code는 오픈 소스 Atom Electron 셸을 기반으로 구축 된 무료 크로스 플랫폼 (Windows, Linux 및 Mac OS X) 코드 편집기이며 Roslyn 및 TypeScript 컴파일러의 심층적 인 언어 지원을 통해 더 많은 내용을 다룹니다. IntelliSense 수준의 몇 가지 외에도 구문 강조 및 대괄호 일치 수준에서 30 개 이상의 프로그래밍 언어.

.Net Core 5는 현재 Linux, Windows 및 Mac OS X를 지원하는 .Net 플랫폼의 클라우드에 최적화 된 교차 플랫폼 오픈 소스 구현입니다. 또한 Linux의 Docker 컨테이너 내에서 실행됩니다. .Net Core는 .Net Framework의 리팩터링 된 하위 집합이며 네이티브 및 CLR (애플리케이션 VM) 런타임을 모두 포함하고 Windows Store 및 ASP.Net 앱을 모두 지원합니다.

유니버설 Windows 플랫폼 앱은 광범위한 하드웨어에서 실행될뿐만 아니라 빠른 .Net 네이티브 런타임을 사용합니다. C #, Visual Basic, C ++ 및 JavaScript 언어 (Cordova 포함) 중에서 선택하고 XAML, DirectX 또는 HTML로 UI를 구성 할 수 있습니다. 5 인치 휴대폰에서 84 인치 Surface Hub에 이르기까지 다양한 장치 차원에서 Visual Studio의 XAML 디자인을 미리 볼 수 있습니다. 런타임에 적절한 API의 존재를 확인하는 코드에서 이러한 확장을 래핑하는 한 유니버설 앱에서 기기 별 확장을 사용할 수 있습니다. Visual Studio에서 XAML을 디자인 할 수 있지만 XAML 디자인에 선호되는 도구는 Visual Studio 2015 용으로 개선 된 Blend입니다.

업데이트 된 프로그래밍 언어

C # 6 및 Visual Basic 14는 nameof식, null 조건부 연산자, awaitin catchfinally블록, 식 본문 함수 멤버를 포함하여 몇 가지 환영 언어 업데이트를 제공합니다 .

표준 및 이식 가능한 코드는 C ++ 11 및 C ++ 14 표준 준수 및 일부 C ++ 17 기능 포함과 같은 C ++ 언어 향상을 표시합니다. C ++ 컴파일러는 이제 더 빠른 빌드와 코드 생성 및 보안 향상을 제공합니다. C ++ 코더가 커피를 끓이고, 시설을 방문하고, 탁구를 할 때 자주 사용하는 확장 된 "컴파일"세션을 제거 할만큼 빌드가 이제 충분히 빠른지 모르겠습니다. 대규모 코드베이스를 새로운 C ++ 컴파일러 버전으로 이식하고 필요한 모든 회귀 테스트를 수행하는 데 오랜 시간이 걸릴 수 있습니다.

F # 4.0은 F # 커뮤니티 개발자가 공개적으로 구축했으며이 중 약 1/4은 Microsoft와 제휴하고 있습니다. 언어와 도구에 많은 개선 사항이 있지만 가장 확실한 것은 향상된 IntelliSense 및 디버깅입니다.

TypeScript 1.4 및 TypeScript 1.5 (베타)는 더 많은 JavaScript 패턴으로 작업하고, 더 풍부한 타이핑을 생성하고, 새로운 ECMAScript 6 기능을 사용하는 새로운 기능을 계속 구축하고 있습니다.

Visual Studio 2015 설치

Visual Studio 설치가 더욱 세분화되었습니다. 이것이 중요한지 여부는 귀하의 필요에 따라 다릅니다. 기능의 일부만 필요한 경우을 사용할 수있을뿐만 아니라 설치 속도를 높이고 설치 공간을 줄일 수 있습니다. 어떤 경우 든 모든 것을 설치하려는 경우 즉시 설치하는 것이 좋습니다. 필요에 따라 부분 설치에 조각을 추가 할 수 있지만 Murphy의 법칙에 따라 초기에 설치하지 않은 기능은 시간이 중요한 방식으로 필수적이므로 증분 설치는 가능한 최악의 시간에 올 것입니다.

Visual Studio가 Apache Cordova에 필요한 Android 및 Java SDK 설치와 같은 기본 수준까지 모든 오픈 소스 종속성을 설치하는 것을보고 놀랐습니다. 주문이 잘못되면 수동으로 설치하는 것이 실망 스러울 수 있습니다.

부분 및 전체 설치의 경우 모두 Visual Studio 2015 설치가 Windows 10 SDK가 나올 때까지 이전 버전보다 위험과 좌절감이 덜하다는 것을 알았습니다. Windows 10 SDK를 설치했을 때 XAML 디자이너 (더 멋진 새 기능 중 하나)가 완전히 새로운 빈 프로젝트에서 오류가 발생했음을 발견했습니다. Visual Studio 팀에서 문제를 해결하는 데 약 하루를 보냈습니다. 즉, SDK는 다른 설치에서 제대로 작동하므로 널리 퍼진 문제는 아닙니다. (업데이트 : 이제 해결 방법이 있습니다. 아래의 "Windows 유니버설 앱 빌드"섹션을 참조하십시오.)

Visual Studio 2015의 Python 도구는 CPython, IronPython, PyPy, Anaconda 및 기타 Python 컴파일러를 지원하며 편집기에서 IntelliSense를 제공하고 혼합 모드 (Python / C ++) 및 교차 OS 디버깅을 포함한 대화 형 디버깅을 제공합니다.

7 개의 JavaScript IDE를 검토 한 이후로 Visual Studio 용 Node.js 도구 (현재 버전 1.1 RC)는 Visual Studio 2015 (natch) 및 새로운 Linux 기반 Dockerfile 템플릿에 대한 지원을 추가하여 앱을보다 쉽게 ​​시작할 수 있도록했습니다. Docker 컨테이너에서 실행됩니다. Dockerfile 템플릿을 Node.js 프로젝트에 추가하려면 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 새 항목 추가를 선택한 다음 Dockerfile 템플릿을 선택합니다.

이 NTVS 버전은 Node.js IntelliSense, 형식 지정, 디버깅, TypeScript, 단위 테스트 실행 및 Npm 통합도 개선합니다. 추가 다운로드를 통해 NTVS 1.1 RC는 Node.js 기반 범용 Windows 앱을 Raspberry Pi 2와 같은 Windows IoT Core 장치에 배포 할 수있는 새로운 IoT 확장을 지원합니다.

Visual Studio 2015에서 코드 편집

몇 년 전 저는 Visual Studio 팀의 당시 GM으로부터 다음 버전의 Visual Studio 계획에 대해 개인 브리핑을했습니다. 슬라이드를 살펴본 후 그녀는 제가 제안 할 다른 것이 무엇인지 물었고, Word의 실시간 맞춤법 검사를위한 구불 구불 한 밑줄 규칙이 Visual Studio의 실시간 구문 검사에 적용될 수 있다고 지적했습니다. 많은 낙서가 계속되었습니다. 이 기능은 다음 베타에서 정식으로 등장했습니다.

그런 다음 그녀는 내가 Visual Studio에서 Clippy를 원하는지 눈에 반짝 거리며 내게 물었습니다. 나는 웃으며“아직은 아니에요. 제안이 정말 훌륭하지 않았다면 절대 안 될 것입니다.” (Clippy는 성가신 방식으로 어리석은 제안을 한 것으로 Word 사용자들 사이에서 끔찍한 평판을 얻었습니다.)

Visual Studio 2015의 Clippy에 해당하는 것은 Visual Studio 편집기에서 코드 문제가 있다고 생각하고 제안이있을 때마다 그리고 "^."를 입력 할 때마다 나타나는 전구입니다. Light Bulb는 일반적인 코드 문제에 대한 수정 사항뿐만 아니라 가능한 코드 리팩토링도 제안합니다. 리팩토링 메뉴가 사라지고 모든 리팩토링 작업이 전구로 이동되었습니다. 균형 적으로 전구는 좋은 것입니다.

Visual Studio 2015에서는 변수 이름 변경이 크게 개선되었습니다. 당신은 그것이 일어나기 전에 그것이 무엇을 할 것인지 실제로 볼 수 있습니다. 라이브 코드 분석 및 자동 수정도 크게 향상되었습니다. 마법의 일부는 대상이되는 Microsoft 플랫폼 및 NuGet 패키지에 대한 특정 코드 인식 지침을 통해 분석에 정보를 제공한다는 것입니다.

작은 변화처럼 보이지만 이제 Visual Studio의 창 레이아웃을 사용자 지정, 저장 및 복원 할 수 있습니다. 이것이 왜 중요합니까? 화면 크기가 다른 컴퓨터간에 주기적으로 전환하는 경우 현재 사용중인 화면에 최적화 된 레이아웃을 가져 오기만하면 엄청난 시간을 절약 할 수 있습니다.

Visual Studio는 이제 터치를 지원합니다 : 스크롤 (일반 및 향상된 스크롤 막대의 편집기 화면에서 탭 및 드래그), 핀치 투 줌, 편집기 여백을 탭하여 전체 줄 선택, 두 번 탭하여 단어 선택 , 길게 눌러 편집기 컨텍스트 메뉴를 호출합니다. 터치 스크린이있는 개발 컴퓨터가있는 경우 (Windows 10 또는 모바일 장치 용으로 개발하는 경우)이 기능이 편리합니다.

개인적으로 가장 좋아하는 UI 개선 : 더 이상 모든 대문자 메뉴가 없습니다. 좋은 라이딩.

테스트, 디버깅, 진단 및 성능 모니터링

첫 번째 시도에서 항상 완벽한 코드를 작성하는 사람들은 계속 진행할 수 있습니다. 여기에는 볼 것이 없습니다. 나머지 우리는 대우를 받고 있습니다. 이미 꽤 좋았던 Visual Studio 디버깅이 더욱 향상되었습니다.

조건부 중단 점은 오랫동안 사용되었습니다. 이제 중단 점에 도달했을 때 취할 조치를 지정할 수도 있습니다. 여기에는 자동 구현 된 속성에 대한 중단 점과 중단 점 작업, 조사 식 및 직접 실행 창에서 람다 식 사용이 포함됩니다.

두 가지 새로운 도구 인 Live Visual Tree 및 Live Property Explorer를 사용하여 실행중인 Windows Presentation Foundation 또는 Windows Store 앱의 시각적 트리를 검사 할 수 있습니다. 디버깅 중에 사용할 수있는 새로운 진단은 이벤트 목록, 메모리 사용량 도구 및 CPU 사용량 그래프입니다. 한편, 디버거에서 코드를 실행하면 Visual Studio가 자동으로 시간을 정하고 코드에 대한 (예상) 경과 및 CPU 시간을 알려줍니다. 디버깅 후 성능에 대해 작업해야했습니다.

디버깅하지 않을 때 새로운 애플리케이션 타임 라인 도구를 사용하여 Windows Presentation Foundation, Windows Store 8.1 및 범용 Windows 플랫폼 XAML 앱에 대한 시간 경과에 따른 시스템 리소스 소비를 추적 할 수 있습니다. 마찬가지로 네트워크 진단 도구를 사용하면 Windows 스토어 앱 및 Windows 범용 앱에 대한 HTTP 네트워크 작업을 추적 할 수 있습니다. DirectX 앱 (항상 그런 것은 아님)을 개발하는 경우 이제 응용 프로그램이 라이브로 실행되는 동안 프레임 시간, 프레임 속도 및 GPU 사용률 그래프를 볼 수 있습니다. 이러한 표시기는 GPU 또는 CPU가 앱의 성능 병목 일 수 있는지 여부에 대한 핸들을 제공합니다.

스코어 카드 능력 (30 %) 성능 (30 %) 사용 용이성 (20 %) 문서 (10 %) 가치 (10 %) 개발 용이성 (20 %) 전체 점수
Visual Studio 2015 10 9 8 8 9 0 9.0