Автоматическое форматирование кода Sublime Text 3

Я искал высоко и низко, но я не могу найти плагин, который заставляет Sublime работать подобно тому, как Visual Studio форматирует мой код при вводе его.

Например, когда я пишу цикл for, он выглядит примерно так:

for(int i=0;i<value.length;i++) {
    //loop body
}

Как только я завершу тело цикла, Visual Studio отформатирует его, чтобы быть более читаемым:

for (int i = 0; i < value.length; i++)
{
    //loop body
}

В принципе, он просто добавляет пространства вокруг операторов в этом случае, но он делает гораздо больше. Если я напишу ужасно отступы HTML/XML-код, он исправляет отступ. Массивы и многострочные условия становятся более читаемыми.

Есть ли там плагины Sublime Text 3, которые делают что-то похожее на это? Кажется, что все очень рекомендуют команду "Reindent", которая работает для форматирования HTML/XML, но она не ограничивает все последовательным образом. JsParen выглядит неплохо, но он не будет работать ни на каком другом языке, который я использую, а именно на PHP, и на ST2.

Ответ 1

CodeFormatter - один из возможных вариантов для PHP. Он использует PEAR PHP_Beautifier, который вам потребуется установить отдельно. В README есть множество параметров конфигурации, поэтому вы должны найти что-то, что соответствует вашим потребностям.

Для кода C/С++/С#/Java вы не ошибетесь в SublimeAStyleFormatter, форматировщик, который использует популярный AStyle правила. Опять же, есть много доступных опций, подробнее просмотрите файл .sublime-settings.

HTML-CSS-JS Prettify - это то, что я использую в настоящее время для этих языков. Для этого требуется node.js, поэтому внимательно прочитайте инструкции.

Наконец, вы можете подумать, что я преуспеваю, но я действительно не так: обратите внимание на стиль, когда вы кодируете. Я много работаю в Python, где визуальное представление кода на самом деле является частью синтаксиса. Код предназначен для чтения, другими разработчиками, а также машинами, и никому не нужно пытаться искривлять плохо отформатированный, ненавязчивый код, думая: "Я просто прикончу его позже". Возможно, ваш форматировщик не исправит все ваши ошибки, или, может быть, вы забудете или получите ленивость. Если вы сосредоточитесь на внешнем виде и структуре кода, вы можете более легко увидеть, как разные части подходят друг другу, и, возможно, поймать некоторые ошибки, прежде чем они смогут нанести какой-либо вред. Установите для себя четкое руководство по стилю и придерживайтесь его. Вы будете рады, что сделали.