Код отступа в Sublime Text 2?

В Visual Studio я могу нажать Ctrl + K + D, чтобы сделать отступ для всего, чтобы код был хорошо структурирован и читался. Есть ли в Sublime 2 ярлык, чтобы сделать то же самое?


person Kimpo    schedule 29.02.2012    source источник
comment
это автоматический отступ, а не автоматическое форматирование   -  person Muhammad Umer    schedule 15.03.2013
comment
возможный дубликат Как переформатировать HTML-код с помощью Sublime Text 2?   -  person borisano    schedule 07.05.2015


Ответы (20)


Вы можете найти его в EditLineReindent, но по умолчанию у него нет ярлыка. Вы можете добавить ярлык, зайдя в меню PreferencesKeybindingsUser, затем добавьте туда:

{ "keys": ["f12"], "command": "reindent", "args": {"single_line": false} }  

(пример использования клавиши F12 для этой функции)

В файлах конфигурации используется синтаксис JSON, поэтому фигурные скобки должны быть помещены через запятую в квадратные скобки, которые есть по умолчанию. Если у вас еще нет других привязок клавиш, то весь ваш файл KeybindingsUser, конечно, будет выглядеть так:

[
    { "keys": ["f12"], "command": "reindent", "args": {"single_line": false}}
]
person Bernd Elkemann    schedule 29.02.2012
comment
Я думаю, что у reindent должна быть привязка клавиш по умолчанию. В emacs для этого используется клавиша TAB (без модификатора). Я предлагаю привязку клавиши alt + tab, поскольку клавиша табуляции уже связана с командами отступа. - person gdelfino; 14.06.2012
comment
alt + tab? это используется для переключения окон! - person Bernd Elkemann; 14.06.2012
comment
Ой! Это показывает, что я использую Mac. Может, вкладка windows_key +? - person gdelfino; 14.06.2012
comment
нет проблем, на самом деле все эти клавиши уже используются: win + tab выбирает окно с панели задач, ctrl + tab переключает вкладки, shift + tab отключает - person Bernd Elkemann; 14.06.2012
comment
У меня это не работает. Ярлык не устанавливается (ярлык в меню не обновляется) и не работает. - person Nuno Gonçalves; 13.12.2012
comment
@ NunoGonçalves в меню не отображается новый ярлык, но он должен работать. убедитесь, что ваш Preferences - Keybindings-User содержит именно эти строки, и сохраните этот файл. Также убедитесь, что ST знает, какой тип файла / синтаксис он должен использовать (правильное ли выделение синтаксиса?). Если он по-прежнему не работает, попробуйте другой ключ (например, f8 кажется неиспользованным), тогда, если это не сработает, проверьте, отключены ли определенные пользователем привязки клавиш в вашей установке по какой-либо причине. - person Bernd Elkemann; 13.12.2012
comment
Ничего не сделав, вдруг заработало. :) Думаю, проблема была между клавиатурой и стулом :) Все равно спасибо. :) - person Nuno Gonçalves; 13.12.2012
comment
Пользователи Mac используют super + h или другую привязку, которая не используется ... super = command button - person Shehaaz; 18.09.2013
comment
@gdelfino, пожалуйста, не пытайтесь снова предлагать ярлыки .. Вкладка Win + также используется для переключения между окнами * пользователь Win 7 - person Kamran Ahmed; 02.12.2013
comment
{keys: [f12], command: reindent, args: {single_line: false}} изменит отступ всего документа без необходимости выбирать то, что вы хотите - person Alexis; 22.04.2015
comment
А как это сделать с папкой? - person EpokK; 05.05.2015
comment
"f12" используется для "goto_definition" в Sublime Text 3. Я бы порекомендовал "ctrl+\\", так как он находится прямо рядом с [ ] клавишами с отступом. Дополнительный \ предназначен для экранирования. - person Shah Abaz Khan; 02.06.2016
comment
Я не могу понять, почему они по умолчанию не делают отступ, связанный с конкретным ярлыком !! Это очень простая вещь !!!! - person hzitoun; 03.06.2016
comment
Windows: {"keys": ["alt+shift+r"], "command": "reindent", "args": {"single_line": false}} Mac: { "keys": ["command+shift+r"], "command": "reindent", "args": {"single_line": false} } - person Nik Kov; 18.03.2017

Команда reindent работает только с текущими выбранными строками, если для аргумента single_line установлено значение false.

