Sublime Text 2: автоматическое исправление отступов для javascript?

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

До:

app.get('/csvtest', function (req, res) {
  MyModel.find(function (err, mymodel) {
    if (!err) {
      var csv = [];
      _.each(mymodel, function(obj) {
       csv.push(obj['mymodel']);
      });
      res.send(csv.join());
    } else {
      console.log(err);
    }
  });
});

После:

app.get('/csvtest', function (req, res) {
    MyModel.find(function (err, mymodel) {
        if (!err) {
            var csv = [];
            _.each(mymodel, function(obj) {
                csv.push(obj['mymodel']);
            });
            res.send(csv.join());
        } else {
            console.log(err);
        }
    });
});

person Robeezy    schedule 12.10.2012    source источник


Ответы (7)


Вот инструмент для этого. Нашел его на великолепных форумах.

  • Установить управление пакетами
  • Запустите Управление пакетами: установите пакет из палитры команд. Введите Ctrl + Shift + P (Windows) или Command + Shift + < kbd>P, чтобы открыть палитру команд
  • Найдите jsFormat и нажмите Enter
  • Ctrl + Alt + f для форматирования
person Robert Karl    schedule 12.10.2012
comment
Это ссылка на страницу GitHub. Как ты это используешь? - person CodyBugstein; 04.07.2014
comment
@Imray Imray Я добавил немного больше деталей в свой ответ. Надеюсь, вы решили это - person Robert Karl; 05.07.2014
comment
Чтобы добавить https://github.com/jdc0589/JsFormat в качестве репозитория управления пакетами в возвышенном, перейдите в «Настройки» -> «Управление пакетами» -> «Управление пакетами»: добавьте репозиторий и управление пакетами: «Установить пакет». - person rubo77; 17.12.2014
comment
Мне пришлось ввести Format, чтобы получить параметр Format Javascript. Может помочь кому-то еще, кто не смог заставить эти ответы работать дословно - person CQM; 18.05.2015
comment
Спасибо @CQM, я обновлю эти инструкции, они кажутся устаревшими. - person Robert Karl; 19.05.2015
comment
Хороший совет, но есть несколько пропущенных шагов: перезапустите возвышенное, запустите команду Format: Javascript из палитры, когда это необходимо (Ctrl + Alt + F) ярлык в Mac. - person gerrytan; 15.09.2018

Вы можете попробовать JsFormat. ctrl+alt+f форматирует выделенный текст.

person Bubbles    schedule 12.10.2012

Вы можете выбрать весь свой код (ctrl+A) и использовать встроенную в приложение функцию Переопределить (Edit -> Line - > Реиндент). Он отформатирует ваш код, посмотрев на вкладку/настройку Sublime.

В качестве альтернативы вы можете использовать плагин форматирования JsFormat для Sublime Text 2, если вы хотите иметь больше настраиваемых параметров форматирования кода в дополнение к настройкам вкладок/отступов Sublime Text по умолчанию.

https://github.com/jdc0589/JsFormat

Дополнительная информация о том, как установить JsFormat в Sublime IDE: Вы можете легко установить JsFormat с помощью управления пакетами (Настройки -> Управление пакетами). Откройте управление пакетами, затем введите «Установить», нажмите Enter. Затем введите «js format» и нажмите enter, все готово. (Контроллер пакетов покажет статус установки с успехом и ошибками в нижней левой панели Sublime)

Настройка сочетания клавиш: добавьте следующую строку в свои привязки клавиш (Настройки -> Пользовательские привязки клавиш)

{ "keys": ["ctrl+alt+2"], "command": "js_format"}

Я использую ctrl+alt+2, вы можете изменить эту комбинацию клавиш как хотите.

Мое мнение: JsFormat хорош, его определенно стоит попробовать!

person Gokhan Tank    schedule 24.06.2013
comment
Большое спасибо - ваш первый ответ действительно прост и полезен! Не знал, что есть такой вариант :) - person Mohit Singh; 07.12.2017

Если вы хотите перейти от 2 пробелов к 4, щелкните меню вкладок в правом нижнем углу. Нажмите «Преобразовать отступы в табуляции», измените ширину на 4, затем «Преобразовать отступы в пробелы».

person Mathletics    schedule 12.10.2012

В общем, самый быстрый способ сделать это с помощью регулярного выражения:

  • Нажмите CTRL+H
  • Включите кнопку Регулярное выражение внизу слева (или нажмите ALT+R)
  • Введите ^(\s+) в поле Найти.
  • Введите \1\1 в поле Заменить на.
  • Нажмите Заменить все справа.

Это удвоит количество пробелов с префиксом (увеличив количество пробелов с 2 до 4). Затем окно замены можно оставить открытым, чтобы легко применить его к нескольким файлам.

person Ryall    schedule 04.02.2015

Похоже, в Sublime Text 2 уже есть то, что вы хотите (возможно, они добавили эту функцию совсем недавно).

Если вы хотите изменить количество пробелов или хотите преобразовать пробелы во вкладки, вы можете использовать этот путь: Вид > Отступ.

В этом раскрывающемся меню у вас есть возможность Преобразовать отступы во вкладки, Преобразовать отступы в пробелы или выбрать количество пробелов в ширине табуляции (1–8). ) должно быть.

Надеюсь это поможет!

person James Rutledge    schedule 18.02.2016
comment
Это не отвечает на вопрос, который задал ОП. Он хочет, чтобы внутренняя часть блоков была с большим отступом, чем объявление блока. - person wpercy; 18.02.2016
comment
@уилбур прав. OP искал какое-то расширение горячей клавиши форматирования. - person James Rutledge; 20.06.2016

Установите jsFormat с помощью PackageControl, выбрав jsFormat в меню Установить пакет.

Затем сделайте это, чтобы автоматически отформатировать код:

Ctrl + Alt + F

Также полезно ознакомиться с рекомендациями jsLint по форматированию. Вы можете установить пакет jsLint и проверить его с включенными параметрами форматирования.

Ctrl + L

person cosbor11    schedule 22.05.2015