.. _ide_vscode: VSCode ========== VSCode 에서는 다음의 확장은 기본적으로 설치를 권장합니다. * Python * Pylance * ruff * pyright ( 타입을 필요로 하는 경우 ) Pylance ------- VSCode의 Python Extension은 Pylance라는 Language Server를 사용합니다. Pylance는 자동완성, 코드 분석 등 다양한 기능을 제공하지만, 기본 설정으로는 자동완성 기능이 많이 부족합니다. Pylance의 분석 범위를 프로젝트 전체로 확장하려면 ``python.analysis.languageServerMode`` 값을 ``full`` 로 설정합니다. 이렇게 하면 모든 파일에 대한 전체 분석을 활성화하여, 정확도를 높일 수 있습니다. .. code-block:: json // .vscode/settings.json { "python.analysis.languageServerMode": "full" } Ruff ---- `Ruff `_ 는 매우 빠른 Python Linter 및 Formatter입니다. Ruff를 사용하면 ``flake8``, ``isort``, ``black`` 등 다양한 도구를 대체할 수 있습니다. VSCode에 `Ruff Extension `_ 을 설치하면 저장 시 자동으로 코드 검사 및 포맷팅을 수행하도록 설정할 수 있습니다. .. code-block:: json // .vscode/settings.json { "[python]": { "editor.defaultFormatter": "charliermarsh.ruff", "editor.formatOnSave": true, "editor.codeActionsOnSave": { "source.fixAll": "explicit", "source.organizeImports": "explicit" } } } Pyright ------- `Pyright `_ 는 Pylance의 기반이 되는 강력한 정적 타입 검사기입니다. Pylance가 제공하는 기능 외에 추가적인 고급 설정이나 CLI 환경에서의 빠른 타입 검사를 원할 때 직접 사용할 수 있습니다. VSCode에서 Pylance 대신 Pyright를 직접 사용하려면, 먼저 Python 확장 프로그램의 Language Server 설정을 "Default"에서 "Pylance"가 아닌 다른 것으로 변경하거나, Pylance 확장 프로그램을 비활성화해야 합니다. 그 후, `Pyright VSCode 확장 프로그램 `_ 을 설치합니다. 일반적으로는 Pylance를 사용하는 것이 가장 편리하지만, 특정 프로젝트에서 Pyright의 세밀한 제어가 필요하거나, Pylance의 동작 방식에 문제가 있을 때 대안으로 고려할 수 있습니다.