파이썬 개발을 위한 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로 파이썬 코드 성능 분석하기
코샵
코샵
나의 코딩 일기장
    반응형
  • 코샵
    끄적끄적 코딩 공방
    코샵
    • 분류 전체보기 (583) N
      • 상품 추천 (92) N
      • MongoDB (4)
      • 하드웨어 (9)
      • 일기장 (4)
      • Unity (138)
        • Tip (41)
        • Project (1)
        • Design Pattern (8)
        • Firebase (6)
        • Asset (2)
      • 파이썬 (128)
        • Basic (41)
        • OpenCV (8)
        • Pandas (15)
        • PyQT (3)
        • SBC(Single Board Computer) (1)
        • 크롤링 (14)
        • Fast API (29)
        • Package (6)
      • Linux (4)
      • C# (97)
        • Algorithm (11)
        • Window (7)
      • TypeScript (50)
        • 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)
  • 인기 글

  • 태그

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

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

티스토리툴바