Использование Sublime Text 3 — Expertus metuit
Когда-то я писал о личном опыте использвания Sublime Text 2, а после выхода Sublime Text 3 решил начать новую статью, ориентированную именно на версию 3 с небольшим акцентом на миграцию с 2 на 3.
Sublime Text — это профессиональный программерский текстовый редактор. Он завоевал очень большую популярность благодаря проработанности интерфейса, кроссплатформенности, удобной и простой расширяемости плагинами. Мои впечатления со времён написания первой статьи не особо изменились, поэтому я второй раз их переписывать не буду.
В самом начале нужно поставить «главное расширение» Package Control, потом через него можно ставить другие, включать/отключать и так далее. Процесс установки описан здесь.
Ниже список расширений, которые не входят в начальную поставку, но весьма полезны (они все ставятся через Package Control).
- SyncedSideBar
- Синхронизует текущий открытый файл с деревом файлов в панели слева.
- Sublime Linter
- Проверка синтаксиса в реальном времени, подсвечивает места в коде, содержашие (потенциальные) ошибки и прочие «плохие» места. Использует внешние программы для собственно проверки, например, для XML использует
xmllint
, для Java —javac -Xlint
. - CommentsAwareEnter
- «Умный» Enter внутри комментария, позволяет писать, например, многострочные комментарии автоматически, просто нажимая на Enter. Работает с комментариями типа
//
, но не с/* */
. - DocBlockr
- Упрощает работу с комментариями, автоматически расширяет
/** */
-блоки, например. - All Autocomplete
- Включает поиск для автодополнения по всем открытым в редакторе файлам, а не только в текущем. Я для себя этот проект форкнул и немного подредактировал, чтобы исправить несколько надоедливых багов (https://github.com/sigsergv/SublimeAllAutocomplete).
А вот эти расширения я пробовал, но отказался от них из-за большого количества багов.
- Sublime CodeIntel
- Более удобная работа с кодом: переход по символам (Alt+Click), подсказки с аргументами функций, более качественное автодополнение. Заявлена поддержка вот этого зоопарка: PHP, Python, RHTML, JavaScript, Smarty, Mason, Node.js, XBL, Tcl, HTML, HTML5, TemplateToolkit, XUL, Django, Perl, Ruby, Python3
В Sublime Text очень активно используется клавиатура, очень много хоткеев на все случаи, но они часто отличаются от хоткеев из других редакторов. Посмотреть текущие можно через меню Preferences → Key Bindings — Default, откроется таб конфигом текущих системных хоткеев. Можно эти хоткеи менять на свои, но лучше это делать через пользовательский конфиг хоткеев, он открывается из меню
Ниже идёт конфиг, который я использую, в нём частично хоткеи из еклипса, частично мои собственные.
// eclipse-like key bindings, for sublime text v.3 (macos) // author: Sergey Stolyarov <[email protected]> [ // disable some hotkeys { "keys": ["ctrl+f3"], "command": "unbound" }, { "keys": ["ctrl+shift+f3"], "command": "unbound" }, { "keys": ["ctrl+g"], "command": "unbound" }, { "keys": ["ctrl+q"], "command": "unbound" }, // find selected text { "keys": ["super+k"], "command": "find_under" }, { "keys": ["super+shift+k"], "command": "find_under_prev" }, // delete word before cursor { "keys": ["super+w"], "command": "delete_word", "args": { "forward": false } }, // delete line (default ctrl+shift+k) { "keys": ["ctrl+d"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Delete Line.sublime-macro"} }, // auto completion { "keys": ["super+p"], "command": "auto_complete" }, // open files list overlay { "keys": ["ctrl+3"], "command": "show_overlay", "args": {"overlay": "goto", "show_files": true} }, // add line { "keys": ["shift+enter"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Add Line. sublime-macro"} }, { "keys": ["ctrl+shift+p"], "command": "move_to", "args": {"to": "brackets"} }, { "keys": ["super+shift+p"], "command": "move_to", "args": {"to": "brackets"} }, // jump to line { "keys": ["super+l"], "command": "show_overlay", "args": {"overlay": "goto", "text": ":"} }, { "keys": ["ctrl+l"], "command": "show_overlay", "args": {"overlay": "goto", "text": ":"} }, // use Ctrl+H for searching in files { "keys": ["ctrl+h"], "command": "show_panel", "args": {"panel": "find_in_files"} }, { "keys": ["super+h"], "command": "show_panel", "args": {"panel": "find_in_files"} }, { "keys": ["ctrl+shift+f"], "command": "unbound" }, { "keys": ["super+shift+f"], "command": "unbound" }, // use Ctrl+F both for searching and replacing { "keys": ["ctrl+f"], "command": "show_panel", "args": {"panel": "replace"} }, { "keys": ["super+f"], "command": "show_panel", "args": {"panel": "replace"} }, // expand selection to complete line { "keys": ["super+shift+l"], "command": "expand_selection", "args": {"to": "line"} }, { "keys": ["ctrl+shift+l"], "command": "expand_selection", "args": {"to": "line"} }, // case conversions { "keys": ["alt+up"], "command": "upper_case" }, { "keys": ["alt+down"], "command": "lower_case" }, // close all opened tabs {"keys": ["shift+ctrl+w"], "command": "close_all"}, // open methods lookup { "keys": ["ctrl+r"], "command": "show_overlay", "args": {"overlay": "goto", "text": "@"} }, { "keys": ["f3"], "command": "find_next" } ]
Главные настройки хранятся в файле В sublimetext хорошо организована работа с проектами, между ними легко переключаться с сохранением открытых файлов. У каждого проекта есть свои собственные настройки, они хранятся в файле, который можно открыть из меню Project → Edit project, это точно такой же json, как и файл с настройками программы или хоткеев. Главный элемент этого конфига — объект Помимо Самая главная проблема — автодополнение кода, оно крайне примитивно и очень быстро стандартного автодополнения становится мало. Нормальных плагинов, которые бы эту проблему решали, пока нет. Спросил Изменено
1 год, 3 месяца назад Просмотрено
1,1 млн раз 1373 Новинка! Сохраняйте вопросы или ответы и организуйте свой любимый контент. У меня есть плохо отформатированный код HTML, который я хотел бы переформатировать. Есть ли команда, которая автоматически переформатирует HTML-код в Sublime Text 2, чтобы он выглядел лучше и его было легче читать? 3 Для этого не нужны никакие плагины.
Просто выберите все линии ( CTRL + A ), а затем в меню выберите «Правка» → «Линия» → «Повторить отступ».~/. &*|+=[]{}`~?",
// использовать отступы пробелами по умолчанию
"translate_tabs_to_spaces": true,
// файлы для игнора в разных списках
"file_exclude_patterns": [
"build/*",
"*.pyc"
],
// включаем перенос по словам
"word_wrap": true,
// скрываем кнопки закрывания табов, пользуемся нажатием на колесо для этого
"show_tab_close_buttons": false,
// делаем табы с несохранёнными изменениями более заметными
"highlight_modified_tabs": true,
// отключаем переключение табов колесом мыши
"mouse_wheel_switches_tabs": false,
// отключаем плавную прокрутку
"scroll_speed": 0,
// всегда показывать текующую позицию в минимапе
"always_show_minimap_viewport": true,
// включаем автоматическую синхронизацию для плагина SyncedSideBar
"reveal-on-activate": true,
// отключаем «схлапывание» табов
"enable_tab_scrolling": false,
// включаем показ кодировки в статусбаре
"show_encoding": true,
// при поиске подставлять выделенный текст в поле поиска
"find_selected_text": true,
// позволяет прокручивать текст за пределы конца файла
"scroll_past_end": true,
"ignored_packages":
[
"Vintage"
]
}
folders
, в нём для каждой папки проекта создаётся отдельный объект, элемент path
задаёт путь к папке.path
там могут находиться и другие элементы, например, name
(строкового типа) задаёт отображаемое имя каталога в дереве проекта. Другие полезные элементы — списки file_exclude_patterns
и folder_exclude_patterns
. Вот простейший пример проектного конфига:{
"folders":
[
{
"path": "/home/user/projects/pyrone",
"file_exclude_patterns": ["*.in", "*.pyc"],
"folder_exclude_patterns": ["pyrone.egg-info", "storage", "data"]
}
]
}
sublimetext2 — Как переформатировать HTML-код с помощью Sublime Text 2?
Узнать больше. .html
или .php
.
Если вы делаете это часто, вам может пригодиться следующее сопоставление клавиш:
{ "клавиши": ["ctrl+shift+r"], "команда": "повторно" , "аргументы": { "single_line": false } }
Если ваш файл не сохранен (например, вы только что вставили фрагмент в новое окно), вы можете вручную установить язык для отступа, выбрав в меню Вид → Синтаксис → выбранный язык
перед выбором параметра повторного отступа.
26
В Sublime существует около полудюжины способов форматирования HTML. Я протестировал каждый из самых популярных плагинов (полную информацию см. в статье, которую я сделал в своем блоге), но вот краткий обзор некоторых из наиболее популярных вариантов:
Команда Reindent
Плюсы:
- Поставляется с Sublime, поэтому установка плагина не требуется
Минусы:
- Не удаляет лишние пустые строки
- Не удается обработать минимизированный HTML, строки с несколькими открытыми тегами
- Неправильный формат
Плюсы:
- Поддержка ST2/ST3
- Удаляет лишние пустые строки
- Нет двоичных зависимостей
Минусы:
- Заглушки на тегах PHP
- Неправильно обрабатывает
блоков
Плюсы:
- Обрабатывает теги PHP
- Некоторые параметры настройки форматирования
Минусы:
- Требуется PHP(возврат к веб-сервису)
- Только ST2
- Брошенный?
Плюсы:
- Поддержка ST2/ST3
- Простые зависимости без бинарных зависимостей
- Поддержка OS X,Win и Linux
Минусы:
- Немного тормозит встроенными комментариями
- Раскрывает ли свернутый/сжатый код
Плюсы:
- Поддержка ST2/ST3
- Обрабатывает HTML,CSS,JS
- Отличная интеграция с меню Sublime
- Широкие возможности настройки
- Настройки для каждого проекта
- Формат при сохранении,опция
Минусы:
- Требуется Node.js
- Не подходит для встроенного PHP
Что лучше?
HTML-CSS-JS Prettify — победитель в моей книге.Много замечательных функций,не на что жаловаться.
15
Единственный пакет,который мне удалось найти,это Tag.
Вы можете установить его с помощью управления пакетами.https:5
Я рекомендую этот плагин:HTML/CSS/JS Prettify,он действительно работает.
После установки просто выберите код и нажмитеCTRL+SHIFT+H.
Готово!
4
Просто общий совет.Что я сделал для автоматической очистки моего HTML,так это установил пакет HTML_Tidy,а затем добавил следующую привязку клавиш к настройкам по умолчанию(которые я использую):
{"ключи":["ввод"],"команда":"html_tidy"},
это запускает HTML Tidy при каждом вводе.В этом могут быть недостатки,я сам новичок в Sublime,но,похоже,он делает то,что я хочу 🙂
2
Хотя вопрос касается HTML,я также хотел бы дополнительно предоставить информацию о том,какавтоматически форматировать ваш код Javascript для Sublime Text 2;
Вы можете выбрать весь свой код(CTRL+A)и использовать функциональность в приложении,изменить отступ(Edit
->Line
->Reindent
)или вы можете использовать плагин форматирования JsFormat дляSublime Text 2
,если вы хотите иметь больше настраиваемых параметров форматирования кода в дополнение к вкладке Sublime Text по умолчанию./отступ настроек.
https:(Контроллер пакетов покажет статус установки с успехом и ошибками в нижней левой панелиSublime
)
Добавьте следующую строку к вашим привязкам клавиш(Preferences
->Key Bindings User
)
{"клавиши":["ctrl+alt+2"],"команда":"js_format"}
Я используюCTRL+ALT+2,вы можете изменить эту комбинацию клавиш как хотите.Пока чтоJsFormat
— хороший плагин,стоит попробовать!
Надеюсь,кому-нибудь это поможет.
Для меня решениеHTML Prettify
было чрезвычайно простым.Я перешел на страницу HTML Prettify.
- Требуется
Sublime Package Manager
- Следуйте инструкциям по установке менеджера пакетов здесь
- набраноCMD+SHIFT+Pдля вызова меню
- Напечатано
красиво
- Выберите в меню пункт
HTML prettify
Стрела.Сделанный.Выглядит великолепно
3
Есть подключаемый модуль SublimeHtmlTidy,который работает очень хорошо 2
Я создал пакет под названиемHTMLBeautify,который неплохо справляется с переформатированием HTML.Я взял за основу Perl-скрипт,который нашел в 1997 году,— я обновил его,чтобы он работал со всеми новыми модными современными тегами.🙂
Проверьте это и дайте мне знать,что вы думаете!
https:8
Я думаю,это то,что вы ищете:
https:
У меня еще нет права комментировать,так что это просто дополнительная информация,связанная с ответом@peter выше ответа.
Я обнаружил,что HTML не выравнивается,как ожидалось,если условные комментарии IE в заголовке не были полностью встроенными,например.вровень слева:
Существует хороший плагин CodeFormatter с открытым исходным кодом, который (наряду с повторным отступом) может украсить грязный код, даже если он весь находится в одной строке.
3
Я использую tidy вместе с пользовательской системой сборки для улучшения HTML.
У меня есть HTMLTidy.sublime-build в моем каталоге Packages/User/:
{ "cmd": ["tidy", "-config", "$packages/User/tidy_config.cfg", "$file"] }
и файл tidy_config.cfg в той же директории:
отступ: авто размер вкладки: 4 шоу-предупреждения: нет обратная запись: да тихо: да отступ-cdata: да приборная метка: нет обернуть: 0
И просто выберите систему сборки и нажмите CTRL + B или CMD + B , чтобы переформатировать содержимое файла. Одна небольшая проблема заключается в том, что ST2 не перезагружает файл автоматически, поэтому, чтобы увидеть результаты, вам нужно переключиться на какой-то другой файл и обратно (или на другое приложение и обратно).
На Mac я использовал macports для установки приборки, на Windows вам нужно будет скачать ее самостоятельно и указать рабочий каталог в системе сборки, где находится приборка:
"working_dir": "c:\\HTMLTidy\ \"
или добавьте его в ПУТЬ.
вы можете установить горячую клавишу F12 легко!!!
{ "keys": ["f12"], "command": "reindent", "args": { "single_line": false } }
подробнее здесь.
1
HTML-CSS-JS Prettify — бесспорно лучший.
- Установка управления пакетами
- ⌘ + сдвиг влево + p (или ctrl + alt + сдвиг влево + p) -> Управление пакетами: установить пакет
- Введите HTML-CSS-JS Prettify
- Установить узел
- Перезапустите Sublime Text
Наслаждайтесь.
sublimetext2 - Автоформатирование кода Sublime Text 3
Спросил
Изменено 9 месяцев назад
Просмотрено 46к раз
20
Новинка! Сохраняйте вопросы или ответы и организуйте свой любимый контент.
Узнать больше.
Я искал сверху и снизу, но я не могу найти плагин, который заставляет Sublime работать так же, как Visual Studio форматирует мой код, когда я его печатаю.
Например, когда I написать цикл for
, он будет выглядеть примерно так:
for(int i=0;iКак только я закончу тело цикла, Visual Studio отформатирует его, чтобы сделать его более читабельным:
для (int i = 0; i < value.length; i++) { //тело цикла }По сути, в данном случае это просто добавление пробелов вокруг операторов, но это делает гораздо больше. Если я пишу код HTML/XML с ужасными отступами, он исправляет отступ. Массивы и многострочные условные операторы стали более читабельными.
Существуют ли плагины Sublime Text 3, которые делают что-то подобное? Кажется, все настоятельно рекомендуют команду «Reindent», которая работает для форматирования HTML/XML, но не разделяет все последовательно. JsParen выглядит хорошо, но он не будет работать ни с одним другим языком, который я использую, а именно с PHP, и он для ST2.
- сублимтекст2
- сублимтекст
- сублимтекст3
0
CodeFormatter — один из возможных вариантов для PHP. Он использует PEAR PHP_Beautifier, который вам нужно будет установить отдельно. В README подробно описано множество параметров конфигурации, поэтому вы сможете найти то, что соответствует вашим потребностям.
Для кода C/C++/C#/Java вы не ошибетесь с SublimeAStyleFormatter, средством форматирования, использующим популярные правила AStyle. Опять же, есть много доступных вариантов, проверьте
.sublime-settings
файл для деталей.HTML-CSS-JS Prettify — это то, что я сейчас использую для этих языков. Для работы требуется node.js, поэтому обязательно внимательно прочитайте инструкции.
Наконец, вы можете подумать, что я шучу, но на самом деле это не так: обратите внимание на стиль при кодировании. Я много работаю на Python, где визуальное представление кода фактически является частью синтаксиса. Код предназначен для чтения как другими разработчиками, так и машинами, и никому не стоит пытаться набирать плохо отформатированный код без отступов, думая: «Я просто улучшу его позже». Может быть, ваш форматтер не исправляет все ваши ошибки, или, может быть, вы забываете или ленитесь. Если вы сосредоточитесь на внешнем виде и структуре кода, вам будет легче увидеть, как различные части сочетаются друг с другом, и, возможно, обнаружить некоторые ошибки, прежде чем они смогут причинить какой-либо вред. Установите для себя четкое руководство по стилю и придерживайтесь его. Вы будете рады, что сделали.
3
- Откройте редактор Sublime Text.
- Нажмите Ctrl + Shift + P.
- В меню выберите Управление пакетами: установить пакет
- Теперь выберите SublimeAStyleFormatter.
После установки вышеуказанного расширения вы можете нажать Ctrl + Alt + F , чтобы отформатировать текущий файл.