Visual Studio Code에서 Python 린팅
린팅은 Python 소스 코드의 의미론적 및 스타일 문제를 강조 표시하여 종종 오류로 이어질 수 있는 미묘한 프로그래밍 오류 또는 코딩 관행을 식별하고 수정하는 데 도움이 됩니다. 예를 들어, 린팅은 정의되지 않은 변수 사용, 정의되지 않은 함수 호출, 누락된 괄호, 심지어 내장 유형 또는 함수를 다시 정의하려고 시도하는 것과 같은 더 미묘한 문제를 감지할 수 있습니다. 린팅은 포맷팅과 다르며, 린팅은 코드 실행 방식을 분석하고 오류를 감지하는 반면, 포맷팅은 코드 모양을 재구성하는 데만 사용됩니다.
참고: Python 확장의 언어 서버에서 구문 오류 감지가 기본적으로 활성화됩니다. 언어 서버를 구성하는 방법에 대한 자세한 내용은 언어 서버 설정을 참조하세요. 이 문서는 스타일 검사를 포함하여 추가 코드 감지를 위한 린팅을 활성화하는 방법을 다룹니다.
린터 선택
선택한 린터의 VS Code Marketplace에서 린터 확장 프로그램을 검색하세요. 원하는 경우 여러 린터를 동시에 사용할 수 있습니다.
Microsoft는 Python에 대해 다음 린팅 확장 프로그램을 게시합니다.
커뮤니티에서 제공하는 린팅 확장 프로그램
| 린터 | 확장 프로그램 |
|---|---|
| Ruff | https://marketplace.visualstudio.com/items?itemName=charliermarsh.ruff |
| mypy | https://marketplace.visualstudio.com/items?itemName=matangover.mypy |
참고: 위의 표나 Marketplace에서 선호하는 린터를 찾을 수 없는 경우 확장을 통해 지원을 추가할 수 있습니다. Python 확장 프로그램 템플릿을 사용하여 VS Code에 새로운 Python 도구를 통합할 수 있습니다.
일반 설정
각 린터 확장 프로그램의 README를 참조하여 지원되는 설정에 대한 자세한 내용을 확인할 수 있습니다. 다음 설정은 대부분의 린터 확장 프로그램에서 지원됩니다.
| 설정 | 기본값 | 설명 |
|---|---|---|
| args | [] |
린터에 전달할 인수. 참고: 공식적으로 지원되는 린터는 개별 열린 파일에서 실행됩니다. 해당 시나리오에서 구성이 적용되는지 확인하세요. |
| importStrategy | useBundled |
useBundled로 설정하면 확장 프로그램은 함께 제공되는 도구 버전을 사용합니다. fromEnvironment로 설정하면 먼저 선택한 Python 환경에서 로드하려고 시도하고, 그렇지 않으면 함께 제공된 버전으로 대체됩니다. |
| path | "" |
린팅에 사용될 린터 바이너리의 경로. 참고: 이 옵션을 사용하면 포맷팅 속도가 느려질 수 있습니다. |
| interpreter | [] |
Python 실행 파일의 경로로 설정하면 확장 프로그램은 린팅 서버와 해당 하위 프로세스를 시작하는 데 사용합니다. |
| showNotifications | 끔 |
확장 프로그램에서 알림이 표시되는 시기를 제어합니다. 지원되는 값은 off, always, onError, onWarning입니다. |
린팅 비활성화
린터는 설치된 경우 기본적으로 활성화됩니다. 작업 영역별로 확장을 비활성화하여 비활성화할 수 있습니다.
린팅 실행
Python 파일을 열거나 저장할 때 린팅이 자동으로 실행됩니다.
오류 및 경고는 열린 파일의 문제 패널(⇧⌘M (Windows, Linux Ctrl+Shift+M))에 표시되며 코드 편집기에서도 강조 표시됩니다. 밑줄이 그어진 문제를 마우스로 가져가면 세부 정보가 표시됩니다.

