Python/Utils

[Python Utils] 코드 컨벤션 템플릿 셋팅 (pre-commit, black, pycharm)

yubi5050 2023. 5. 29. 01:53

협업 간 코드 스타일/컨벤션을 맞추기 위해 다음과 같은 간단한 Code Formatter를 설정하였다.

 

목표 기능

1. git에 코드 push시 자동으로 formatting 체크 및 변경

2. 평소 IDE에서 코드 작성 후 저장시 자동으로 formatting 변경

 

사용 Tool

- pre-commit-hook (pip install pre-commit-hooks)

Black (pip install black)

- Pycharm (IDE)

 

1. pre-commit-hook.yaml 파일

- black을 hook으로 등록 (추가적으로 .flake8, isort 등 등록 가능)

# See https://pre-commit.com for more information
# See https://pre-commit.com/hooks.html for more hooks
repos:
-   repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v4.4.0
    hooks:
    -   id: trailing-whitespace
    -   id: end-of-file-fixer
    -   id: check-yaml
    -   id: check-added-large-files

    # Code Formatter
-   repo: https://github.com/psf/black
    rev: 23.1.0
    hooks:
    -   id: black

 

2. IDE Setting

- Pycharm - Settings - 도구 - 파일감시기 - 추가

- 설치한 black 라이브러리의 bin/ 을 프로그램 path에 등록