2012-09-12 15 views
10

mi piace tenere le mie linee di sotto di 80 colonne, così spesso voglia di refactoring una linea simile a questa:Allinea trattino parentesi dopo interruzione di riga nel testo Sublime

object.function(a_long_argument, another_long_argument, and_a_third) 

a questo:

object.function(a_long_argument, 
       another_long_argument, 
       and_a_third) 

Ma quando premo Invio dopo il primo "," in Sublime, si interrompe appena e interrompe il cursore di alcuni spazi. Voglio che si allinei alla parata o [] o {} in cui mi trovo, come fa Emacs in modo così bello.

C'è un'opzione per questo? C'è un plugin per questo? Devo scrivere il mio?

Ho provato a cercarlo, ma non ho trovato nulla.

EDIT:

Ancora meglio sarebbe una scorciatoia o un plugin o qualcosa per la selezione di un paio di righe o l'intero buffer, e lasciarlo cercare di auto-interruzione di linea in punti buoni. Commenti dei refactors anche. Se deve essere specifico per la lingua, lo voglio principalmente per Python e C++.

+0

Mi piacerebbe saperlo anche questo. Potresti chiedere a Jon (lo sviluppatore di ST2), direttamente, il [Forum Sublime] (http://www.sublimetext.com/forum/) se non trovi una risposta qui. – AGS

+0

Grazie a @AGS, lo farò se nessuno risponde tra 24 ore circa. Ho pensato che poiché Stackoverflow ha un tag per il testo sublime, sarebbe in agguato qui. – Gurgeh

+0

Per la formattazione di interi file Python secondo PEP-8 è possibile utilizzare PyTidy https://github.com/witsch/SublimePythonTidy –

risposta

14

Sublime's indent_to_bracket avvolgerà il cursore per voi. Basta aggiungere la seguente riga al file sia User/Preferences.sublime-settings o User/Python.sublime-settings:

"indent_to_bracket": true 

Purtroppo questo momento sembra funzionare solo con parentesi, parentesi graffe e parentesi quadre ancora capo alla riga precedente trattino.

Problemi correlati