pycharm은 탭을 공백으로 자동으로 변환합니다.


111

나는 파이썬 개발을 위해 pycharm IDE를 사용하고 있으며 django 코드에서 완벽하게 작동하므로 탭을 공백으로 변환하는 것이 기본 동작이라고 의심되지만 Python IDE에서는 탭을 공백으로 자동으로 변환 할 수 없기 때문에 모든 곳에서 오류가 발생합니다. 이.

답변:


124

탭 대신 공백을 사용하도록 코드 스타일을 변경하십시오.

공백

그런 다음 프로젝트보기에서 변환하려는 폴더를 선택하고 Code| 코드 재 형식화 .


30
이것은 내 기본 설정 이었지만 작동하지 않는 IDE에 버그가있는 것 같습니다. 그래서 내가 한 일은 Edit> Convert Indent> Spaces
Vaibhav Mishra

1
파이썬에는 4 칸 들여 쓰기가 있어야합니다.
Josh

2
이 대답은 저에게 효과가 없습니다. OP에서도 작동하지 않기 때문에 왜 수락되었는지 확실하지 않습니다. 후속 질문 : stackoverflow.com/questions/47102828/…
Stefan Monov

3
필자의 경우에는 ~/.editorconfigPyCharm의 설정을 무시 하는 파일 이 있었기 때문에 Editor- > Code Style-> Enable Editor Config Support에서 Editor Config를 비활성화해야했습니다 .
Warlike Chimpanzee

1
일반 "코드 스타일"에서 "편집을 위해 기존 파일 들여 쓰기 감지 및 사용"을 선택 취소하여 기존 파일에도 공백을 사용하도록 강제 할 수 있습니다. 그 후 기존 파일에 탭을 입력하면 탭이 아닌 공백이 즉시 삽입됩니다.
데이비드 Kinghorn

64

선택을 위해 "공백으로"기능을 사용하여 선택을 변환 할 수도 있습니다. 저는 보통 ctrl-shift-A를 통해 사용하고 거기에서 "To Spaces"를 찾습니다.


한 번에 여러 파일에 대해 작동하지 않는 것 같습니다. 개별적으로 각 파일에 대해 그 일을하는 것은 ... 혼전의 종류
CGFoX

당신은 인생의 맛입니다
Juggernaut

61

이것은 아무것도 변경하지 않고 탭만 변환합니다.

Edit -> Convert Indents -> To Spaces

1
이건 받아 들여 져야합니다. 로컬에서 작동합니다. 필요 들여 쓰기 등의 탭을 가지고 있다는 메이크에 대한 예 유용한
swdev

9

ctrl + shift + A => 팝업 창을 열어 옵션을 선택 하고, 공백 으로 선택 하여 모든 탭 을 공백 으로 변환하거나, 탭으로 선택 하여 모든 공백 을 탭 으로 변환합니다.


탭으로 변환하려면 탭? 오타입니까?
Anvesh Yalamarthy

7

PyCharm 2019.1

일반 설정을 변경하려면 :

macOS ;또는 Windows / Linux Ctrl+ Alt+ 에서 환경 설정을 엽니 다 S.

편집기-> 코드 스타일-> Python으로 이동하고 PEP-8을 따르려면 아래와 같이 탭 크기 : 4 , 들여 쓰기 : 4연속 들여 쓰기 : 8 을 선택합니다.

여기에 이미지 설명 입력

변경 사항을 적용하고 확인을 클릭합니다.

현재 파일에만 변경 사항을 적용하려면

옵션 1 : 탐색 모음에서 선택할 수 있습니다 : 편집-> 들여 쓰기 변환-> 공백으로. (아래 이미지 참조)

여기에 이미지 설명 입력

옵션 2 : 작업 찾기 바로 가기 를 실행하여 "공간으로"작업을 실행할 수 있습니다 : AmacOS 또는 ctrlAWindows / Linux에서. 그런 다음 "To Spaces"를 입력하고 아래 이미지에 표시된대로 조치를 실행하십시오.

여기에 이미지 설명 입력


1

ctr + alt + shift + L-> 전체 파일 재 형식화 :)


탭에 기존 코드 블록을 변환하는 데 작동하지 않았습니다. 이것은 나를 위해 일한 유일한 솔루션입니다. 감사!
Jed

0

나를 위해 그것은 내 탭 설정을 재정의하는 ~ / .editorconfig라는 파일을 가지고있었습니다. 나는 그것을 제거했지만 (확실히 언젠가 다시 물릴 것입니다) 내 pycharm 문제를 해결했습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.