{ "keys": ["f12"], "command": "reindent", "args": {"single_line": false} }

Теперь нажатие f12 изменит отступ всего документа.

person Nicolas Zanotti    schedule 18.07.2012
comment
Текущая строка может быть выделением с несколькими строками в нем. - person gagarine; 27.07.2012
comment
Это должен быть принятый ответ (или, по крайней мере, объединенный с принятым), поскольку в Visual Studio Ctrl + K + D также переформатирует весь документ. - person Jedidja; 24.10.2012
comment
замените [f12] на [ctrl + k, ctrl + d] для аккорда с двумя нажатиями. - person Fabian Tamp; 18.01.2013
comment
[{keys: [ctrl + shift + f], command: reindent, args: {single_line: false}}] Это моя настройка, большое спасибо !!! - person duykhoa; 13.03.2013
comment
Если выделить все строки и запустить ярлык, то форматирование будет работать целиком :) - person J4cK; 01.12.2013
comment
Спасибо за плюс (аргументы: {single_line: false}), очень полезный! - person Arthur; 06.08.2014

Кажется, никто не любит повторные отступы в Mac, поэтому вот как я это делаю:

[
   { "keys": ["command+shift+i"], "command": "reindent"}
]

В настройках> Привязка клавиш - Пользователь

Еще один дополнительный совет: добавьте

{ "keys": ["command+0"], "command": "focus_side_bar" }

для навигации по дереву файлов на боковой панели с помощью клавиатуры.

Примечание. Добавьте в конце каждого {}, если у вас более одного набора {} объектов.

person star18bit    schedule 05.12.2013
comment
пожалуйста, не используйте запятую (,) в конце оператора. Это дало мне ошибку. Введите его без запятой (,) - person Gihanmu; 19.04.2014
comment
если вы не являетесь пользователем Mac, используйте ctrl вместо command {keys: [ctrl + shift + i], command: reindent} - person Juraj Petrik; 19.02.2015

По умолчанию ярлык для повторного отступа файла отсутствует. Однако вы можете создать его, следуя приведенному выше ответу eznme.

Вы также можете использовать палитру команд, нажав:

  1. Control + Shift + P (или + Shift + P на Mac)
  2. Введите первые несколько символов Reindent, например: rein
  3. Нажмите Enter, чтобы запустить команду
    (первая команда вверху должна теперь показать Отступ: Reindent Lines)
person TrinitronX    schedule 26.12.2013

Для заинтересованных это легко изменить, но для любителей Netbeans и автоформатирования вы можете изменить привязку клавиш с F12 на ctrl + shift + F, чтобы использовать вашу любимую привязку клавиш. Печально то, что вам нужно выбрать все, чтобы отформатировать весь файл. Netbeans по-прежнему имеет в этом преимущество. Если кто-нибудь знает, как преодолеть это ограничение, я весь уши. В противном случае удачного повторного выдавливания (автоформатирования).

person JeffBaumgardt    schedule 11.06.2012
comment
Не уверен, что кто-нибудь все еще смотрит на это, кроме как ответить на @jeff. Используйте args: {single_line: false} после добавления команды, и тогда вам не нужно выбирать строки для ее форматирования. Он форматирует весь документ за вас. (Ник ввел команду дурака) - person Mr H; 16.03.2013
comment
Ярлык NetBeans - это Alt + Shift + F (по умолчанию; Ctrl + Shift + F открывает поиск по проекту), он ограничен и необязательно имеет смысл (CSS не работает, и новые строки кода могут оставаться в той же строке). Ярлык Eclipse - Ctrl + Shift + F, и в некоторых отношениях он лучше и работает с CSS, но все еще имеет проблему с новыми строками кода. У обоих есть некоторые проблемы с новыми строками для внутренних атрибутов (например, в HTML), хотя вы можете несколько настроить (подробнее в Eclipse). - person Davicus; 18.10.2014
comment
cmd + a на Mac или ctrl + a в Windows автоматически выделит весь текст для вас в текущем окне. так что сделайте это, а затем любую привязку клавиш, которую вы выбрали для автоматического отступа, чтобы переформатировать весь файл. - person user137717; 29.04.2016

Чтобы сделать отступ теми же клавишами, как Visual Studio Ctrl + K + D (я пользователь Visual Studio, поэтому я привык к этой комбинации) Я предлагаю:

