Black와 Isort를 위한 VSCode settings.json

2023. 4. 2. 13:00·Python

Python 개발을 할 때, 코드를 가독성 있게 정리하는 것은 매우 중요합니다. 이를 위해 Black와 Isort를 함께 사용하여 코드를 자동으로 정리하는 방법을 알아보겠습니다.

 

Black와 Isort를 함께 사용하기 위한 가이드가 있지만 Black을 설정하니 Isort가 설정되지 않고 Isort를 설정하니 Black이 설정되지 않는 문제가 있어 기록을 위해 포스팅합니다.

1. Black와 Isort 패키지 설치

터미널을 열고 아래와 같이 명령어를 입력하여 Black와 Isort 패키지를 설치합니다.

pip install black isort

2. settings.json 파일 수정

VS Code에서 Command + Shift + P를 입력한 뒤 검색 창에 "Settings.json"를 입력하고, "Open User Settings"을 선택합니다.

아래와 같이 settings.json 파일을 수정합니다.

{
    "editor.formatOnSave": true,
    "[python]": {
        "editor.formatOnSave": true,
        "editor.codeActionsOnSave": {
            "source.organizeImports": true
        },
        "editor.formatOnType": true
    },
    "python.formatting.provider": "black",
    "python.formatting.blackPath": "black",
    "python.formatting.blackArgs": [
        "--line-length=88"
    ],
    "isort.args": [
        "--profile",
        "black"
    ],
}
  • 위 설정에서 "editor.formatOnSave": true는 파일을 저장할 때마다 코드를 자동으로 정리하도록 설정합니다.
  • "[python]" 설정은 Python 파일에서만 적용되도록 하는 설정입니다.
  • "python.formatting.provider": "black"는 Black을 사용하도록 설정하고,
  • "python.formatting.blackPath": "black"는 Black 실행 파일의 경로를 지정합니다.
  • "python.formatting.blackArgs"는 Black 실행 시 추가적으로 넣을 옵션을 설정합니다.
  • "isort-args"는 Isort 실행 시 추가적으로 넣을 옵션을 설정합니다.

이제 저장할 때마다 아래와 같이 Black 포맷팅 뿐만 아니라 Isort가 Import 순서를 정렬해줍니다.

데모
'Python' 카테고리의 다른 글
  • 파이썬의 Linter이자 Formatter, Ruff 사용해보기
  • 파이썬에서 Redis 사용하기
  • 행정동 지리정보 불러와서 시각화하기 (geopandas, keplergl)
  • A 작업은 실패하더라도 B는 성공했으면 좋겠어
ssuwani
ssuwani
  • ssuwani
    Oops!!
    ssuwani
  • 전체
    오늘
    어제
    • 분류 전체보기 (69)
      • MLOps (19)
      • 데이터 엔지니어링 (4)
      • Kubernetes (5)
      • Kafka (10)
      • 📚책 (3)
      • 라즈베리파이 (1)
      • ETC (8)
      • Python (6)
      • 언어모델 (5)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    auto tagging
    Python
    BentoML
    FastAPI
    asyncronous
    datadrift
    RDD
    Github Actions
    fluentbit
    Prometheus
    Schema Registry
    Confluent Cloud
    LangChain
    MLOps
    Airflow
    Spark
    gcp
    Kubernetes
    mlflow
    consumer
    Docker
    topic
    LLM
    태그2
    Kubeflow
    Kafka
    redis
    evidently ai
    태그1
    producer
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
ssuwani
Black와 Isort를 위한 VSCode settings.json
상단으로

티스토리툴바