2010-12-11 11 views
4

Es gibt eine GNU indent für Styling C-Quellen, gibt es Entsprechungen für JavaScript?JavaScript Äquivalent von C Einrückung

Ich möchte es Optionen für die Codierung Stil, Einrückung Stil, etc. genau wie indent haben.

Ich werde es für ein ziemlich großes Projekt auf der * NIX-Plattform verwenden, daher werde ich keine Windows-Dienstprogramme oder Online-Tools mögen.

Antwort

1

Es gibt jsBeautifier, die von der Kommandozeile über Rhino in einer Java-fähigen Umgebung oder lief über V8 (oder ein paar andere ausgeführt werden kann , überprüfen Sie die github page). Anscheinend arbeiten sie an einer Python-Befehlszeilenversion.

Anscheinend hat jemand einen Start (mindestens) auf updating indent itself to understand JavaScript gemacht. Die Freude an Open Source! Auch unvollständig, wenn, sind die Syntaxen so ähnlich ...(Nein, anscheinend ist es nur eine Web-Seite Frontend indent   — haupt nicht hilfsbereit.) So Umformulierung: Ich frage mich, wie schwer wäre es indent zu ändern sein JavaScript unterstützen? Die Syntaxen sind so ähnlich ...

+0

Der Start war im Jahr 2005. :-) –

+0

@ryanli: Ich habe das schon vor deinem Kommentar gut getroffen, du musst auf eine veraltete Seite geschaut haben - sieht so aus, als ob er nicht mal geändert hätte Einrückung, machte nur ein Front-End. Nicht nützlich. :-) –

+0

Ich sehe, ich tippe langsam ... Es wäre nützlich, wenn jemand "Einzug" für JavaScript hacken könnte. Aber wenn nicht, muss ich vielleicht js-beautifier ausprobieren, obwohl es ziemlich komplex ist. –

2

Ich habe es nicht benutzt, aber ich habe js-beautify eine Weile zurückgeloggt, und eine schnelle Überprüfung scheint anzuzeigen, dass es Ihre Anforderungen erfüllen könnte. (Und in JavaScript geschrieben, wahrscheinlich können Sie einfach auf sie verbessern.)

+0

Danke für die Antwort, aber das Kommandozeilen-Tool erfordert eine V8-Abhängigkeit, und das ist ziemlich riesig ... Etwas, das oben auf "Einzug" gebaut wurde, wie Crowder erwähnt, wäre natürlich besser. –

+0

@ryanli: Es erfordert keine V8 (und V8 ist keine große Abhängigkeit; es ist trivial, zu einem \ * nix-System hinzuzufügen - ich war überrascht, wie einfach es war). Sie * können * V8 verwenden, um es über die Befehlszeile oder Rhino (größere Abhängigkeit in meinem Buch) auszuführen. –

+0

V8 selbst ist etwa 10 mal so groß wie "Einzug", aber ich werde es trotzdem überprüfen, da es scheint, dass es hier keine Konkurrenten gibt. –

2

Sie haben ein paar Optionen:

Einige Editoren auch tun dies für Sie:

  • Emacs
  • vi (m)
  • Eclipse-
  • ...

EDITS:

  • Ein weiteres Online-Tool, JavaScript Indent Ansprüche es einrücken im Hintergrund verwendet, um sich. Vielleicht würde der Autor die Einstellungen teilen. Nicht so toll, aber ein Anfang.
  • die JS Beautifier Seite erwähnt auch, dass eine Python-Version, wenn entwickelt wird, wie wir sprechen. Lass es uns später noch einmal überprüfen. In der Zwischenzeit können Sie es mit Rhino verwenden, wie auf ihrer Seite erwähnt.

Schließlich gibt es schon ein paar SO Fragen diese zu beantworten, die Sie by searching (einige der Ergebnisse weisen auf Formatierer Code zum Anzeigen online finden können, was eine andere Sache ist, wenn Sie diese verwenden könnten als gut):

+0

Danke für die Antwort. Ich habe schon mehrere Suchen durchgeführt, aber die meisten Ergebnisse sind nicht befriedigend. Nehmen Sie zum Beispiel fusseln, es ist hauptsächlich für Windows, und es gibt mehrere andere Tools, die in JavaScript geschrieben werden. Ich würde die in C. geschriebenen bevorzugen. –

+0

Wie hilft der Closure Linter beim hübschen Drucken? Ich meine, sicher, da ist der 'fixjsstyle'-Befehl, aber Sie haben praktisch keine Kontrolle darüber. Und der Compiler-Service ist natürlich ein Online-Tool - ryanli hat explizit nach Offline-Optionen gefragt. –

+0

@ T.J. Crowder: Wahr, du hast nicht viel Kontrolle über sie. Wenn du also etwas nicht findest, das die richtigen konfigurierbaren Optionen hat, kannst du vielleicht eines finden, das es so macht, wie du es willst. Persönlich benutze ich Closure Linter und ich habe seinen Code bearbeitet, um zu tun, was ich will, und mich nicht über Dinge zu beklagen, die mir egal sind. – haylem

0

Es gibt Javascript Tidy, die den Browser selbst verwendet, um Javascript-Code neu zu formatieren. Die Ergebnisse hängen also vom verwendeten Browser ab.

Sie können den Stil nicht bestimmen, aber sobald das Javascript in ein Standardformat umformatiert wurde, ist es einfacher, den Quellcode an Ihren eigenen Stil anzupassen.

0

libjavascript-beautifier-perl Paket hat /usr/bin/js_beautify, die den Trick für mich tut.