[
{ "keys": ["ctrl+k", "ctrl+d"], "command": "reindent", "args": {"single_line": false} }
]

Напишите это в настройках> Привязки клавиш - Пользователь

person Sergio López    schedule 18.05.2014

Все очень просто. Просто зайдите на Edit=>Line=>Reindent

person Junan Chakma    schedule 30.11.2013

Netbeans, такие как горячая клавиша

Перейдите к PreferencesKey BindingsUser и добавьте приведенный ниже код:

[
    { "keys": ["ctrl+shift+f"], "command": "reindent", "args": {"single_line": false} }
]

Использование

Ctrl + Shift + F

person Adrian Enriquez    schedule 26.03.2015

Выделите весь код, в котором вы хотите сделать отступ, затем нажмите Ctrl + ] в Sublime text, чтобы сделать отступ.

Для пользователей macOS используйте command + ] для отступа и command + [ чтобы убрать отступ.

person MindBrain    schedule 24.01.2016

форматировщик кода.

прост в использовании.


1. установить


2. нажмите ctrl + alt + f (по умолчанию)


Вот и все.

person HIRA THAKUR    schedule 22.09.2015
comment
у меня не работает, просто отключает отступы по всем строкам. - person ; 05.11.2015
comment
Я пользуюсь им уже довольно давно. Работает нормально. В чем проблема. Установка прошла успешно. - person HIRA THAKUR; 05.11.2015
comment
Конечно, да, я использую его против фрагментов HTML ... у всех строк удалены отступы. Похоже на стихотворение ... :( - person ; 05.11.2015

Помимо встроенной функции «Redendent», вы также можете установить другие плагины, такие как SublimeAStyleFormatter и CodeFormatter. Эти плагины лучше подходят для их конкретного языка.

person Jon    schedule 11.03.2014

На всякий случай, если это перестает работать для кого-то вроде меня, в OS X командный ключ идентифицируется как super, поэтому он должен иметь возможность делать что-то вроде этого:

[
    {
    "keys": ["super+i"], 
    "command": "reindent", 
    "args": {
        "single_line": 
        false}
    } 
]

в этом случае использование command + i приведет к отступу всего вашего кода (например, eclipse :))

person Ordiel    schedule 20.03.2015

Раньше я использовал Alt + Shift + F в NetBeans, я проверил, и нет никаких столкновений в массиве клавиш по умолчанию sublime, поэтому я добавил его в свой Sublime, и я использую его без проблем.

person Eduardo    schedule 26.11.2013

Если вам нравится привязка клавиш по умолчанию для IntelJ IDEA, выберите Настройки> Настройки - Пользователь:

введите описание изображения здесь

И вставьте следующее, чтобы иметь ярлык command + shift + l для автоматического отступа:

[
   { "keys": ["command+shift+l"], "command": "reindent"}
]
person Yuchen    schedule 25.06.2017

Вы можете добавить ярлык, перейдя в меню НастройкиСвязки клавишПользователь, а затем добавьте туда:

{ "keys": ["f12"], "command": "reindent", "args": {"single_line": false} }  
person Love Kumar    schedule 17.05.2019

Для автоматического форматирования в Sublime Text 2: Установите пакет: тег из палитры команд, затем перейдите в меню «Правка» -> «Тег» -> «Теги автоформатирования в документе».

person evanjw    schedule 22.11.2013

Выделите все или все, что вы хотите изменить отступ, и нажмите Alt + E + L + R. Это действительно быстро и безболезненно.

person bbandf    schedule 30.10.2018

Это моя конфигурация для sublime-keymap:

[
  {
    "keys": [",+=+="],
    "command": "reindent",
    "args": {
      "single_line": false
    }
  }
]

Для пользователей vim просто используйте ,==, чтобы изменить отступ для всего файла.

person Alan Dong    schedule 15.02.2016

{ "keys": ["f12"], "command": "reindent", "args": {"single_line": false} } 

Вы можете получить опцию Redent, используя приведенный выше код

person Abhishek    schedule 02.11.2019

Сначала откройте возвышенный текст.
затем откройте настройки.
затем откройте Key Bindings -User.
чем введите приведенный ниже код

[{"keys": ["ctrl + shift + c"], "command": "redent"},]

Я использую Ctrl Shift C, а вы также используете другие клавиши быстрого доступа.

person Er CEO Vora Mayur    schedule 02.01.2017