Patrick's 데이터 세상

VSCode Formatter 본문

Deep Learning/NLP 개발

VSCode Formatter

patrick610 2023. 2. 4. 18:06
반응형
SMALL

 

 

 

 

개발할 때 작업자가 직접 formatting 하는 것은 한계가 있기 때문에 vscode에서 사용하는 자동 formatting을 맞춰주는 것이 정신건강(?)에 이롭다.

vscode에서 1차로 자동 포매팅을 하고 git pre-commit에서 2차로 확인하도록 세팅해 두었다.

 

  1. Black
    • 엄격한 코드 포매터 (커스텀할 여지가 많지 않음)
    • 한 줄이 88자가 넘어가지 않도록 강제 개행 시켜주는 기능이 대표적입니다
  2. isort
    • Black이 잡아주지 못하는, import 순서 정렬해 주는 기능을 담당합니다
    • 파이썬 built-in 모듈인지, first party 모듈인지, third party 모듈인지도 구분해 줍니다.
  3. Flake8
    • 앞선 두 코드 품질 관리 도구가 형식적인 측면을 잡아주는 반면, 개발자의 실수가 유발될 수 있는 의미적인 스타일도 교정해 줍니다.
    • 주로 import 하고 사용하지 않는 모듈의 존재나 모든 오류를 잡으려 하는 try 문 등을 지적합니다.

 

설치

pip3 install black==20.8b1 flake8==3.8.3 isort==5.5.3

⭐️ 버전이 맞지 않으면 충돌 발생

 

 

 

자동으로 교정하기 (on vscode)

1. python extension에서 black, flake8, isort를 설치한다.

2. .vscode/settings/json

{
    "editor.formatOnSave": true,
    "python.linting.pylintEnabled": false,
    "python.linting.flake8Enabled": true,
    "python.formatting.provider": "black",
    "[python]": {
        "editor.codeActionsOnSave": {
            "source.organizeImports": false
        }
    },
    "python.linting.enabled": true
}

3. settings.json 이 어디 있는지 모르겠다면 f1 → settings 입력 → Preferences: Open Settings (JSON)

 

⭐️ 맥 : option + shift + f 눌러야 포매팅 성공

 

 

 

반응형
LIST
Comments