본문으로 바로가기

Visual Studio Code - Python 설정

category 프로그래밍 2019.01.08 15:23

올해 목표 중 하나인 Python 내공을 키우기 위해 Python을 보기 시작하였다.

Python 개발 IDE tool로 Visual Studio Code(vscode)를 많이 사용한다고 하여, vscode 및 python 관련 플러그인 설치와 설정한 것을 정리하였다.


MS는 Visual Studio Code의 확장 플러그인으로 Python runtime 환경을 제공하고 있다. 요즘 MS 행보를 보면 콧대가 높았던 정말 예전과 다르다는 것을 알 수 있다. 이렇게 MS가 리눅스와 오픈소스 진형에게 이렇게나 관대한 대우를 해주었나 싶을 정도로 요즘 행보는 대단하다는 것을 느낄 수 있다.


파이썬은 사용하기 위해서는 python interpreter를 설치해야 하는데 우분투에서는 아래의 명령어로 쉽게 설치가 가능하다. 우분투는 아래 명령어로 Python 2.7 버전을 설치한다.

sudo apt install python

만약 파이썬 최신 버전(3.x)을 설치해야 한다면 python 대신 python3을 입력하면 된다. 파이썬의 가장 큰 문제는 버전의 파편화라고 하는데, 상위 버전에서 하위 버전이 호환되지 않아 이런 현상이 발생하는 것 같다.

Python3는 이전 버전의 구조적(?) 문제를 개선하려고 하위 호환을 포기하였다는 말이 있는데, 자세한 내용을 찾아봐야 할 것 같다.


vscode market을 통해 python plugin을 쉽게 설치가 가능하다.

위와 같이 파이썬 플러그인을 설치하고 모든 언어의 시작인 Hello World를 작성하였는데, 아래 이미지와 같은 생뚱 맞은 경고 메시지가 출력되었다.

파이썬 언어의 특징 중 하나는 바로 코딩 스타일을 강제한다는 것이다. 코딩 스타일에 따라 여러 이름의 정의하는데 개인적으로 Allman 코딩 형식을 선호한다. 파이썬은 컴파일러 단계에서 이렇게 코딩 형식을 한가지 방식으로 강제하니 코딩 스타일에 따른 가독성 문제는 발생하지 않을 것 같다.


pylint는 파이썬 코드 스타일과 패턴을 검사하는 도구이며, vscode에 기본으로 통합되어 있다. 자세한 사항은 아래 참고하면 될 것이다. vscode에서 경고 메시지를 제거하기 위해 우분투에 pylint를 설치하도록 한다.

sudo apt install pylint

파이썬 코딩 스타일을 검사하는 방식으로 pylint와 pep8 많이 쓴다고 한다. 협업 없이 혼자 개발한다면 코딩 스타일은 전혀 문제가 되지 않지만, 소스코드 개발 내부 규정 없이 여러 사람들이 하나의 프로젝트를 협업해서 개발한다면 코딩 스타일 차이로 인해 코드 작성이 중구난방이 확률이 매우 높다. 파이썬은 이것을 방지하기 위해 코딩 규칙을 처리하는 것을 추가한 것 같다.


하기의 내용은 Visual Studio Code 설정 내용을 정리한 것이다. vscode는 아주 강력한 preference 기능을 제공하고 있어, 매우 세세하게 설정이 가능하지만 너무 많은 설정 사항이 있어 내게 필요한 옵션을 정리한 것이다. 설정 파일은 ~/.config/Code/User/settings.json 이다.

{
	"window.titleBarStyle": "native",
	"workbench.iconTheme": "vscode-icons",

	"editor.minimap.enabled": false,
	"editor.fontFamily": "'D2Coding', 'DejaVu Sans Mono Book'",
	"editor.fontLigatures": true,
	"editor.fontSize": 12,
	"editor.tabSize": 4,
	"editor.insertSpaces": false,
	"editor.detectIndentation": false,
	"editor.autoClosingQuotes": "never",
	"editor.autoClosingBrackets": "never",

	"editor.suggestOnTriggerCharacters": false,
	"editor.quickSuggestions": {
		"other": false,
		"comments": false,
		"strings": false
	},

	"files.exclude": {
		"**/.git": true,
		"**/.svn": true,
		"**/.hg": true,
		"**/CVS": true,
		"**/.DS_Store": true,
		"**/.vscode": true,
		"**/_proj": true,
		"**/output": true
	},

	"files.associations": {
		// makefile
		"Makefile.cmd": "makefile",
		"Makefile.am": "makefile",
		"Makefile.in": "makefile",
		"*.mak": "makefile"		
	}
}

파이썬을 코딩하다 보면, 내가 주로 사용하는 코딩 스타일이 파이썬 문법 도구에서 에러라고 발생하는 경우가 있어 이것을 무시하도록 설정하려면 ~/.config/Code/User/settings.json에서 하기의 내용을 추가하면 된다.

...
	"python.linting.pylintArgs": [
		"--disable=C0111,C0103,C0301,C0303,W0312"
	],
...

Visual Stdio Code에서 Python 개발할 때, 추가로 필요한 Plugin 또는 설정이 필요할 경우 계속 이 글에 추가할 예정이다.


'프로그래밍' 카테고리의 다른 글

Python firmware header changer  (0) 2019.03.14
Python OTA TS Generator  (0) 2019.03.08
Python AES CBC decrypt  (0) 2019.02.26
Python List Comprehension  (0) 2019.01.17
Python String to Hex 변환  (0) 2019.01.13
Visual Studio Code - Python 설정  (0) 2019.01.08