당황하셨어요? VS Code 응급 대처법

나이트 개발자·2023년 11월 15일
0
post-thumbnail

Python 과 React 위주의 개발을 하다 보니 설치해서 사용하는 Extension도 한정적이다. 하지만 생산성 향상을 위해 여러 기능들을 설치하다 보니 좋은 툴과 설정방법들은 기록을 남겨야할 것 같다. 게다가 오류를 많이 경험하게 되어, 해결했던 내용들을 함께 기록하려고 한다.

그래서 꿀팀들과 VS Code 사용중 발생할 수 있는 황당한 경우 하지만 간단히 해결할 수 있는 내용들을 두서없이 남긴다.

  1. python extension loading...
    어느날 갑자기 이게 뜬다면, python extension을 가장 마지막 major버전으로 돌린다.
    예) v2023.30.0

  2. python 의 flake8과 autopep8로 auto formatting 및 코드 오류 점검 개취이지만 난 이 설정이 가장 마음에 든다.

    "[python]": {
        "editor.defaultFormatter": "ms-python.autopep8",
        "editor.formatOnSave": true,
        "editor.codeActionsOnSave": {
            "source.fixAll": true
        }
    },
    "flake8.args": [
        "--max-line-length=200",
        "--ignore=E501,W503"
    ],
    "autopep8.args": [
        "--aggressive",
        "--max-line-length=200",
        "--ignore=E501,W503"
    ],
  • 501과 W503은 Python 스타일 가이드인 PEP 8의 일부 스타일 규약을 Python 코드와 대조하여 검사하는 Python 코드 린터, 예를 들어 pycodestyle(이전의 이름은 pep8)에서 사용하는 오류/경고 코드.
  • E501은 "너무 긴 라인"을 의미. 이 오류는 Python 코드의 한 줄이 특정 문자 제한을 초과할 때 발생하며, 일반적으로 PEP 8에서 권장하는 한 줄에 79자를 넘지 않도록함. 이는 코드의 가독성과 유지 관리성을 보장하기 위함
  • W503은 "이항 연산자 전에 줄바꿈이 발생했다"를 의미하는 경고. 이 경고는 이전에는 이항 연산자(예: +, -, &, | 등) 앞에서 줄바꿈이 있을 때 발생했으나 PEP 8은 수학 표기법과 일치하도록 이항 연산자 앞에서 줄바꿈이 발생하는 것이 가독성을 높인다고 제안하면서 최신화되었음. 그 결과, 최신 코드 스타일 가이드에서는 이항 연산자 후에 줄바꿈이 있는 W504를 선호하며, W503은 종종 무시됨.
  1. ESLint는 microsoft 것만 사용
    가끔 Prettier ESLint 가 더 좋아 보이지만 무슨 이유에서인지 이 Extension은 가끔식 느리게 동작하는 오류가 있다. 특히나 settings.json 저장시 FormatOnSave 설정해뒀을 경우 행걸리듯 반응이 없어 시간을 낭비하게 만든다. 그래서 JSON 포멧은 가장 기본기능인 JSON Language Features로 하도록 하고 ESLint가 필요하다면 MS에서 배포한 것만 사용한다.

  2. Extension Pack 은 가급적 깔지 말자.
    vscode 시작시 Python Extension loading... 메세지만 보이고 동작에 심각한 문제가 발견되면 어떤 문제인지 파악해야하는데 이러다 보면 이런 저런 Extension을 삭제하거나 버전을 변경해야한다. 이럴 때 Extension pack들은 Extension 삭제나 업글/다운그레이드에 방해가 되기도 한다. MS 공식 기능이 아니다 보니 혹시나 영향을 누자 싶어 문제해결에 도움이 안된다.

  3. OUTPUT의 로그 확인
    Main/ Extension Host /Extension Host (Remote) 등의 로그를 확인해 가면서 문제 있는 Extension을 찾아본다.

  4. fonts

    • FiraNerd fixed
    • IBMPlexMono
      • Font list 마지막에 "," 가 들어갈 경우 오류발생해 폰트 설정이 안됨
      • Font 굵기는 "BlexMono Nerd Font Medium", "BlexMono Nerd Font SemiBold" 와 같이 하위 font명을 넣어 조절 가능.
        "Open Keyboard Shortcuts" 에서 ctrl+shit+[+-] 에 Editor Zoom In/Out 설정하여 코딩창만 조절
        혹시나, 이참에 폰트를 바꾸고 싶어 프리뷰를 확인하려면 programmingfonts.org 를 방문해볼 수있다.
  5. 유용한 Extention

    • Python
    • Jupyter
    • Pylint
    • Pylance
    • Intellicode
    • Rainbow CSV
    • indent-rainbow
    • colorize
    • Output Colorizer
    • Todo Tree
    • Color Identifiers
    • Compare Folders
    • Line Highlight
    • Prettier
    • Unique Lines
    • All Autocomplete
    • ShellCheck
    • Markdown All in One
    • CodeGPT
    • Codeium
    • Color Picker
    • FiraCode font
  1. 아무리 해도 문제가 해결이 안 될 때는 다음의 절차로 해결한다.
    - vscode uninstall
    - rm -rf ~/.vscode/extentions
    - vscode install
    - 설정파일은 그대로 유지된다.
    - 설정파일에 남아 있는 extension의 키워드를 참고로 사용하던 extension 모두 재설치
    기회가 되면 위 Extension들에 대해 유용한 기능들을 기록할 예정이다.
profile
개발하면서 또는 프러덕 관리하면서 겪는 기억해둬야하는 내용을 메모장 삼아 남긴다. Google Keep이나 메모 도구에 남기는 것과는 달리 잘 정리할 수 있어서 언젠가 들춰봐야할 내용들을 담은 글들이 게시된다.

0개의 댓글