오픈소스 개발도구 - vscode 설치 (WSL 설치 포함)
말이 필요없는 오픈소스 개발도구죠. 저도 프로젝트 할때마다, 참 잘 사용하고 있습니다.
이 포스트에서는 vscode 설치와 구성 + 제가 사용하는 extension 몇개도 정리합니다.
vscode 소개
- 윈도우, Mac, 리눅스 등에서 사용 가능한 오픈소스 개발 도구
- 지원언어 : JavaScript, TypeScript, Node.js, C++, C#, Java, Python, PHP, Go 등을 지원
- .NET / Unity 런타임 지원
특히, 오픈소스 개발에 필요한 모든것을 포함하고 있어서 프로젝트 진행시 필수 도구죠.
electron으로 개발되어 태생부터 cross-platform 지원입니다.
Windows 설치
MSI 설치로 구성됩니다. 다운로드 - 설치 실행 - 설치 완료, vscode 실행
- 이 링크에서 vscode code installer를 다운로드 후 실행
- 기본 설치 경로 "C:\users\{username}\AppData\Local\Programs\Microsoft VS Code" 에 설치됨.
- 자동 업데이트 지원
- WSL 구성은 아래 섹션 참조
Mac 또는 Linux에서 설치
- 이 링크에서 Mac - macOS 설치를 참조
고객사에서 오픈소스 하시는 분들은 이렇게 맥북 환경에서 vscode로 개발하죠.
vscode와 WSL 설정
- 이 링크에서 WSL + vscode 내용 참조 가능
- 이 링크에서 vscode for WSL extension 설정
- WSL로 접속해 프로젝트 폴더에서 "code ." 하면 끝
code .
vscode에 python 설정
- 기본적으로 python extension 설정하고 개발
- conda 환경이 구성되어 있으면, 자동으로 인식
- vscode에서 python environment 사용 방법
- Jupyter notebook 지원
- vscode UI로도 Jypyter notebook이 가능하지만, 개인적으로는 주피터 쓸때 web환경을 주로 이용
- Machine Learning - Data Science 개발 지원
- 문서는 약간 실제 머신러닝 개발과 거리가 있지만, 노트북 실행 등에 초점을 맞추고 있음. 추후 다시 소개 예정
- Lint 및 code quality 지원
- PEP8 지원 lint가 기본 extension에서 지원. 불필요할 경우 설정을 통해 끄기 가능
원격 리눅스 서버 개발 - SSH 접속
- SSH로 접속 가능한 원격 리눅스 서버를 마치 로컬처럼 개발 가능
- Debian 8+, Ubuntu 16.04+ 지원
- 이 링크에서 SSH 를 이용한 vscode 원격 개발 내용 참조
vscode devcontainer - 데브컨테이너 개발 환경
생소한 분들도 계실겁니다. 최근 프로젝트 진행하면서 여러번 진행할 기회가 생겼습니다.
아래와 같은 상황에서 유용합니다.
- 프로젝트간 팀원의 개발환경을 일원화
- 처음 개발환경을 구성할 경우 많은 설정을 일괄적으로 구성
- 프로젝트별 docker로 분리된 개발 환경 구성
- 설정을 구성하고 프로젝트 repo에 올려두고 재사용 가능
- github vscode-dev-containers 리포지토리에서 여러 example과 추가적인 내용 제공
저의 경우 프로젝트 진행 중, 거의 대부분의 시간을 WSL + vscode로 개발합니다.
훌륭한 도구에, 완벽한 리눅스 개발환경, 수많은 extension까지! - 아마도 앞으로도 많은 시간 계속하게 될것 같아요.
SQLER 분들도 많은 도움 되시길 바랍니다.
참고링크
- 클라우드 개발자 팁과 강좌 게시판 - 클라우드 오픈소스 개발환경 - WSL (sqler.com)
- Documentation for Visual Studio Code
- Running Visual Studio Code on Windows
- Get Started Tutorial for Python in Visual Studio Code
- Visual Studio Code Remote Development
- Developing on Remote Machines using SSH and Visual Studio Code
- Linting Python in Visual Studio Code