【问题标题】:"Find All References" across files for a method/function in VSCode is not possible无法在 VSCode 中跨文件“查找所有引用”的方法/函数
【发布时间】:2019-03-11 16:07:08
【问题描述】:

Visual Studio 代码版本1.27.2

Find all References 仅列出current file 中的引用。 我需要在项目中跨文件查找所有引用。

有可能吗?

类似find usages

如果您右键单击 symbol 并选择“查找用法”。如果当前符号是function,则“查找用法”会搜索调用此函数的所有位置。如果当前符号是variable,则“查找用法”会搜索使用此变量的所有位置等。

【问题讨论】:

  • 你用什么语言工作?
  • @MattBierner javascript 和 ruby​​
  • @Mark 你说的是搜索!。我的意思是大多数编辑器都具有的一些功能,包括 Sublime、RubyMine 和其他(去声明、去定义、查找所有用法)

标签: visual-studio-code vscode-settings


【解决方案1】:

Find all references 等高级功能由每个语言扩展实现。

对于 JavaScript,请尝试在工作区的根目录中创建一个 jsconfig.json,其中包含以下内容:

{
    "compilerOptions": {
        "target": "ES6"
    },
    "exclude": [
        "node_modules",
        "**/node_modules/*"
    ]
}

此文件告诉 VS Code 将工作区中的所有 JS 文件视为同一个 javascript 项目的一部分。如果您的代码过于动态,Find all references 仍然可能无法在 JavaScript 中正常工作。它最适合使用 import/exportclass 和朋友的现代 js

【讨论】:

【解决方案2】:

在 Visual Studio Code 中,您可以先突出显示要搜索的文本,然后使用以下命令:CTRL + SHIFT + F(一次全部按下)。

CTRL + SHIFT + F 只是访问 VSCode 左侧搜索选项卡的快捷方式。希望对涂鸦有所帮助和道歉:)

【讨论】:

  • 谢谢,所以它更像是文本搜索而不是语义搜索.. 是否有任何东西实际上会考虑语言(比如 C++)?
  • 这是唯一正确的答案,你应该为 mac 用户使用 CMD+SHFT+F 更新它..
  • Find in FilesFind All references 不同,前者是基于文本的词法分析器类型的东西,后者据我所知实际上是语言语义,可能在这个工具点上由 libclang 驱动。查看侧边栏,在文件中查找使用放大镜,查找所有引用使用倒数第二个图标,该页面指向一个页面事物。
  • 这并不理想,因为它正在寻找 TEXT 而不是函数的实际 REFERENCE。
【解决方案3】:

右键单击变量并选择Find All References This is how it looks in VSCode

我的About Visual Studio Code Info


Version: 1.47.2
Commit: 17299e413d5590b14ab0340ea477cdd86ff13daf
Date: 2020-07-15T18:18:50.054Z (5 days ago)
Electron: 7.3.2
Chrome: 78.0.3904.130
Node.js: 12.8.1
V8: 7.8.279.23-electron.0
OS: Darwin x64 18.6.0

【讨论】:

  • 这就是我想要的,但我得到的只是那个特定文件中的引用。我正在使用 Angular/Typescript
猜你喜欢
  • 2020-01-23
  • 2021-10-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多