один симпатичный принтер "чтобы управлять ими всеми" - PullRequest
5 голосов
/ 30 октября 2008

Я ищу инструмент, который может красиво напечатать (AKA Tidy или Beautify) исходный код на максимально возможном количестве языков. Те, которые мне особенно интересны, включают:

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

В идеале инструмент должен иметь возможность обновлять исходные файлы на месте и иметь возможность форматировать более одного файла за один раз. Было бы здорово, если бы он мог форматировать файлы, содержащие несколько языков (например, JSP, содержащий исходный код HTML, Java и JavaScript), но это, вероятно, требует много.

Я уже нашел коммерческий инструмент , который, кажется, охватывает много языков, но бесплатный был бы еще лучше:)

Кстати, я знаю, что для большинства языков есть симпатичный принтер, но я ищу "универсальный магазин".

Ура, Дон

Ответы [ 5 ]

5 голосов
/ 30 октября 2008

Я использую Vim, чтобы делать это все время. Он не очень хорошо справляется с HTML, но с остальными. Команды Vim легко использовать для автоматизации запуска нескольких файлов.

4 голосов
/ 30 октября 2008

Википедия имеет большой список. Мне интересно посмотреть, какой консенсус может возникнуть здесь.

Несколько обрабатывают несколько языков; например

PrettyPrinter, (инструмент с открытым исходным кодом для каждого языка программирования)

UniversalIndentGUI (графический пользовательский интерфейс для любого красивого принтера с предварительным просмотром настроек форматирования)

prettyprinter.de, (онлайн-украшение для PHP, Java, C ++, C, Perl, JavaScript, CSS)

3 голосов
/ 31 октября 2008

Для Хаскелла у меня это в ~/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, выберите регион, нажмите =, и бум, он получает предварительное подтверждение.

Хорошо, это не очень общее. Но я полагаю, что у меня есть небольшой шанс помочь кому-нибудь, если я добавлю это сюда.

1 голос
/ 30 октября 2008

Emacs - мой личный фаворит. Существуют дополнения, которые позволяют использовать практически все языки.

0 голосов
/ 30 октября 2008

Я использую UltraEdit и нахожу, что это в целом довольно хорошо. Это не бесплатно, но и не так дорого.

...