A. File Wathcer에 등록하면 된다.
출처: Black documentation: PyCharm/IntelliJ IDEA As file watcher
Black 공식 문서에서는 black 적용 방법으로 As local server, As external tool, As file watcher 3가지 방법을 제시하고 있다. 이 중에서 File watcher가 자동 적용되어서 편하다.
black 설치
MacOS 기준이다. 윈도우도 큰 차이는 없으니 위 공식 문서를 참고하자.
$ pip install black
$ which black
black을 설치하고 which로 black 설치 위치를 확인할 수 있다.
내 경우는 파이썬 가상환경을 따로 만들어서 설치했기 때문에 아래와 같다.
/Users/taptorestart/workspace/playground/black/venv/bin/black
File watchers에 등록
이제 File watcher에 등록하자.
Settings > Tools > File Watchers가 있다.
File Watchers에 들어가면 아래와 같다. + 버튼을 누른다.
<custom>을 선택한다.
아래와 같은 화면이 나타난다.
Name에는 원하는대로 입력하고
File type: Python 선택한다.
Scope는 Project Files
Program은 which black으로 확인한 black 실행 파일 경로를 입력한다.
Arguments는 $FilePath$
Output paths to refresh 도 똑같이 $FilePath$를 입력하고
Working directory는 작업 디렉터리를 입력한다.
입력 예이다.
이제 black이 자동 적용된다.
text = 'hello world'
라고 입력하는 순간에 이미 자동으로 ' -> "로 바뀌는 모습을 목격하게 될 것이다.
pyproject.toml 설정도 자동 적용
file watcher로 등록하면 pyproject.toml 설정도 잘 적용된다.
project 디렉터리에 pyproject.toml을 추가하자.
아래처럼 테스트를 위해서 line-length = 20이라고 추가하자.
[tool.black]
line-length = 20
자동으로 코드가 줄 바꿈되는 것을 확인할 수 있다.
Pycharm의 기본 줄바꿈 값은 120이다.
Editor > Code Style에서 Hard wrap at: 120 숫자를 확인할 수 있다.
아래 맨 오른쪽에 일자로 표시된 선이 숫자 120개를 추가했을 때 도달한다.
pycharm 기본 설정과 똑같이 하고 싶다면 위 예처럼 line-length = 120으로 설정하면 된다.
자동으로 변경되는 것이 불편하다면
Auto-save edited files to trigger the watcher를 설정 해제하자.
그러면 cmd + s 저장 단축키를 눌렀을 때 적용된다.