PyCharm으로 파일을 저장할 때 autopep8로 자동 포맷하고 싶습니다!

3124 단어 autopep8Pycharm

PyCharm으로 파일을 저장할 때 autopep8로 자동 포맷하고 싶습니다!



라고 생각했습니다만, 구그라고 해도 좀처럼 정보가 나오지 않고・・・
고전했지만 해결되었으므로 메모입니다.

PyCharm에서 설정



파일 감시자라는 파일이 저장된 시점에서 임의의 프로그램을 실행할 수 있는 기능을 사용하여 autopep8이 실행되도록 설정합니다.
htps : // p ぇ 어서 s. 이오 / 헤 LP / 이데아 / 우신 g - ぇぇ ぇ ぇ rs. HTML

1. 신규 감시자 추가



설정 화면에서 [Tools] → [File Watchers]를 선택하고 + 버튼을 클릭합니다.

메뉴에 File Watchers가 표시되지 않으면 같은 이름의 File Watchers 플러그인을 설치하면 표시됩니다.


2. autopep8 설정



아래 화면이 표시되면 각각 항목을 입력합니다.
  • File type
  • Python 선택
  • 아래 Scope 중 하나를 선택하여 대상 파일의 디렉토리를 제한 할 수 있습니다

  • Program
  • autopep8 명령의 위치 선택
  • 예) /hoge/bin/autopep8

  • Arguments
  • autopep8에 전달할 인수 입력
  • 예) --in-place --aggressive --aggressive $FilePath$




  • (optional) 3. 모든 프로젝트에서 활성화하려면



    기본적으로 파일 감시자를 추가한 프로젝트에서만 활성화되어 있으므로 아래 파일 감시자 목록 화면에서 LevelGlobal로 설정하면 다른 프로젝트에서도 사용할 수 있습니다.
    파일 감시자를 만든 프로젝트를 제외하고는 Enabled가 꺼져 있기 때문에 잊지 마세요.


    (optional) 4. 프로젝트별로 다른 설정을 이용하고 싶은 경우



    예를 들어 프로젝트의 디렉토리 바로 아래에 .flake8를 놓고 프로젝트마다 다른 설정을 사용하려는 경우

    autopep8 인수 --global-config에 프로젝트 별 구성 파일의 경로를 전달하여 다른 설정을 사용할 수 있습니다.
    예를 들어 다음을 Arguments로 설정합니다.--in-place --aggressive --aggressive $FilePath$ --global-config $ProjectFileDir$/.flake8

    좋지 않은 방법



    command + s를 매크로로 바꾸기



    아래 Q&A로 작성된 것처럼 autopep8 実行保存를 사용하는 매크로를 만들고 command + s에 매크로를 바인딩하는 방법도 시도했습니다.
    h tps : // s t c ゔ ぇ rf ぉ w. 코 m / 쿠에 s 치온 s / 44483748 / py rm ぺp8

    하지만 이것이라면 파일의 확장자에 관계없이 모든 파일에 autopep이 적용되어 버려, yml이나 json의 파일이 마음대로 바꿔 버리는 문제가 일어나는 것을 알고 즉각하였습니다. ·

    Save Actions 사용



    Save Actions라는 플러그인을 사용하면 저장 시 자동으로 포맷 수정을 수행할 수 있습니다.
    다만 이것은, PyCharm 에 설정한 코드 포맷을 적용하는 것 뿐이므로, autopep8 를 실행하기 위해서는 사용할 수 없었습니다
    htps : // p ㅅ 진 s. 지 tb 라이언 s. 코 m / p ㅅ 긴 / 7642

    좋은 웹페이지 즐겨찾기