5

我正在寻找一种可以以尽可能多的语言漂亮地打印(AKA 整洁或美化)源代码的工具。我特别热衷的包括:

  • 爪哇
  • JSP
  • HTML
  • JavaScript
  • SQL
  • JSON
  • XML

理想情况下,该工具应该能够就地更新源文件,并且能够一次格式化多个文件。如果它可以格式化包含多种语言的文件(例如,包含 HTML、Java 和 JavaScript 源代码的 JSP),那就太好了,但这可能要求有点高。

我已经找到了一个似乎涵盖很多语言的商业工具,但免费的会更好:)

顺便说一句,我知道大多数语言都有一台漂亮的打印机,但我正在寻找的是“一站式商店”。

干杯,唐

4

5 回答 5

5

我一直使用 Vim 来做这件事。它不能很好地处理 HTML,但它可以处理其他的。使用 Vim 命令很容易在多个文件上自动运行它。

于 2008-10-30T20:33:01.550 回答
4

维基百科有一个很大的列表。不过,我有兴趣看看这里可能会出现什么共识。

几个处理多种语言;例如

PrettyPrinter,(每种编程语言的开源美化器)

UniversalIndentGUI(任何漂亮打印机的图形用户界面,带有格式设置的实时预览)

prettyprinter.de,(PHP、Java、C++、C、Perl、JavaScript、CSS 的在线美化工具)

于 2008-10-30T20:45:28.623 回答
4

对于 Haskell,我有这个~/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

在 Vim 中:set equalprg=~/bin/pp.hs,选择一个区域,点击=,然后繁荣,它会被美化。

好吧,不是很笼统。但我认为如果我在这里添加它,它帮助某人的机会很小。

于 2008-10-30T21:24:43.443 回答
1

Emacs 是我个人的最爱。有一些附加组件允许您使用几乎所有的语言。

于 2008-10-30T20:53:45.877 回答
0

我使用UltraEdit并发现它通常非常好。它不是免费的,但也不是那么贵。

于 2008-10-30T20:37:53.040 回答