파이썬 개발을 위한 VSCode 셋팅 가이드

2025. 1. 3. 11:01·파이썬
반응형

소개

VSCode에서 Python 개발을 할 때, 적절한 settings.json 설정은 개발 경험을 크게 향상시킬 수 있습니다. 오늘은 각 설정의 의미와 효과를 자세히 알아보겠습니다.

Type Hint 관련 설정

인레이 힌트 설정

{
    "python.analysis.inlayHints.variableTypes": true,
    "python.analysis.inlayHints.functionReturnTypes": true
}

이 설정들은 코드 에디터에 타입 정보를 직접 표시해줍니다.

 

예시:

# 설정 전
name = "John"
def get_age():
    return 25

# 설정 후
name: str = "John"
def get_age() -> int:
    return 25

자동 저장 및 포매팅 설정

{
    "files.trimTrailingWhitespace": true,
    "files.insertFinalNewline": true
}
설정 설명 효과
trimTrailingWhitespace 줄 끝의 불필요한 공백 제거 코드 정리
insertFinalNewline 파일 끝에 빈 줄 추가 Git 사용시 유용

타입 검사 및 진단 설정

{
    "python.analysis.diagnosticMode": "workspace",
    "python.analysis.diagnosticSeverityOverrides": {
        "reportGeneralTypeIssues": "warning",
        "reportMissingTypeStubs": "warning",
        "reportMissingTypeArgument": "none",
        "reportUnknownArgumentType": "none"
    }
}

diagnosticMode 설정

  • workspace: 전체 작업공간 분석
  • openFilesOnly: 열린 파일만 분석

diagnosticSeverityOverrides 상세 설명

1.reportGeneralTypeIssues

# 경고 예시
def greet(name: str) -> str:
    return name + 123  # 타입 불일치 경고

 

2. reportMissingTypeStubs

# 경고 예시
import some_third_party_library  # 타입 스텁 없음 경고

 

3. reportMissingTypeArgument

# 경고 비활성화 예시
from typing import List
numbers = List  # 타입 인자 누락 경고 없음

실전 설정 예시

기본 개발 설정

저자는 Black Formatter를 사용하므로, 해당 포메터가 설치되지 않았다면 확장프로그램 Black Formatter를 설치해주세요

{
    // Python 파일에 대한 기본 포매터 설정
    "[python]": {
        "editor.defaultFormatter": "ms-python.black-formatter",  // Black을 기본 포매터로 사용
        "editor.formatOnSave": true,  // 저장 시 자동 포매팅
        "editor.codeActionsOnSave": {
            "source.organizeImports": "explicit"  // 저장 시 import 정리
        }
    },

    // Pylance를 언어 서버로 사용
    "python.languageServer": "Pylance",

    // 자동 import 완성 활성화
    "python.analysis.autoImportCompletions": true,

    // Python 경로 자동 검색
    "python.analysis.autoSearchPaths": true,

    // 함수 호출 시 괄호 자동 완성
    "python.analysis.completeFunctionParens": true,

    // 전체 작업 공간 분석
    "python.analysis.diagnosticMode": "workspace",

    // import 문 형식 (relative/absolute)
    "python.analysis.importFormat": "relative"
}

고급 개발 설정

{
    // 타입 체킹 모드 설정
    "python.analysis.typeCheckingMode": "basic",  // off, basic, strict 중 선택

    // 라이브러리 코드를 타입 추론에 사용
    "python.analysis.useLibraryCodeForTypes": true,
    
    // 진단 심각도 설정
    "python.analysis.diagnosticSeverityOverrides": {
        // 정의되지 않은 변수 사용 시 에러로 표시
        "reportUnboundVariable": "error",

        // 암시적 문자열 연결 경고
        "reportImplicitStringConcatenation": "warning",

        // import 누락 에러
        "reportMissingImports": "error",

        // 모듈 소스 누락 경고
        "reportMissingModuleSource": "warning",

        // 타입 스텁 누락 경고
        "reportMissingTypeStubs": "warning",

        // 속성 타입 불일치 경고
        "reportPropertyTypeMismatch": "warning",

        // 사용하지 않는 import 정보
        "reportUnusedImport": "information",

        // 라이브러리에서 와일드카드 import 사용 시 경고
        "reportWildcardImportFromLibrary": "warning"
    }
    
    // 테스트 설정
    "python.testing.pytestEnabled": true,
    "python.testing.unittestEnabled": false,

    // 디버깅 설정
    "python.debugger.debugJustMyCode": false,

    // 환경 설정
    "python.defaultInterpreterPath": "${workspaceFolder}/.venv/bin/python",

    // 임포트 정렬
    "python.sortImports.args": [
        "--profile",
        "black"
    ]
}

