VSC удалить пустые строки - PullRequest
       0

VSC удалить пустые строки

0 голосов
/ 07 декабря 2018

Есть ли лучший способ удалить пустые строки?В настоящее время я удаляю их вручную, но это неприятно.

VSC

Ответы [ 3 ]

0 голосов
/ 07 декабря 2018

Вот расширение Удалить пустые строки

enter image description here

0 голосов
/ 26 декабря 2018

Вы можете сделать это с помощью макроса, как вы хотели в своем ответе.Вам понадобится расширение макроса: multiCommand .

В ваших настройках:

  "multiCommand.commands": [

    {
      "command": "multiCommand.removeEmptyLines",
      // "interval": 50,
      "sequence": [
        {
          "command": "type",
          "args": {
            "text": "^\\n"
          }
        },
        "cursorHomeSelect",
        "editor.action.clipboardCutAction",
        "editor.action.startFindReplaceAction",
        "editor.action.clipboardPasteAction",

        //  focus to the replace input
        "editor.action.startFindReplaceAction",

        // clear the replace input, if any
        "editor.action.clipboardCutAction",

        "editor.action.replaceAll"
      ]
    }
  ]

Это сложно, потому что вы не можете напрямую писать в виджет поиска (даже сболее длительный интервал задержки).Но вы можете распечатать то, что хотите найти, «^\\n», выбрать его, вырезать и открыть виджет поиска, и он автоматически заполнит поле поиска содержимым буфера обмена.[Обратите внимание, что здесь требуется дополнительный escape "^ \ n".]

Затем есть еще несколько команд, чтобы очистить любой ранее существующий текст замены, который вы можете иметь в поле ввода замены.

Также, как вы знаете, у вас должна быть включена опция "Use Regular Expression".К сожалению, это переключатель , команды для простого включения не существует.Таким образом, приведенный выше макрос не может вызвать команду переключения - если она уже была включена, она отключится и поиск не будет работать.Таким образом, этот макрос должен предполагать, что у вас уже включена опция "Use Regular Expression".Я всегда оставляю его включенным и почти никогда не нахожу, что мне нужно временно его отключить.

В вашем keybindings.json установите желаемое связывание клавиш:

{
    "key": "ctrl+alt+u",
    "command": "multiCommand.removeEmptyLines",
},

и затем вызовите егосвязывание клавиш на любой открытой строке, и он запустит макрос - удалит все открытые строки в файле (кроме любой пустой строки в самом конце файла, потому что в его конце нет \ n).

0 голосов
/ 07 декабря 2018

Найден способ использовать это в Find / Replace

^$\n

Также убедитесь, что вы включили: Regular Expression

Но я бы хотел, чтобы был скрипт для этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...