Python 쓸 일이 없어서 미루고 미루고 미루고 미뤘던 formatter setting 이다.
그러다가 이번 주에 model serving 공부하기 시작하면서 Python 포멧팅이 들쑥날쑥거리는 것을 견디지 못하고 각잡고 문제를 청산했다.
VSCode setting sync 를 꺼뒀기 때문에 나중에 또 설정할 일이 있을 것 같아서 기록해둔다!
Flake8 은 Python 코드 체크 툴로, 크게 세 가지를 점검한다.
그러나 Flake8 은 에러를 수정하지는 못하기 때문에 이를 해결하고자 Black 이라는 formatter 를 사용한다.
즉, Flake8 으로 linting 하고 Black 으로 이를 formatting 한다.
$ pip install flake8
$ flake --show-source <file name>
두 번째 명령어를 실행했을 때 not found 만 뜨지 않으면 적용되는 것!
$ pip install black
$ black <file name>
혹 'cannot install' 에러가 발생하면 python3.6 이하 버전이라서 그런 것이다.
두 번째 명령어를 실행했을 때 formatting 이 적용되면 잘 설치된 것이다.
settings.json 에 아래와 같은 설정들을 추가한다.
"python.linting.enabled": true,
"python.linting.lintOnSave": true,
"python.linting.flake8Enabled": true,
"python.linting.pylintEnabled": false,
"python.linting.flake8Args": ["--max-line-length=88", "--ignore=F401,E402"],
"python.formatting.provider": "black",
"python.formatting.blackPath": "/Library/Frameworks/Python.framework/Versions/3.10/bin/black",
"[python]": {
"editor.defaultFormatter": null
}
"editor.formatOnSave": true,
여러 블로그나 참고 자료를 보면서 몇 번 시도했는데 적용이 되지 않던 이유를 정리하자면 아래와 같다.
이전과 다르게 두 가지를 모두 추가하였고 formatting 이 저장과 동시에 잘 적용됨을 확인할 수 있었다.
참고로 기억할 것!
으아 아주 뿌듯한 마음으로 퇴근을 한다!!!
어우 이 간단한걸 몇 년을 미룬거야,,,
암튼 이 글이 미래의 나와 같은 문제를 겪는 다른 개발자 분들께 도움이 되면 좋겠다:)