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

500

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

Kimpo
источник
4
это автоматический отступ, а не автоматическое форматирование
Мухаммед Умер,

Ответы:

843

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

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

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

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

[
    { "keys": ["f12"], "command": "reindent", "args": {"single_line": false}}
]
Бернд Элькеманн
источник
28
альт + таб? это используется для переключения окон!
Бернд Элькеманн
1
К сожалению! Это показывает, что я на Mac. Может быть, вкладка windows_key +?
gdelfino
3
@ NunoGonçalves меню не показывает новый ярлык, но он должен работать. убедитесь, что ваши предпочтения - Keybindings-User содержат именно эти строки и сохраните этот файл . Также убедитесь, что ST знает, какой тип файла / синтаксис он должен использовать (правильная подсветка синтаксиса?). Если он по-прежнему не работает, попробуйте другой ключ (например, «f8» кажется неиспользуемым), а затем, если он не работает, либо проверьте, отключены ли определенные пользователем сочетания клавиш в вашей установке по какой-либо причине.
Бернд Элькеманн
2
Ничего не сделав, он вдруг начал работать. :) Я думаю, что проблема была между клавиатурой и стулом все время :) В любом случае, спасибо. :)
Нуно Гонсалвеш
1
{"keys": ["f12"], "command": "reindent", "args": {"single_line": false}} переопишут весь документ без необходимости выбирать то, что вы хотите
Alexis
277

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

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

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

Ник
источник
2
«текущая строка» может быть выделением с несколькими строками.
gagarine
4
Это должен быть принятый ответ (или, по крайней мере, объединенный с принятым), поскольку в Visual Studio Ctrl + K + D также переформатирует весь документ.
Джедиджа
14
поменяйте местами ["f12"] для ["ctrl + k", "ctrl + d"] для аккорда с двумя нажатиями.
Фабиан Тамп
25
[{"keys": ["ctrl + shift + f"], "command": "reindent", "args": {"single_line": false}}] Это моя настройка, большое спасибо !!!
дуйхоа
1
Спасибо за "плюс" ("args": {"single_line": false}), очень полезный!
Артур
32

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

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

В Предпочтения> Связывание клавиш - Пользователь

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

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

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

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

star18bit
источник
пожалуйста, не используйте запятую (,) в конце оператора. Это дало мне ошибку. Введите его без запятой (,)
Gihanmu
1
если вы не пользователь Mac, используйте ctrl вместо command {"keys": ["ctrl + shift + i"], "command": "reindent"}
Юрай Петрик
29

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

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

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

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

JeffBaumgardt
источник
4
Не уверен, что кто-то еще смотрит на это, но отвечает на @jeff. Используйте «args»: {«single_line»: false} после добавления команды, и вам не нужно выбирать строки для ее форматирования. Он форматирует весь документ для вас. (Ник назначил команду дураком)
Мистер Х
Ярлык NetBeans - это Alt + Shift + F (по умолчанию; Ctrl + Shift + F открывает поиск проекта). Он ограничен и необязательно имеет смысл (CSS не работает, и он может сохранять новые строки кода в одной строке). Ярлык Eclipse - Ctrl + Shift + F, и в некоторых отношениях он лучше и работает на CSS, но все еще имеет проблему с новыми строками кода. У них обоих есть некоторые проблемы с новыми строками для атрибутов внутренней строки (как в HTML), хотя вы можете настроить их немного (подробнее в Eclipse).
Давик
cmd + a на Mac или Ctrl + A на окнах автоматически выделит весь текст для вас в текущем окне. сделайте это, и затем любую привязку ключа, которую вы выбрали для автоматического отступа, чтобы переформатировать весь файл.
user137717
16

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

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

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

Серхио Лопес
источник
7

Это очень просто. Просто иди вEdit=>Line=>Reindent

Джунан Чакма
источник
6

Netbeans, как сочетание клавиш

Перейти к Preferences> Key Bindings> Userи добавить код ниже:

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

Применение

Ctrl+ Shift+F

Адриан Энрикес
источник
6

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

Для пользователей MacOS используйте command+ ]для отступа и command+ [для отступа.

MindBrain
источник
4

кодировщик .

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


1.Install


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


Это оно.

ХИРА ТАКУР
источник
у меня не работает, просто отключает отступы по всем строкам.
Я пользуюсь им уже довольно давно. Хорошо проснулся. В чем проблема. Была ли установка успешной.
ХИРА ТАКУР
1
Конечно, да, я использую это против фрагментов HTML ... все строки удалили свои отступы.
2

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

Джон
источник
2

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

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

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

Ordiel
источник
1

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

Эдуардо
источник
1

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

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

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

[
   { "keys": ["command+shift+l"], "command": "reindent"}
]
Ючен Чжун
источник
1

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

{ "keys": ["f12"], "command": "reindent", "args": {"single_line": false} }  
Люблю кумар
источник
0

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

evanjw
источник
0

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

bbandf
источник
0

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

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

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

Алан Донг
источник
0
{ "keys": ["f12"], "command": "reindent", "args": {"single_line": false} } 

Вы можете получить опцию переопределения с помощью приведенного выше кода

Абхишек
источник
0

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

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

Я использую, CtrlShiftCа вы также используете другие горячие клавиши.

Главный исполнительный директор Вора Маюр
источник