코드 액션
일부 린터는 보고된 문제를 해결하는 데 도움이 되는 코드 액션을 제공할 수 있습니다. 선호하는 린터 확장 프로그램의 기능 기여 섹션을 참조하여 제공하는 코드 액션을 확인하세요.
로깅
린터 로그는 명령 팔레트(⇧⌘P (Windows, Linux Ctrl+Shift+P))에서 드롭다운 메뉴에서 <linter name>을 선택하면 출력 패널(⇧⌘U (Windows Ctrl+Shift+U, Linux Ctrl+K Ctrl+H))에서 사용할 수 있습니다.
명령 팔레트(⇧⌘P (Windows, Linux Ctrl+Shift+P))에서 개발자: 로그 수준 설정 명령을 실행하여 린터 확장 프로그램의 로그 수준을 변경할 수 있습니다. 확장 프로그램 로그 그룹에서 확장을 선택한 다음 원하는 로그 수준을 선택합니다.
심각도
린터는 미리 정의된 심각도로 문제를 보고합니다. 이는 린터의 severity 설정을 사용하여 변경할 수 있습니다. 지원되는 값 및 심각도 수준에 대한 자세한 내용은 각 린터 확장 프로그램의 README를 참조하세요.
린팅 문제 해결
| 문제 | 원인 | 해결책 |
|---|---|---|
| 린터 확장 프로그램이 아무 문제도 보고하지 않습니다. | 작업 영역에 Python이 선택되지 않았습니다. | 사용 중인 린터의 로그를 확인하고 사용 중인 Python 환경의 경로를 확인하세요. Python이 선택되지 않은 경우 명령 팔레트에서 Python: 인터프리터 선택 명령을 실행하고 작업 영역에 대한 기존 인터프리터를 선택하세요. |
| "사용되지 않는 린팅 또는 포맷팅 설정" 알림이 표시됩니다. | 이 알림이 표시되면 VS Code에 python.linting 또는 python.formatting과 같은 설정이 있음을 의미합니다. 이러한 설정은 린팅 및 포맷팅 지원이 도구 확장 프로그램으로 마이그레이션되었기 때문에 더 이상 Python 확장 프로그램에서 지원되지 않습니다. |
명령 팔레트(⇧⌘P (Windows, Linux Ctrl+Shift+P))를 열고 기본 설정: 사용자 설정 열기(JSON) 명령을 실행하여 VS Code에서 이러한 설정이 정의된 위치를 찾으세요. 사용자 설정에 없는 경우 기본 설정: 작업 영역 설정 열기(JSON) 명령을 실행하세요. 그런 다음 사용되지 않는 설정을 삭제하세요. 참고: 원격 개발 확장 프로그램 팩의 확장 프로그램을 사용하는 경우 기본 설정: 원격 설정 열기(JSON) 명령을 실행하여 원격 설정을 확인할 수도 있습니다. |
| 린터 확장 프로그램이 설치되었음에도 린팅이 작동하지 않습니다. | 린팅은 지원되지 않는 Python 버전이 사용되거나 린터가 올바르게 구성되지 않은 경우 등 다양한 이유로 실패할 수 있습니다. 린터 확장 프로그램의 출력 채널을 확인하여 린터가 실패한 이유를 이해하세요(명령 팔레트에서 출력: 출력에 포커스 명령을 실행한 다음 린터 확장 프로그램 채널을 선택). |
다음 단계
- 포맷팅 - Python 코드 포맷팅 방법에 대해 알아보세요.
- 디버깅 - 로컬 및 원격 Python 디버깅 방법을 알아봅니다.
- 테스트 - 테스트 환경을 구성하고 테스트를 검색, 실행 및 디버그합니다.
- 기본 편집 - 강력한 VS Code 편집기에 대해 알아보세요.
- Python 확장 프로그램 템플릿 - 좋아하는 린터를 VS Code에 통합하는 확장 프로그램을 만드세요.