프로젝트별 설정

프로젝트 루트의 .vscode/settings.json에 설정을 추가하면 프로젝트별로 다른 설정을 사용할 수 있습니다.

{
    // 프로젝트 특정 설정
    "python.analysis.extraPaths": [
        "./src",
        "./libs"
    ],
    "python.envFile": "${workspaceFolder}/.env",
    "python.testing.pytestArgs": [
        "tests"
    ]
}

마치며

VSCode의 settings.json 설정은 개발 생산성과 코드 품질을 크게 향상시킬 수 있습니다. 자신의 개발 스타일과 프로젝트 요구사항에 맞게 적절히 조정하여 사용하시기 바랍니다.

저작자표시 비영리 변경금지 (새창열림)

'파이썬' 카테고리의 다른 글

Pydantic Field : 데이터 유효성 검사  (0) 2025.02.06
[Web API] URL 파라미터 데이터 전송  (1) 2025.01.23
데이터 클래스 비교: dataclass vs Pydantic BaseModel  (0) 2024.12.08
[Python 프로파일링] py-spy와 yappi로 파이썬 코드 성능 분석하기  (2) 2024.12.02
SQLAlchemy: 데이터베이스 툴킷  (5) 2024.11.13
'파이썬' 카테고리의 다른 글
  • Pydantic Field : 데이터 유효성 검사
  • [Web API] URL 파라미터 데이터 전송
  • 데이터 클래스 비교: dataclass vs Pydantic BaseModel
  • [Python 프로파일링] py-spy와 yappi로 파이썬 코드 성능 분석하기
코샵
코샵
나의 코딩 일기장
    반응형
  • 코샵
    끄적끄적 코딩 공방
    코샵
    • 분류 전체보기 (725)
      • 스마트팜 (0)
      • 상품 추천 (223)
      • MongoDB (4)
      • 하드웨어 (17)
      • 일기장 (4)
      • 파이썬 (130)
        • Basic (41)
        • OpenCV (8)
        • Pandas (15)
        • PyQT (3)
        • SBC(Single Board Computer) (1)
        • 크롤링 (14)
        • Fast API (29)
        • Package (6)
      • Unity (138)
        • Tip (41)
        • Project (1)
        • Design Pattern (8)
        • Firebase (6)
        • Asset (2)
      • Linux (4)
      • C# (97)
        • Algorithm (11)
        • Window (7)
      • TypeScript (51)
        • CSS (10)
      • Git (11)
      • SQL (5)
      • Flutter (10)
        • Tip (1)
      • System (1)
      • BaekJoon (6)
      • Portfolio (2)
      • MacOS (1)
      • 유틸리티 (1)
      • 서비스 (6)
      • 자동화 (3)
      • Hobby (10)
        • 물생활 (10)
        • 식집사 (0)
  • 인기 글

  • 태그

    믈레코비타멸균우유
    긴유통기한우유
    C#
    스크립트 실행
    programming101
    rtsp
    list
    셀레니움
    카페24리뷰이관
    codingcommunity
    파이썬
    appdevelopment
    리뷰관리
    라떼우유
    ipcamera
    unity
    카페24리뷰
    스크립트 실행 순서
    쇼핑몰리뷰
    codingtips
    devlife
    cv2
    programmerlife
    learntocode
    스마트스토어리뷰
    리스트
    리뷰이관
    Python
    유니티
    상품 리뷰 크롤링
  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
코샵
파이썬 개발을 위한 VSCode 셋팅 가이드
상단으로

티스토리툴바