Поиск места, где переменной присваивается значение

avatar
Steve Bennett
8 августа 2021 в 22:41
53
3
1

Есть ли в VS Code какой-либо механизм (включая плагины) для поиска места, где переменной присваивается значение? Я часто ищу myvariable =, но это не улавливает такие вещи, как:

{ myvariable } = ...
[ myvariable ] = ...

function myfunc(myvariable) { }
myfunc(myvalue)

Я работаю исключительно с JavaScript.

Источник

Ответы (3)

avatar
Kelvin Schoofs
8 августа 2021 в 22:44
1

Не уверен, что это правильный обмен стеками для ответа на этот вопрос, но да, есть способ найти их. Статья о навигации по коду поможет вам в дальнейшем. По сути, в VS Code есть команда «Найти ссылки» (для меня это комбинация клавиш F12 или ctrl+shift+F12 для «полной» версии, но я не знаю, используется ли она по умолчанию), которая покажет вам, где переменная/ тип объявлен и используется .

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

Steve Bennett
8 августа 2021 в 23:36
0

(Да, вопросы об IDE и других инструментах, используемых разработчиками, относятся к теме.) Эта функция выглядит великолепно — она выглядит достаточно простой, чтобы просмотреть результаты, чтобы найти ее. Кажется, он даже находит ссылки в комментариях JSDoc, что довольно интересно.

Mark
9 августа 2021 в 02:25
0

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

avatar
Mark
11 августа 2021 в 09:28
0

Вот еще одна идея просто для удовольствия. Он использует расширение, которое я написал, Найти и преобразовать, которое довольно легко обрабатывает ваш запрос (если вы можете создать соответствующее регулярное выражение ;>}).

С этой привязкой клавиш:

{
  "key": "alt+y",                  // whatever keybinding you want
  "command": "findInCurrentFile",
  "args": {
    "find": "${selectedText}(?=\\s*[}\\]]?\\s*=)",
    "isRegex": true,
  }
}

Он получит выбранный вами текст (это может быть просто слово под курсором - см. демонстрацию) и использует позитивный просмотр вперед, чтобы найти примеры, упомянутые вами в вашем вопросе. При необходимости совпадение будет показано с помощью прокрутки. Ctrl+U, чтобы вернуть курсор в предыдущее положение.

selected text with reveal demo

Steve Bennett
11 августа 2021 в 12:46
0

Ах, так по сути это позволяет вам сопоставлять строки поиска и замены с привязками клавиш?

Mark
11 августа 2021 в 18:57
0

Да, это была большая часть первоначального вдохновения. Я также хотел использовать переменные пути, подобные запуску/задаче, в поиске/замене, а также некоторые концепции фрагментов, такие как условные замены, которые нельзя выполнить в поиске. Он расширен до нескольких других полезных переменных, таких как lineNumbers, matchNumbers и resultsFiles, чтобы легко выполнять повторный поиск по файлам, используя только файлы, найденные в предыдущем поиске.

avatar
lejlun
8 августа 2021 в 23:20
1

Вы можете использовать Ctrl+Shift+O, чтобы открыть меню <285712822251>72<28571282251.32.282.2.

Здесь вы можете искать определения переменных, и после выбора ваш курсор автоматически переместится на определение.

Пример

Скажем, мой файл выглядит так:

enter image description here

I press Ctrl+Shift+O to bring up this:

enter image description here

Затем я могу выбрать элемент для перемещения курсора к определению следующим образом:

enter image description here

Steve Bennett
8 августа 2021 в 23:31
0

Спасибо, я не знал об этой функции! По какой-то причине он не включает параметры функции.