Макрос Sublime Text 3 для добавления кавычек и запятой в каждую строку?

#sublimetext3 #sublimetext #sublime-text-plugin

#sublimetext3 #sublimetext #sublime-text-plugin

Вопрос:

Допустим, у меня открыт файл. Каждая строка в файле — это идентификационный номер. Одна из задач, которую я часто выполняю, — преобразовать каждую строку в идентификационный номер в кавычках с запятой в конце каждой строки. В настоящее время я делаю это с помощью Find и Replace с регулярным выражением.

Пример:

 Find: ^(.*)$
Replace: "$1",
  

Но если бы я мог запрограммировать макрос, чтобы сделать это за меня, тогда мне не пришлось бы каждый раз использовать Find и Replace.

Что-то вроде: Шаг первый: поместите курсор на каждую строку Шаг второй: переместите курсор в начало каждой строки Шаг третий: вставьте символ в двойную кавычку Шаг четвертый: переместите курсор в конец каждой строки Шаг пятый: вставьте символ в двойную кавычку Шаг шестой: вставьте символ-запятую

Ответ №1:

Вот макрос, который вы ищете,

 [
    { "command": "select_all", },
    { "command": "split_selection_into_lines" },
    { "command": "insert_snippet", "args": { "contents": ""${0:$SELECTION}"" }, },
    { "command": "move_to", "args": { "to": "eol", "extend": false }, },
    { "command": "insert", "args": { "characters": ","}, }
]
  

Это то, что делает макрос:

  1. Он выделяет весь текст.
  2. Он создает выделение для каждой строки, помещая курсор в конец каждой строки.
  3. Он заключает текст каждой строки в двойные кавычки.
  4. Он перемещает курсоры в конец каждой строки.
  5. Он вставляет запятую ( , ) в конце каждой строки.

Файл макроса должен быть сохранен с .sublime-macro расширением в вашем User каталоге (если вы не уверены, где это находится, выберите Preferences --> Browse Packages... из меню). Файл может называться как угодно, но описательные имена обычно лучше, поскольку они предотвращают последующую путаницу, например QuoteAndComma.sublime-macro .

Вы можете запустить макрос из меню Sublime Text Tools --> Macros --> User --> QuoteAndComma , но вот привязка клавиш, чтобы упростить его использование.

 {
    "keys": ["ctrl shift alt 5"],
    "command": "run_macro_file",
    "args": {"file": "res://Packages/User/QuoteAndComma.sublime-macro"},
},
  

Добавьте это в свой файл привязки пользовательских ключей, изменив ключи на все, что вы хотите. Обратите внимание, что в примере привязки ключа предполагается, что вы сохранили вышеупомянутый файл макроса как QuoteAndComma.sublime-macro в User каталоге.

Когда все это будет сделано, при нажатии клавиши привязки текст в каждой строке будет заключен в двойные кавычки, а затем будет добавлена запятая в конце.

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

  1. ctrl a -> Выделяет весь текст.
  2. ctrl shift l -> Разделить выделение на строки.
  3. shift " -> В двойные кавычки.
  4. End -> Для перемещения каждого выделенного элемента в eol.
  5. , -> Последняя конечная запятая.

Наконец, на всякий случай, если вы заменяли один за другим раньше, на панели поиска / замены вы можете выбрать Replace All , чтобы выполнить все замены за один раз.