Как выполнить поиск в текущей открытой папке с помощью выбранной строки

#visual-studio-code

Вопрос:

Я использую vscode. Как я могу выполнить поиск ( workbench.view.search ) в текущей открытой папке, используя выбранную строку ( expandLineSelection ) с помощью сочетания клавиш.

Ответ №1:

Используя расширение, которое я написал, Найдите и преобразуйте, и эта привязка клавиш:

 {
  "key": "alt z",                // whatever keybinding you want
  "command": "runInSearchPanel",
  "args": {
    "isRegex": false,
    "triggerSearch": true,
    "filesToInclude": "${relativeFileDirname}",  // many other path variables as well

    // all the other search options are available, like 'matchCase',
    // 'find', 'replace, etc.
  }
}
 

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

Вы могли бы объединить это вместе с расширением макрокоманды, здесь, используя несколько команд, вот так:

 {
  "key": "alt z",
  "command": "extension.multiCommand.execute",
  "args": {
    "sequence": [
      "expandLineSelection",
      "cursorLeftSelect",  // to get rid of the trailing newline
      {
        "command": "runInSearchPanel",
        "args": {
          "isRegex": false,
          "triggerSearch": true,
          "filesToInclude": "${relativeFileDirname}"
        }
      }
    ]
  },
  "when": "editorTextFocus"
}
 

макрос расширения строки поиска

[Я вижу, что expandLineSelection это включает в себя конечную новую строку. Но это, похоже, не влияет на повторное включение. В любом случае, я добавил "cursorLeftSelect" к приведенному выше макросу, чтобы избавиться от этой конечной новой строки.]