반응형
개요
Python 개발할 때 black, isort, ruff를 사용해서 코드 스타일을 자동으로 정리하면 매우 효율적입니다.
PyCharm에서는 File Watcher 기능을 사용하면 파일 저장 시 자동으로 포맷팅과 린트 수정이 가능합니다.
1. File Watcher란?
🔧 File Watcher란?
File Watcher는 PyCharm의 자동 실행 도구입니다.
간단히 말해,
“파일을 저장하면 지정된 명령어(black, isort, ruff 등)를 자동으로 실행해주는 기능”
예를 들어:
• .py 파일 저장 시 → black이 자동으로 코드 정리
• isort가 import 순서를 정리
• ruff가 린트 + 포맷 자동 수정
이렇게 자동화해주기 때문에 개발자가 따로 명령어를 실행할 필요가 없습니다.
2. black, isort, ruff 설치하기
2.1 black, isort, ruff 간단 설명
도구 | 역할 | 설명 |
🖤 black | 코드 포맷터 | PEP8 기준으로 코드 스타일을 자동 정리함. "고민 없이 맡기세요" 컨셉. |
📦 isort | import 정리기 | import 구문을 알파벳 순 + 규칙 기반으로 정렬해줌. |
🧹 ruff | 린터 + 포맷터 | flake8, black, isort를 하나로 통합한 초고속 도구. 요즘 개발자들 사이에서 인기 많음. |
2.2 예시 비교
원래 코드:
import os
import re
def test():
print("hello")
black + isort + ruff 적용 후:
import os
import re
def test():
print("hello")
2.3 설치하기
pip install black isort ruff
3. PyCharm에서 File Watcher 등록
경로
Preferences → Tools → File Watchers
macos 단축키 : command + ,
window 단축키 : Ctrl + Alt + S
4. + 클릭 → Custom 선택
예시: black 설정
항목 | 값 |
Name | black |
File Type | Python |
Program | which black 결과 (예: /Users/you/.venv/bin/black) |
Arguments | $FilePath$ |
Working Directory | $ProjectFileDir$ |
✔️ Trigger:
- ✅ Auto-save edited files to trigger the watcher 체크
- ❌ Trigger the watcher on external changes 해제
예시: isort 설정
항목 | 값 |
Name | isort |
File Type | Python |
Program | which isort 결과 |
Arguments | $FilePath$ |
✔️ Trigger:
- ✅ Auto-save edited files to trigger the watcher 체크
- ❌ Trigger the watcher on external changes 해제
예시: ruff 설정 (자동 린트 fix)
항목 | 값 |
Name | ruff |
File Type | Python |
Program | which ruff 결과 |
Arguments | check --fix $FilePath$ |
✔️ Trigger:
- ✅ Auto-save edited files to trigger the watcher 체크
- ❌ Trigger the watcher on external changes 해제
5. 저장만 해도 자동 정리 끝!
이제 Python 파일 저장 시:
- black으로 코드 정렬
- isort로 import 정리
- ruff로 린트 & 포맷 자동 수정
✅ 결론
도구 | 역할 | 자동 실행 가능 |
black | 코드 정렬 | ✅ |
isort | import 정리 | ✅ |
ruff | 린트 & 포맷 | ✅ |
PyCharm의 File Watcher 기능을 활용하면
코드 품질을 유지하면서 생산성도 향상시킬 수 있습니다.
반응형
'Dev > Editors. Dev' 카테고리의 다른 글
[PyCharm] 타입 힌트 관련 경고 끄는 방법 (0) | 2025.04.06 |
---|---|
[Pycharm] 파이참 주석 Spelling Typo 체크 설정 해제하기 (for macos) (0) | 2025.03.18 |
[VSCode] Explorer indent(들여쓰기), tree guide 컬러 변경 (0) | 2025.03.15 |
[VSCode] 파일 열림 모드를 더블 클릭으로 열기 (0) | 2025.03.13 |
[VSCode] 항상 편집모드로 파일 열기 (0) | 2025.03.13 |