VS Code/Codium : Python Autopep8/Black 사용.

흠.. 삽질은 역시나 힘들다.

VS Code/Codium 에서 코드를 작성한 뒤, 해당 언어에 맞게끔 코드 형식을 정정해주려면 Format 명령을 내리면 된다. 이건 Ctrl + Shift + I 를 누르면 된다.

Python 에선, 이를 위해서 먼저 MS Python Extension 이 설치되어 있어야 한다. 그리고 나서 Ctrl + Shift + I 를 누르면 될 듯 하지만..?

역시나 오류가 발생한다. MS Python Extension 은 Format 의 기준으로 autopep8 꾸러미를 사용하는데, 이게 설치되어 있지 않아서 그렇다. 친절하게도 설치할지를 물어보니 그냥 진행하면 된다. (그러면 pip 을 사용하여 사용자 디렉토리에 autopep8 이 설치된다.)
혹은, pip 을 이용해서 따로 설치해줘도 된다.

python3 -m pip install --user autopep8
python3 -m pip install --user black

Autopep8 이든, Black 이든 원하는대로 골라잡을 수도 있다. 이를 위해선 설정에서 Python formatting Provider 로 이동해서 무엇을 사용할지 골라주면 된다.

또, Format on Save 를 True 로 설정하여, 저장할 때 자동으로 적용되도록 하는 편이 좋다.

이 단락에 있는 내용들은 Marco Belo 님의 도움을 얻어 알게됐네~!


참고로, -S 를 사용하여 따옴표를 모두 겹따옴표로 바꾸지 못하게끔 해놨고, 열은 100(-l 100)으로 설정해놨다. 이 설정은 Python Formatting: Black Args 에서 할 수 있다. (GUI 설정에서 검색한다.)

다만, 이 선택사항들을 한 줄에 입력하면 안되고, 하나씩 따로 따로 넣어줘야 한다.

즉, -S -l 100 이 아니고, -S-l 100 으로 각각 Add Item 해줘야 한다는 얘기.
이걸 settings.json 에서 보자면,

    "python.formatting.blackArgs": [
        "-S",
        "-l 100"

이렇게 돼야만 한다. “-S -l 100” 이 돼면 안된다.


autopep8 과 black 의 차이는 많겠지만, 지금까지 발견한 점 하나가 있다.

  • import sys, os : Autopep8 은 한 줄에 하나씩 쓰기를 권장하지만, black 은 허용한다.
아무도안아무도안
Author: 아무도안

안녕하세요. 글 남겨주셔서 고맙습니다.