#javascript #aptana #indentation #auto-indent
#javascript #aptana #отступ #автоматический отступ
Вопрос:
Ранее я использовал Eclipse для разработки на PHP и Java, и мне понравилась команда Ctrl i
для автоматического отступа в коде.
Теперь я использую Aptana Studio, основанную на Eclipse, для разработки JavaScript. Я хотел бы автоматически сделать отступ в своем коде JavaScript, но Ctrl i
удаляет весь мой код. Есть ли какая-либо другая команда, которая автоматически делает отступ в коде JavaScript в Aptana Studio?
Ответ №1:
В студии пока нет этой функции. Вы можете добавить запрос функции здесь: https://aptana.lighthouseapp.com/projects/35272-studio/tickets/new
Ctrl Shift F отформатирует весь ваш файл, как предложил Тим. Вы можете управлять некоторыми настройками форматирования через настройки в «Window -> Preferences -> Aptana Studio -> Formatter»
Комментарии:
1.
Ctrl Shift F
кажется, это хорошо работает для PHP, но, похоже, это не работает для JavaScript.2. Это также должно работать для JS. Если вы получили ошибку в журнале, вы можете открыть ticket с каким-нибудь примером кода, который ее запускает, и мы это исправим 🙂
3. Решение @Jonas работает для меня в Aptana 3.4.2 для JS. Вопрос довольно старый, поэтому я полагаю, что он был добавлен тем временем.
Ответ №2:
Может быть, вы имеете в виду функцию форматирования CTRL SHIFT F
?
Комментарии:
1. О, нет, я попробовал эту команду для PHP сейчас, и она все изменила. Раньше мои строки имели максимум 80 символов, но теперь они могут быть очень длинными. В любом случае, спасибо.
2. Это помогло мне сделать отступ в коде javascript. Спасибо. в некоторых местах, таких как операторы if и else… отступ заполняется. но для меня это нормально.
Ответ №3:
Я только что обновился до Aptana Studio 3.0.9, и теперь, похоже, при некоторых обстоятельствах она способна форматировать определенные (выбранные) строки JavaScript, HTML и CSS. Привязка ключа по умолчанию для меня была чем-то странным, поэтому я изменил привязку ключа на CTRL I
in Preferences > General > Keys
.
Если код не выбран, то Source > Format
кажется, что он всегда надежно форматирует весь файл. Поведение параметра Source > Format
при выделениях отличается в зависимости от типа редактируемого кода:
JavaScript
- Редактирование файла .js:
Source > Format
похоже, что все работает так, как вы ожидали: если вы выделите несколько строк кода, тоSource > Format
отступ будет корректным только для выбранных строк кода. - Редактирование JavaScript в HTML: Форматирование JavaScript в HTML-файле, похоже, работает большую часть времени, но иногда дает сбой; я не смог обнаружить правила.
HTML
- Если вы выделите фрагмент HTML, И ЕСЛИ верхняя строка этого выделения уже имеет правильный отступ, И ЕСЛИ выделение не содержит каких-либо незакрытых элементов, то
Source > Format
все будет сделано правильно. - В противном случае
Source > Format
, похоже, действует непредсказуемо с HTML.
CSS
- Редактирование файла .css:
- работает нормально, если я выбираю целое правило (т. Е. Включая все
selector { declaration block; }
) (в этом случае Aptana форматирует только это правило). - Но если мой выбор не включает все правило, то я получаю сообщение об ошибке.
- работает нормально, если я выбираю целое правило (т. Е. Включая все
- Редактирование css в HTML:
- Если в блоке выбрана часть
<style>
CSS, тоsource > format
будет отформатирован весь css в этом<style>
блоке. Кажется, нет способа отформатировать всего несколько строк css в html.
- Если в блоке выбрана часть
Если кто-нибудь в ближайшие несколько дней не укажет, что этот пост содержит фатальные недостатки, я отправлю запрос на обновление по адресуhttps://jira.appcelerator.org чтобы запросить согласованность в поведении форматирования для разных типов кода (беглый взгляд на существующую функцию и запросы об ошибках показывает, что форматированию кода в последнее время уделяется значительное внимание).
обновление от 19/3/2012 Я опубликовал эту ошибку в JIRA: https://jira.appcelerator.org/browse/APSTUD-4516
Ответ №4:
У меня была такая же проблема, и я наткнулся на этот сайт: jsbeautifier Возможно, вы захотите это проверить. У меня все отлично сработало 😉