일상적 이야기들.

[TIL] vscode - organizeImports 설정 본문

프로그래밍/PYTHON

[TIL] vscode - organizeImports 설정

noveljava 2020. 9. 17. 17:51

organizeImports

해당 옵션을 사용하면 import 영역 내의 중복된 이름들을 제거해주고, 알파벳순으로 정렬하는 기능도 가지고 있습니다.
그리고, 해당 기능을 통해서 import 내에서, pep8의 규칙에 따라 한 line의 길이가 80글자가 이상이면 multiline으로 분리하여 정렬을 해주고 있습니다.

왜 80글자인가

PEP8의 규칙에 의하면, Python 내에서 한 line의 길이는 80글자를 넘어가지 않을 것을 권고하고 있습니다. 이는 옛날에 개발 환경이 열악한 시절 한 창에서 표기하는 글자의 수가 80글자였기때문에 이를 규칙으로 삼고 있습니다.
하지만 현재에 와서는 한 라인에 80글자를 담아내기에는 너무 적은 표기법이라고 생각이 됩니다.
그렇기에, 팀내에서는 120글자를 제한으로 하고, Lint에서도 길이를 120글자로 늘려서 확인을 하고 있습니다.

어떻게 고치지?

해당 organizeImports는 lint와 별개로 동작하므로, lint 및 formatter에 max-line-length를 줘도 별개로 먹게 됩니다.
그렇기에 다른 옵션을 통해서 처리를 해야하는데, 확인해본 결과 orgamizeImports 옵션은, sortImports의 기반으로 동작함을 확인을 하였습니다. 그렇기에 sortImports의 옵션을 통해서 organizeImports의 max-line-length를 수정할 수 있습니다.


    "python.sortImports.args": [
        "-ns",
        "__init__.py",
        "-l",
        "120"
    ],

"120" 이라고 기재가 되어있는 부분이, max-line-length의 값입니다. 프로젝트에 맞게끔 값을 구성하여 처리하면 됩니다.

'프로그래밍 > PYTHON' 카테고리의 다른 글

Mac - Bigsur 에서 pyenv 문제  (0) 2021.01.03
[TIL] Pytest - mock server 구축  (0) 2020.09.23
[TIL] lambda, TeypVar  (0) 2020.09.10
[TIL] vscode - PEP8 관련 설정 잡기.  (0) 2020.09.09
argparse - 실행 인자 사용법.  (0) 2020.04.01
Comments