Мне нравится Textmate, но это действительно сводит меня с ума, когда дело доходит до форматирования кода независимо от языка, с которым я работаю. Есть ли способ отформатировать код? ярлык, пакет или что-нибудь, что может помочь (например, Ctrl + Shift + F в NetBeans)?
3 ответа
Нет.
В текстовом меню есть команда « Переформатировать абзац», но она в основном бесполезна для программирования.
Однако некоторые языковые пакеты (например, Javascript Tools) предлагают варианты переформатирования.
Textmate 2 имеет отступ для каждого языка (насколько это возможно: см. Ниже).
Вы можете сделать отступ в блоке с помощью ⌥⌘-[ Вы можете переразметить строки с помощью ^-Q Вы можете выровнять код по символам с помощью ^⌥⌘-9
Пример правила отступа в настройках (для обычных пользователей их не нужно редактировать)
{   increaseIndentPattern = '(?x)
    (   \{ (?! .* \} ) .*
    |   array\(
    |   (\[)
    |   ((else)?if|else|for(each)?|while|switch) .* :
    )   \s* (/[/*] .*)? $';
decreaseIndentPattern = '(?x)
    ^ (.* \*/)? \s*
    (
        (\})         |
        (\)[;,])     |
        (\][;,])     |
        (else:)      |
        ((end(if|for(each)?|while|switch));)
    )
';
indentNextLinePattern = '(?x)^(?! .*? (<\?|\?>) )
    ( . ( (?![/*]) | /(/.*$|\*.*?\*/ \s*) ) )*
    [^\s;:{}(,] \s*
    ( /(/.*$|\*.*?\*/ \s*) )*
    $
';
unIndentedLinePattern = '^\s*$';
}
Если все, что вы хотите сделать, это сделать отступ:
- выберите код
 - текст> строка отступа
 
Все, что он делает, это делает отступ для каждого вложенного уровня больше, чем его родитель. Он не будет стирать пустые строки или создавать возврат каретки.
Лично я люблю это, потому что это кажется независимым от языка. Протестировано с HTML, ERB, CSS, SCSS.
