Visual Studio Code, Microsoft의 Open Source

Products & Services 2016.04.25 18:24 posted by TechNote.kr


 한 열흘쯤 지나긴했지만 Visual Studio Code 1.0을 Microsoft 에서 Open Source로 공개했다는 뉴스를 보게 되었다. 



 이 뉴스를 보고서 굉장히 혼란스러웠다. Visual Studio 라 함은 Windows application을 개발할 때 쓰곤 했던 IDE가 아니던가. 아무리 Microsoft가 근래들어 Open Source에 관대해졌다고 해도, Windows Application 제작의 근간이 되는 Visual Studio의 code를 공개했다는 것에 다소 놀랬다. 

 그런데 좀 이상했던게 내가 대학교 다닐때 쓰던 Visual Studio 만 해도 버전이 당시 6.0이었는데, 2016년이 된 이 시점에서 1.0 이라는게 다소 이해 되지 않았다. 


 알고 보니 이름만 Visual Studio인 기존 Visual Studio와는 전혀 다른 프로그램이라는 것을 알았다. 


 좀 더 명확하게 하기 위해 기존 Visual Studio 와 Visual Studio Code를 비교해 보고자 한다. 기존 Visual Studio의 경우 오랜 시간 동안 사용되어 왔던 프로그램이기에 구체적으로 언급하지 않고, Visual Studio Code 위주로 알아보고자 한다.


기존 Visual Studio 계열



 기존 Visual Studio 계열은 이미 흔히 알려져 있는 Visual Studio 로 위와 같이 크게 3가지 형태로 배포되고 있다. (Closed Source) 세 제품 간에 차이점은 기능의 유무 정도이고, Visual Studio Community 의 경우 무료로 배포되고 있다는 점이 특이할 사항이다. 


반면 Visual Studio Code 는 다음과 같다.



Visual Studio Code


우선 기존 대비 차이점부터 나열해 보자면 다음과 같다. 


Multi-Platform : 

 기존 Visual Studio 의 경우 Windows 에서만 동작했었으나 Visual Studio Code의 경우 Electron 이라는 Framework 위에서 동작하도록 되어 있어, Windows 뿐만 아니라 Linux, OS X에서도 동작한다. Electron 위에서 동작하는 대표적인 프로그램으로는 atom editor가 있다. atom 이 electron 위에서 동작하는지라 Visual Studio Code가 atom의 파생이 아니냐는 이야기가 종종 있지만 wikipedia.org에 따르면 전혀 다른 프로그램이라고 한다. 


[출처 : https://atom.io/]


Supported Feature :

다양한 기능을 지원하는 기존 Visual Studio 대비 기능이 많이 축소되었다. embedded Git control 지원을 시작으로 debugging, , syntax highlighting, intelligent code completion, snippets, and code refactoring을 지원하는데 embedded Git control를 제외하고는 언어 별로 지원 범위가 다소 차이가 있다. 


Language-dependent features [출처 : code.visualstudio.com]

Syntax coloring, bracket matching : 

Batch, Clojure, Coffee Script, Dockerfile, F#, Go, Jade, Java, HandleBars, Ini, Lua, Makefile, Objective-C, Perl, PowerShell, Python, R, Razor, Ruby, Rust, SQL, Visual Basic, XML

+ Snippets :

Groovy, Markdown, Swift

+ IntelliSense, linting, outline :

C++, CSS, HTML, JavaScript, JSON, Less, PHP, Sass

+ Refactoring, find all references :

TypeScript, C# 


다양한 extension :

 Open Source의 장점인 다양한 확장성을 가지고 있다. Microsoft 에서 관리를 하다 보니 별도의 market place에 이들의 extension을 모아 찾기 쉽게 해 놓았다.[https://marketplace.visualstudio.com/vscode] 총 6개의 카테고리로 나누어져 있다. (Debuggers, Languages, Linters, Snippets, Themes, Other )




Visual Studio Code Screenshot



[출처 : wikipedia.org]



결론


 좀 더 명확한 비교를 위해 Visual Studio 와 Visual Studio Code 의 wikipedia.org 의 첫문장을 보면 다음과 같다. 


Microsoft Visual Studio is an integrated development environment (IDE) from Microsoft.


Visual Studio Code is an open source source code editor developed by Microsoft for Windows, Linux and OS X.


 둘의 차이점을 보다 명확히 보여주는 정의가 아닐까 한다. Visual Studio는 통합 개발 툴이고, Visual Studio Code는 여러 platform에서 돌아가는 Open Source인 Code Editor이다. 


 현재 Visual Studio Code는 extension을 기반으로 Open Source답게 성장하고 있는 것으로 보인다. 개개인의 개발자들이 필요한 plugin을 만들고, market place에 올리고. 지금은 비록 기존 Visual Studio에 비해 작은 프로그램일지 모르겠지만 많은 사용자들의 노력이 모여서 Visual Studio라고 하면 Visual Studio Code를 떠올리는 날이 올지도 모르겠다. 



저작자 표시 비영리 변경 금지
신고