Published on

Pycharm에서 black과 isort 설정하고 저장시 적용 설정하기

Authors

Python 개발에 사용하는 대표 IDE인 Pycharm 은 개발을 매우 편리하게 도와줍니다.

그중에서도 File Watchers 와 Action on save를 설정하면 쉽게 코드를 정리하는 도구인 black 과 isort를 적용할 수 있습니다.

이 과정을 통해 파일을 저장할 때마다 자동으로 코드 형식을 정리할 수 있습니다.

1. File Watchers 란?

File Watchers는 PyCharm과 같은 통합 개발 환경(IDE)에서 제공되는 기능입니다.

파일 시스템의 변경을 감지하고 자동으로 특정 작업(예: 코드 포매팅, import 문 정리, 린트)을 수행합니다.

Python 의 패키지로는 다음 항목들이 위 작업들을 담당합니다.

  • 코드 포매팅 - Black
  • import 문 정리 - isort
  • 린트 - flake8

개발자가 파일을 저장할 때마다 설정된 작업을 자동으로 실행하게 된다면 개발 과정의 반복적인 작업을 크게 줄일 수 있습니다.

이는 곧 프로젝트 전체의 코드 품질과 일관성을 유지하는 데 도움을 줍니다.

이번 글에서는 린트는 다루지 않고, black 과 isort에 대해서 알아보고 pycharm으로 적용하는 시간을 가져보도록 하겠습니다.

그렇다면 이제 설치와 적용방법을 알아보겠습니다.

2. Black과 isort 설치

터미널에서 다음 명령어를 실행하여 Black과 isort를 설치합니다.

pip install black isort

3. Pycharm Black

3.1. Black 이란?

Black 공식문서

Black은 Python 코드 포맷터로, 코드 스타일을 자동으로 일관되게 관리해주는 도구입니다.

Python의 공식 스타일 가이드인 PEP 8을 따르며, 코드의 가독성을 향상시키기 위해 긴 줄을 자동으로 줄바꿈하는 등의 기능을 제공합니다.

Black은 "하나의 방식으로만" 코드를 형식화하는 원칙을 가지고 있어, 코드 리뷰 시간을 절약하고 코드 스타일에 대한 불필요한 논쟁을 줄일 수 있습니다.

PyCharm, VSCode 등 대부분의 주요 IDE와 편집기에 쉽게 통합할 수 있습니다.

유의해야 할 점은 Python 3.8 이상에서 사용할 수 있다는 것 입니다.

3.2. Pycharm Black

  1. PyCharm 열기PyCharm을 열고 프로젝트를 선택합니다.
  2. File Watchers 설정 접근
    • File > Settings (Windows) 또는 PyCharm > Preferences (macOS)로 이동합니다.
    • Tools > File Watchers를 선택합니다.
  3. 새 File Watcher 추가
black_isort
  • 오른쪽 상단의 + 아이콘을 클릭합니다. black_isort
  • Custom 템플릿을 선택합니다.

  1. File Watcher 구성:

    black_isort
    • Name: Black으로 설정합니다.
    • File type: Python을 선택합니다.
    • Scope: Current File을 선택하여 현재 열린 파일에만 적용하거나, 다른 옵션을 선택하여 범위를 조절합니다.
    • Program: Black의 실행 파일 경로를 입력합니다.
      • $PyInterpreterDirectory$/black을 입력합니다.
      • Windows
        • C:\Python39\Scripts\black.exe
      • (macOS/Linux)
        • /usr/local/bin/black
    • Arguments: $FilePath$을 입력합니다.
    • Output paths to refresh: $FilePath$을 입력합니다.
  2. 적용 및 확인: OK를 클릭하여 설정을 저장합니다.

4. Pycharm Isort

4.1. Isort 란?

Isort 공식문서

isort는 Python 코드에서 import 문을 자동으로 정렬하고 섹션별로 분류합니다.

Python 라이브러리 및 다양한 에디터용 플러그인을 제공하여 import 문을 알파벳 순서대로 정렬하고, 필요에 따라 다양한 섹션으로 구분합니다.  다중 라인 출력 모드, 사용자 정의 섹션 및 정렬, 그리고 코드 검증 옵션을 포함한 다양한 기능을 제공합니다.

Git 훅 및 Setuptools와의 통합을 지원하여 개발 프로세스에 쉽게 통합할 수 있습니다.

isort는 코드의 가독성과 일관성을 높이는 데 유용한 도구입니다.

4.2. Pycharm Isort 설정하기

black과 설정방법이 동일합니다.

  1. PyCharm 열기PyCharm을 열고 프로젝트를 선택합니다.

  2. File Watchers 설정 접근

    • File > Settings (Windows) 또는 PyCharm > Preferences (macOS)로 이동합니다.
    • Tools > File Watchers를 선택합니다.
  3. 새 File Watcher 추가

    • 오른쪽 상단의 + 아이콘을 클릭합니다.
    • Custom 템플릿을 선택합니다.
  4. File Watcher 구성

    black_isort
    • Name: Isort으로 설정합니다.
    • File type: Python을 선택합니다.
    • Scope: Current File을 선택하여 현재 열린 파일에만 적용하거나, 다른 옵션을 선택하여 범위를 조절합니다.
    • Program: Black의 실행 파일 경로를 입력합니다.
      • $PyInterpreterDirectory$/isort을 입력합니다.
      • Windows
        • C:\Python39\Scripts\isort.exe
      • (macOS/Linux)
        • /usr/local/bin/isort
    • Arguments: $FilePath$을 입력합니다.
    • Output paths to refresh: $FilePath$을 입력합니다.
  5. 적용 및 확인: OK를 클릭하여 설정을 저장합니다.

5. Pycharm Action On Save

black 과 isort가 아래처럼 생겼고, Enabled 에서 체크해준뒤 사용 할 수 있습니다.

black_isort 저장 액션이 일어남과 동시에 자동으로 코드를 정리하게 되면 매우 편리합니다.

그 기능이 action on save에서 아래처럼 설정할 수 있습니다.

black_isort 두 도구 모두 개발 프로세스를 간소화하고, 코드 리뷰에 더 집중할 수 있게 해줍니다.

자동화된 코드 스타일 관리는 개발자가 더 중요한 기능 개발과 문제 해결에 시간을 할애할 수 있도록 도와줍니다.

결국, Black과 isort는 단순히 코드를 '예쁘게' 만드는 것을 넘어, 개발 팀의 효율성과 코드 품질을 모두 향상시키는 필수 도구입니다.

PyCharm 환경에서 이러한 도구들을 적극적으로 활용하여, 더 깔끔하고 효율적인 코드 작성을 경험해 보시기 바랍니다.

hongreat 블로그의 글을 봐주셔서 감사합니다! 하단의 버튼을 누르시면 댓글을 달거나 보실 수 있습니다.

Buy Me A Coffee