2009-09-27 14 views
12

La domanda è abbastanza auto-esplicativa.Utilità per inserire automaticamente il punto e virgola nel codice sorgente JavaScript?

Sto lavorando con il codice di più sviluppatori. Alcuni dei quali sono incoerenti nel loro uso del punto e virgola, e li voglio solo dopo ogni riga per coerenza (e per evitare qualsiasi mascheramento degli errori).

Uso Aptana per formattare il codice sorgente, ma non aggiungerà punto e virgola per AFAIK.

Grazie.

+0

Hai trovato un modo? Cosa hai finito? – Sathvik

risposta

8

Ah ... il compressore YUI appena scoperto ha le opzioni di un punto e virgola che in effetti saranno aggiungere il punto e virgola alle linee appropriate. Quindi si tratta semplicemente di inviare la versione minuscola e non compromessa attraverso il formattatore aptana.

Se qualcuno si presenta con una soluzione più semplice, si prega di inviare.

+1

Purtroppo, perdo i commenti, che posso proteggere in una certa misura o aggiungere di nuovo, ma poi sto creando più lavoro. –

+0

Controllerò la sorgente del compressore YUI e vedrò se c'è un modo per aggirare questo problema. –

5

Si consiglia di incoraggiare gli sviluppatori a utilizzare JSLint per migliorare la qualità complessiva del codice.

Questo strumento cercherà problemi nel codice in base a una serie di regole e, naturalmente, rileverà missing semicolons.

E dal momento che si utilizza Aptana, è abbastanza facile installare il JSLint Eclipse Plugin.

+5

Questo non risponde alla mia domanda. Sono già a conoscenza di jslint e del plugin. La domanda riguardava un modo per inserire automaticamente il punto e virgola. –

-3

Penso che una domanda molto importante sia "perché?". Seriamente, se non causa problemi (che non è), allora a chi importa? Sì, sono d'accordo che dovrebbe essere richiesto il punto e virgola in Javascript, ma non lo sono, quindi non causerà alcun errore. Se ti senti fortemente a favore di questo (come lo farei anche io), istruisci i tuoi colleghi sviluppatori su , perché dovrebbero preoccuparsi e risolvere il problema, piuttosto che impiegare uno script hacky per alterare il loro codice.

+3

Il punto e virgola mancante di JavaScript è impossibile da analizzare in modo accurato e impossibile da ridurre. Gli sviluppatori che non capiscono perché è importante aggiungere il punto e virgola probabilmente non capiranno le implicazioni sul codice di correggerlo manualmente, il che è un motivo in più per usare uno script hacky per il codice precedente. Sono d'accordo sul fatto che educare gli sviluppatori a scrivere correttamente il codice sia importante, ma ciò non risolve i precedenti atti negativi. –

+1

Sono completamente d'accordo con i motivi per usare rigorosamente il punto e virgola, e fidati di me, sarei interessato ad intervenire se i miei collaboratori avessero la stessa cattiva abitudine di lasciarli fuori. Non penso che sia una buona idea lasciare che continuino a scrivere codice sciatto e lasciare che un programma lo risolva per loro. A seconda della quantità di codice esistente, allora si suppone che tu possa richiedere un modo automatico per risolverlo, ma non è una soluzione a lungo termine: questo è il punto cruciale della mia argomentazione. – nickf

+1

Sono completamente d'accordo sul fatto che l'inserimento automatico del punto e virgola è una pessima idea come pratica standard. Mi spingerei fino al punto di dire che gli sviluppatori che non sono formalmente istruiti o personalmente esperti nella scrittura di JavaScript non devono avere l'opportunità di scrivere JavaScript senza supervisione. A meno che non vengano implementati controlli migliori, è solo questione di tempo prima che lo scripting lato client uccida tutte le possibilità del Web come piattaforma per generare entrate aziendali a causa di compromissioni di sicurezza, collisioni e problemi di interoperabilità dovuti a scarso utilizzo anche nella stessa lingua. –

0

Sono uno sviluppatore di Flash e mi sono imbattuto in questo mentre eseguivo una ricerca su Google. Per gli sviluppatori di AS (un cugino JS), se stai usando Adobe Flash Professional (sto usando CS5), quando stai modificando un file actionscript, fai clic su "Strumenti" e "Formattazione automatica". Il programma si prenderà cura di tutto il resto.

(Ancora una volta, questa risposta è per gli sviluppatori di ActionScript, in quanto questo è un problema comune anche per noi Si prega di non downvote per irrilevanza di JS..)

5

Io uso questo formattatore on-line: http://jsutility.pjoneil.net/ (vai per formattare la scheda, incollare il codice e fare clic su: "formato istruzioni Javascript").

Come potete vedere, c'è la possibilità di destra: "sostituire il punto e virgola mancanti"

A volte, che riporterà formattatore "troppi errori" e non farà nulla. In tal caso, comprimere il codice con questa utilità: http://refresh-sf.com/yui/ (che aggiungerà anche il punto e virgola) e quindi, è possibile tornare al formattatore per decomprimerlo.

6

Ho trovato Google Closure-Linter, che sembra essere la versione di Google di JSLint, per funzionare allo estremamente.

https://developers.google.com/closure/utilities/docs/linter_howto

La pagina web di cui sopra non solo spiega come installare sul vostro computer, ma in fondo si spiega come eseguire fixjsstyle che aggiunge quasi tutti i punti e virgola mancanti così come alcune altre piccole cose.

+2

fixjsstyle ha funzionato perfettamente, dovrebbe essere la risposta accettata IMHO. –

+1

Funziona alla grande, ed è ancora più facile su Mac OS X di quanto suggerisce la pagina web: 'brew install closure-linter' – chbrown

2

Io uso fixmyjs. È disponibile come CLI e come plugin per alcuni editor.

Corregge automaticamente alcuni errori JavaScript in modo non distruttivo. La correzione del punto e virgola è una delle correzioni automatiche disponibili.

0

JSCS è uno strumento di sfilacciatura che ha un'opzione di correzione per correggere automaticamente i problemi di linting incluso il punto e virgola mancante.

enter image description here

Problemi correlati