2012-04-04 28 views
49

Prima lasciatemi dire che provengo da uno sfondo Microsoft e Visual Studio è il mio pane e burro. Ha un comando (la combinazione di tasti è arbitraria) che auto-formatta qualsiasi sintassi del codice. Lo stesso comando funziona in HTML, CSS, Javascript, C#, ecc.Sublime Text 2 Formattazione codice

Ho provato i plugin per ST2 e finora ho trovato che la maggior parte non funziona su una casella di Windows e se lo fanno, è per un molto scopo specifico come solo Javascript.

ho provato (e inaugurato problemi se del caso):

https://github.com/victorporof/Sublime-HTMLPrettify

https://github.com/jdc0589/JsFormat (questo funziona in realtà)

https://github.com/welovewordpress/SublimeHtmlTidy

Sono tutti gli utenti di Windows di ST2 trovate tutto ciò che funziona formattare CSS/HTML/Javascript, preferibilmente in uno scatto?

Edit: Dal momento che questa domanda è sempre un sacco di opinioni con nessuna attività, dirò che ho am ancora alla ricerca di un plugin che può formattare i vari tipi di script all'interno dello stesso comando.

ottobre 2013 Ancora non ho trovato nulla che copre JS + CSS + HTML e tuttavia ho optato per JsFormat come di gran lunga il più efficace e privo di bug con la minor quantità di configurazione solo per JavaScript.

risposta

8

Non riesco a parlare per il 2 ° o il 3 °, ma se si installa il nodo per primo, Sublime-HTMLPrecifica funziona piuttosto bene. Devi configurare il tuo tasto di scelta rapida una volta installato. Una cosa che ho notato su Windows, potrebbe essere necessario modificare il percorso per il nodo nella variabile% PATH% se è già lungo (penso che il limite sia 1024 per la variabile% PATH%, e qualsiasi cosa dopo viene ignorata.)

C'è un bug di Windows, ma nei problemi c'è una soluzione per questo. Dovrai modificare il file HTMLPrettify.py - https://github.com/victorporof/Sublime-HTMLPrettify/issues/12

+0

Sono stato effettivamente coinvolto nella discussione in uno di questi problemi aperti (che è ancora aperto). Verificherò la potenziale soluzione che hai collegato e ti ricontatteremo allo – Terry

+1

trovando qualcosa per PHP in un solo colpo è davvero difficile e fastidioso. lo strumento è ottimo ma è difficile trovare un semplice formattatore. Thes php_beautifier per Sublime è estenuante. Il problema principale in tutti i formattatori è che devi twittare una o due cose prima di usarle. –

+0

@ JuniorMayhé hai trovato qualcosa per PHP? Sono davvero interessato a CTRL + SHIF + F di Aptana, che formatta QUALSIASI cosa (ad esempio HTML, JS, PHP, Ruby e Python !!!) – Leonel

101

Un'opzione simile in Sublime Text è la Edit->Line->Reindent integrata. È possibile inserire questo codice in Preferences -> Key Bindings User:

{ "keys": ["alt+shift+f"], "command": "reindent"} 

Io uso alt + spostamento + f perché io sono un utente di Netbeans.

Per formattare il codice, selezionare tutti premendo Ctrl + un e "la combinazione di tasti". Scusami per il mio pessimo inglese.


Oppure, se non si desidera selezionare tutti prima della formattazione, aggiungere un argomento del comando invece:

{ "keys": ["alt+shift+f"], "command": "reindent", "args": {"single_line": false} } 

(come da commento di @Supr sotto)

+5

+1 per la soluzione in-app. – Esteban

+25

Se trovi fastidioso selezionare tutto (una sorta di interruzione del flusso di modifica), puoi invece aggiungere un argomento al comando: '{" keys ": [" alt + shift + f "]," command ":" reindent "," args ": {" single_line ": false}}' ([source] (http://nicksantan.com/blog/2012/12/adding-auto-format-code-indenting-to-sublime-text -2 /)) – Supr

+1

@terry questa dovrebbe essere la risposta accettata. –

13

Sublime CodeFormatter ha formattazione supporto per PHP, JavaScript/JSON/JSONP, HTML, CSS, Python. Sebbene non abbia usato CodeFormatter per molto tempo, sono rimasto impressionato dalle sue capacità di "abbellimento" di JS, HTML e CSS. Non ho provato a usarlo con PHP (non sviluppo PHP) o Python (di cui non ho esperienza) ma entrambe le lingue hanno molte opzioni nel file .sublime-settings.

Una nota tuttavia, le impostazioni non sono molto facili da trovare. Su Windows dovrai andare al tuo %AppData%\Roaming\Sublime Text #\Packages\CodeFormatter\CodeFormatter.sublime-settings. Come io non ho un Mac non sono sicuro dove il file delle impostazioni è su OS X.

Come per un tasto di scelta rapida, ho aggiunto questa chiave vincolante alla mia "Key Bindings - User" file:

{ 
    "keys": ["ctrl+k", "ctrl+d"], 
    "command": "code_formatter" 
} 

io uso Ctrl +K, Ctrl +D perché è quello che utilizza Visual Studio per la formattazione. Puoi cambiarlo, ovviamente, ricorda che ciò che scegli potrebbe essere in conflitto con la scorciatoia da tastiera di un'altra funzione.

Aggiornamento:

Sembra come se gli sviluppatori di Sublime Text CodeFormatter hanno reso più facile per accedere al file .sublime-settings. Se si installa CodeFormatter con il plug-in Controllo pacchetti, è possibile accedere alle impostazioni tramite Preferences -> Package Settings -> CodeFormatter -> Settings - Default e sovrascrivere quelle impostazioni utilizzando la voce di menu Preferences -> Package Settings -> CodeFormatter -> Settings - User.

+1

con l'eccezione che CodeFormatter è rotto e alcuni blocchi di testo continueranno ad aggiungere ulteriori indent ogni volta che lo esegui. Che lo rende inutilizzabile –

0

Forse questa risposta non è proprio quello che stai cercando, ma sarà adatto a qualsiasi lingua con la stessa scorciatoia da tastiera. La soluzione è language specific keyboard shortcuts.

Per ogni lingua che si desidera formattare, è necessario trovare e scaricare un plug-in per questo, ad esempio un formattatore html e un formattatore C#. E quindi mappare il comando per ogni plugin sulla stessa chiave, ma con un contesto diverso (vedi il link).

Greets