pycharm convierte pestañas en espacios automáticamente

111

Estoy usando Pycharm IDE para el desarrollo de Python, funciona perfectamente bien para el código de Django, por lo que se sospecha que convertir pestañas en espacios es el comportamiento predeterminado, sin embargo, en Python IDE está dando errores en todas partes porque no puede convertir pestañas en espacios automáticamente, ¿hay alguna manera de lograrlo? esta.

Vaibhav Mishra
fuente

Respuestas:

124

Cambie el estilo del código para usar espacios en lugar de tabulaciones:

espacios

Luego, seleccione una carpeta que desee convertir en la Vista del proyecto y utilice Code| Reformatear el código .

CrazyCoder
fuente
30
esta era mi configuración predeterminada, sin embargo, parece que hubo algún error en el IDE que no funcionaba, así que lo que hice fue Editar> Convertir sangría> Espacios
Vaibhav Mishra
1
Python debe tener una sangría de 4 espacios.
Josh
2
Esta respuesta no me funciona. No estoy seguro de por qué se acepta, ya que tampoco funciona para OP. Pregunta de seguimiento: stackoverflow.com/questions/47102828/…
Stefan Monov
3
En mi caso, tuve que deshabilitar la configuración del editor en Editor -> Estilo de código -> Habilitar compatibilidad con la configuración del editor, porque, sin saberlo, tenía un ~/.editorconfigarchivo que anulaba la configuración de PyCharm.
Chimpancé belicoso
1
Puede forzarlo a usar espacios incluso para archivos existentes desmarcando "Detectar y usar sangrías de archivos existentes para editar" en el "Estilo de código" general. Después de eso, al escribir tabulador en un archivo existente, se insertarán inmediatamente espacios en lugar de tabulaciones.
David Kinghorn
64

Para las selecciones, también puede convertir la selección utilizando la función "A espacios". Por lo general, lo uso a través de ctrl-shift-A y luego busco "To Spaces" desde allí.

Bajo Kian Seong
fuente
no parece funcionar para varios archivos a la vez. hacerlo para cada archivo individualmente es un poco complicado ...
CGFoX
usted señor, es un sabor de vida
Juggernaut
61

Esto solo convierte las pestañas sin cambiar nada más:

Edit -> Convert Indents -> To Spaces
runDOSrun
fuente
1
Oye, esto debería ser aceptado. Funciona localmente. Por ejemplo, útil para Makefile que debe tener una pestaña como sangría
swdev
9

ctrl + shift + A => abrir la ventana emergente para seleccionar opciones, seleccionar espacios para convertir todas las pestañas como espacio, o tabulación para convertir todos los espacios como tabulación.

Ravi
fuente
pestaña para convertir como pestaña? ¿Es un error tipográfico?
Anvesh Yalamarthy
7

PyCharm 2019.1

Si desea cambiar la configuración general:

Abra las preferencias, en macOS ;o en Windows / Linux Ctrl+ Alt+ S.

Vaya a Editor -> Estilo de código -> Python, y si desea seguir PEP-8, elija Tamaño de pestaña: 4 , Sangría: 4 y Sangría de continuación: 8 como se muestra a continuación:

ingrese la descripción de la imagen aquí

Aplique los cambios y haga clic en Aceptar.

Si desea aplicar los cambios solo al archivo actual

Opción 1: Puede elegir en la barra de navegación: Editar -> Convertir sangría -> A espacios. (ver imagen abajo)

ingrese la descripción de la imagen aquí

Opción 2: puede ejecutar la acción "A espacios" ejecutando el acceso directo Buscar acción : Aen macOS o ctrlAen Windows / Linux. Luego escriba "A espacios" y ejecute la acción como se muestra en la imagen a continuación.

ingrese la descripción de la imagen aquí

lmiguelvargasf
fuente
1

ctr + alt + shift + L -> reformatear el archivo completo :)

Aurel Curea
fuente
to tabs no funcionó para convertir un bloque de código existente. Esta es la única solución que funcionó para mí. ¡Gracias!
Jed
0

Para mí, tenía un archivo llamado ~ / .editorconfig que anulaba la configuración de mi pestaña. Lo eliminé (seguramente eso me morderá de nuevo algún día) pero solucionó mi problema de pycharm

Ken Myers
fuente