pycharm converte tabs em espaços automaticamente

110

Estou usando o IDE de pycharm para desenvolvimento de python, ele funciona perfeitamente bem para código django, então suspeitei que converter tabs em espaços é o comportamento padrão, no entanto, em python IDE dá erros em todos os lugares porque não pode converter tabs em espaços automaticamente, há uma maneira de conseguir isto.

Vaibhav Mishra
fonte

Respostas:

124

Altere o estilo do código para usar espaços em vez de tabulações:

espaços

Em seguida, selecione uma pasta que deseja converter na Visualização do projeto e use Code| Reformatar o código .

CrazyCoder
fonte
30
esta era a minha configuração padrão, entretanto, parece que havia algum bug no IDE que não estava funcionando, então o que fiz foi Editar> Converter recuo> Espaços
Vaibhav Mishra
1
Python deve ter recuo de 4 espaços.
Josh
2
Essa resposta não funciona para mim. Não sei por que é aceito, visto que também não funciona para OP. Pergunta de acompanhamento: stackoverflow.com/questions/47102828/…
Stefan Monov
3
No meu caso, tive que desabilitar o Editor Config em Editor -> Estilo de Código -> Habilitar Suporte ao Editor Config, porque eu, sem saber, tinha um ~/.editorconfigarquivo substituindo as configurações do PyCharm.
Warlike Chimpanzee
1
Você pode forçá-lo a usar espaços mesmo para arquivos existentes desmarcando "Detectar e usar recuos de arquivo existente para edição" no "Estilo de código" geral. Depois disso, digitar tab em um arquivo existente irá inserir imediatamente espaços em vez de tabulações.
David Kinghorn
64

Para seleções, você também pode converter a seleção usando a função "Para espaços". Eu normalmente apenas uso através do ctrl-shift-A e então procuro "Para Espaços" a partir daí.

Low Kian Seong
fonte
não parece funcionar para vários arquivos ao mesmo tempo. fazer isso para cada arquivo individualmente é uma espécie de aborrecimento ...
CGFoX
senhor, é um sabor de vida
Juggernaut
61

Isso apenas converte as guias sem alterar mais nada:

Edit -> Convert Indents -> To Spaces
runDOSrun
fonte
1
Ei, isso deve ser aceito. Funciona localmente. Ex: útil para Makefile que precisa ter tabulação como recuo
swdev
9

ctrl + shift + A => abrir janela pop para selecionar opções, selecionar espaços para converter todas as guias como espaço ou tabular para converter todos os espaços como guias.

Ravi
fonte
guia para converter como guia? é um erro de digitação?
Anvesh Yalamarthy
7

PyCharm 2019.1

Se você deseja alterar as configurações gerais:

Abra as preferências, no macOS ;ou no Windows / Linux Ctrl+ Alt+ S.

Vá para Editor -> Estilo de Código -> Python e, se quiser seguir o PEP-8, escolha Tamanho da guia: 4 , Recuo: 4 e Recuo de continuação: 8, conforme mostrado abaixo:

insira a descrição da imagem aqui

Aplique as alterações e clique em OK.

Se você deseja aplicar as alterações apenas ao arquivo atual

Opção 1: Você pode escolher na barra de navegação: Editar -> Converter recuo -> Para espaços. (veja a imagem abaixo)

insira a descrição da imagem aqui

Opção 2: você pode executar a ação "Para espaços" executando o atalho Localizar ação : Ano macOS ou ctrlAno Windows / Linux. Em seguida, digite "Para Espaços" e execute a ação conforme mostrado na imagem abaixo.

insira a descrição da imagem aqui

lmiguelvargasf
fonte
1

ctr + alt + shift + L -> reformatar o arquivo inteiro :)

Aurel Curea
fonte
para guias não funcionou para converter um bloco de código existente. Esta é a única solução que funcionou para mim. Obrigado!
Jed de
0

Para mim, era um arquivo chamado ~ / .editorconfig que estava substituindo minhas configurações de guia. Eu removi isso (com certeza isso vai me morder de novo algum dia), mas corrigiu meu problema de pycharm

Ken Myers
fonte