Pour le moment, les continuations de ligne en mode python d’emacs sont alignées sur la fin de la ligne précédente, comme suit:
this_is_a_list_of_django_urls = ('',
url(r'^admin/?', include(admin.site.urls)),
url(r'^polls/?', include('polls.urls'))
)
Mais je trouve ce qui précède assez moche. Existe-t-il un moyen de configurer le mode python d’emacs pour qu’il se trouve comme suit:
this_is_a_list_of_django_urls = ('',
url(r'^admin/?', include(admin.site.urls)),
url(r'^polls/?', include('polls.urls'))
)
Je trouve que la deuxième version est beaucoup plus facile à lire et je voudrais donc appuyer sur TAB pour ne mettre en retrait que d’un niveau, plutôt que du temps nécessaire pour s’aligner sur la fin de la ligne précédente.
emacs
python
indentation
autoindent
quanticule
la source
la source
M-x report-emacs-bug
.Réponses:
PEP8 dit:
Non:
Arguments en première ligne interdits lorsque l'alignement vertical n'est pas utilisé
La parenthèse de fermeture WRT python-mode.el offre quant à elle un choix, booléen `py-close-au-début-colonne-p ', la valeur par défaut est nil.
Lorsqu'il est non nul, il sera aligné sous le premier caractère de la ligne qui commence la construction multiligne, comme dans:
la source
En réalité, ce n'est pas une solution, mais si vous placez le premier élément du tuple sur une nouvelle ligne, vous obtenez presque le comportement que vous souhaitez au tout début.
la source