2010-12-11 5 views
4

Существует ли GNU indent для стилизации источников C, есть ли эквиваленты для JavaScript?Иконный эквивалент C-подстрока

Я хочу, чтобы у него были варианты стиля кодирования, стиль отступа и т. Д., Как indent.

Я буду использовать его для довольно большого проекта на платформе * NIX, поэтому мне не нравятся служебные программы Windows или онлайн-инструменты.

ответ

1

Там в jsBeautifier, который можно запустить из командной строки с помощью Rhino в Java-совместимой среде или запустить через V8 (или несколько других , проверьте github page). По-видимому, они работают над версией командной строки Python.

Видимо, кто-то запустил (по крайней мере) на updating indent itself to understand JavaScript. Радость с открытым исходным кодом! Даже если неполно, Синтаксисы так похожи ...(Нет, по-видимому, это просто веб-страницы передний конец indent   — не помогает вообще.) Так перефразировать: Интересно, как трудно было бы изменить indent для поддержки JavaScript? Синтаксисы так похожи ...

+0

Начало было еще в 2005 году. :-) –

+0

@ryanli: Я бы ударил так хорошо перед вашим комментарием, вы, должно быть, смотрели на устаревшую страницу - похоже, он даже не модифицировал ' indent', просто сделал перед ним интерфейс. Не полезно. :-) –

+0

Я вижу, я печатаю медленно ... Было бы полезно, если бы кто-то мог взломать 'indent' для JavaScript. Но если нет, мне, возможно, придется попробовать js-beautifier, хотя его создание довольно сложно. –

2

Я не использовал его, но я добавил в закладки js-beautify некоторое время назад, и быстрая проверка, похоже, указывает, что он может удовлетворить ваши требования. (И, будучи написана на JavaScript, вы, вероятно, может улучшить его легко.)

+0

Спасибо за ответ, но инструмент командной строки требует зависимости от V8, и это довольно огромно ... Что-то, построенное на вершине 'indent', как сказал Коудер, было бы, конечно, лучше. –

+0

@ryanli: не требуется V8 (и V8 не является огромной зависимостью, тривиально добавлять в систему \ nix - я был удивлен, насколько это было легко). Вы можете * использовать V8 для запуска из командной строки или Rhino (большая зависимость в моей книге). –

+0

Сам V8 примерно в 10 раз больше размера 'indent', но я все равно его проверю, так как кажется, что здесь нет конкурентов. –

2

У вас есть несколько вариантов:

Некоторых редактора также сделать это для вас:

  • Emacs
  • VI (м)
  • Затмение
  • ...

правок:

  • Другой онлайн инструмент, JavaScript Indent утверждает, что она использует Отступ в самом заднем плане. Возможно, автор разделит настройки. Не так здорово, но начинаешь.
  • страница JS Beautifier также упоминает, что версия Python развивается, когда мы говорим. Повторим позже. Тем временем вы можете использовать его с Rhino, как указано на их странице.

Наконец, есть уже несколько SO отвечая на вопросы в этом, которые вы можете найти by searching (некоторые результаты указывают на форматтеров для отображения кода в Интернете, который это другое дело, если бы вы могли использовать его в качестве а):

+0

Спасибо за ответ. Раньше я выполнял несколько запросов, но большинство результатов не удовлетворяло. Например, возьмите lint, это в основном для Windows, и есть еще несколько инструментов, написанных на JavaScript. Я бы предпочел те, которые были написаны на C. –

+0

Как работает Closure Linter с красивой печатью? Я имею в виду, конечно, есть команда 'fixjsstyle', но вы практически не контролируете ее. И служба компилятора - это, конечно же, онлайн-инструмент - ryanli задал специально для офлайн-опций. –

+0

@ T.J. Кроудер: Правда, у вас нет большого контроля над ними, поэтому, если вы не можете найти то, что имеет правильный набор настраиваемых параметров, возможно, вы можете найти тот, который делает это так, как вам нравится. Лично я использую Closure Linter, и я редактировал его код, чтобы делать то, что хочу, и не жалуюсь на вещи, где мне все равно. – haylem

0

Существует Javascript Tidy, в котором используется браузер для переформатирования кода Javascript. Таким образом, результаты зависят от используемого вами браузера.

Вы не можете определить стиль, но как только Javascript был переформатирован в стандартном формате, проще изменить исходный код в соответствии с вашим собственным стилем.

0

libjavascript-beautifier-perl пакет имеет /usr/bin/js_beautify, что делает трюк для меня.

Смежные вопросы