2008-10-30 6 views
5

Ich bin auf der Suche nach einem Werkzeug, das den Quellcode in so vielen Sprachen wie möglich drucken (AKA ordentlich oder verschönern) kann. Diejenigen, ich bin besonders scharf auf gehören:ein hübscher Drucker "um sie alle zu regieren"

  • Java
  • JSP
  • HTML
  • JavaScript
  • SQL
  • JSON
  • XML

Idealerweise das Werkzeug sollte in der Lage sein, Quelldateien zu aktualisieren i n-place und in der Lage sein, mehr als eine Datei gleichzeitig zu formatieren. Es wäre großartig, wenn es Dateien formatieren könnte, die mehrere Sprachen enthalten (z. B. eine JSP mit HTML-, Java- und JavaScript-Quellcode), aber das verlangt wahrscheinlich ein bisschen viel.

Ich habe bereits festgestellt, ein commercial tool, die eine Menge von Sprachen zu decken scheint, aber ein freies wäre noch besser :)

BTW, ich weiß, dass es ein ziemlich Drucker für die meisten Sprachen verfügbar ist, aber was Ich bin auf der Suche nach einem "One-Stop-Shop".

Cheers, Don

+0

Kostenlose?!, Polystyle ist nur $ 1.998 pro unterstützte Sprache! ;) – Aardvark

+0

Zu reich für mein Blut :) –

+0

Ich habe es ausprobiert auf eine Datei mit JSP-Code und es schien gut zu funktionieren. –

Antwort

5

ich Vim verwenden das die ganze Zeit zu tun. Es behandelt HTML nicht sehr gut, aber es tut die anderen. Es ist einfach, die Vim-Befehle zu verwenden, um die Ausführung in einer Reihe von Dateien zu automatisieren.

+0

Ich benutze auch gvim, obwohl ich kein Ninja bin. Wie genau erhalten Sie die Formatierung des Quellcodes und wie legen Sie die Anzahl der Tabs/Leerzeichen für Einzüge fest? –

+0

Der Abstand für Einzug wird festgelegt mit:: set ts = 4 sw = 4 (um Tabstops auf 4 und Shiftwidth auf 4 zu setzen). In eine .vimrc-Datei oder eine Umgebungsvariable einschließen –

+0

Danke, irgendeine Idee, wie Sie hübsch drucken? –

0

Ich benutze UltraEdit und finde es im Allgemeinen ziemlich gut. Es ist nicht kostenlos, aber es ist auch nicht so teuer.

4

Wikipedia hat eine ziemlich große Liste. Ich bin interessiert zu sehen, welcher Konsens hier entstehen könnte.

Mehrere behandeln mehrere Sprachen; z.B.

Pretty, (ein Open Source beautifier für jede Programmiersprache)

UniversalIndentGUI (Eine grafische Benutzeroberfläche für jeden ziemlich Drucker mit Live-Vorschau für die Formatierungseinstellungen)

prettyprinter.de, (ein Online-beautifier für PHP, Java, C++, C, Perl, JavaScript, CSS)

+0

Was ich suche, ist ein hübscher Drucker, der mehrere Sprachen verwenden kann, nicht eine für jede Sprache. –

+0

Es gibt mehrere, die mehrere Sprachen behandeln. – dkretz

1

Emacs ist ein persönlicher Favorit von mir. Es gibt Add-ons, die fast jede Sprache ermöglichen, von der Sie ausgehen können.

3

Für Haskell, ich habe dies in ~/bin/pp.hs:

#!/usr/bin/env runhaskell 
module Main (main) where 
import Language.Haskell.Parser 
import Language.Haskell.Pretty 
import System.Environment 
pp f = case parseModule f 
     of ParseOk m -> prettyPrint m 
      a -> show a 
main = do args <- getArgs 
      mapM_ (>>= putStrLn . pp) $ 
      if null args then [getContents] else map readFile args 

In Vim, :set equalprg=~/bin/pp.hs, eine Region auswählen, traf = und Boom, wird es verniedlicht.

Okay, es ist nicht sehr allgemein. Aber ich denke, es hat eine kleine Chance, jemandem zu helfen, wenn ich es hier hinzufüge.