我想找到通过特定的
#include
或 import
语句导入源文件的所有符号、typedef、宏等。从概念上讲,我想找到由所述导入/头文件“已知”的所有标识符。看看这个:
#include <iostream>
#include <span>
#include <vector>
#include <cstdint> // the include in questions. If I select and <insert magic shortkey here> it should...
int main()
{
// ... a lot of badly written source code
std::vector<uint8_t> intvec = { 1, 2, 3, 4 }; // <-- hop here first, finds uint8_t
auto vec_int_view = std::span(intvec);
// ... heaps of badly written source code
uint32_t my_int = 15; // <-- second hop lands you here for uint32_t
// ... even more
}
我应该能够在文件中来回导航并一一找到所有标识符。
这对我来说非常有用,因为我可以:
VS Code/扩展中是否有提供此功能的工具?我也在 Python 和 Rust 中寻找相同的东西(这就是我提到
import
的原因)。
在 VS Code 中,您可以使用“转到定义”(F12) 或“转到类型定义”(Shift+F12) 命令导航到 #include 或 import 语句引入的符号。特别是对于 C++,您可能还想使用 C/C++ 或 IntelliSense 等扩展来实现更好的符号解析。
对于 Python,Python 扩展通过 import 语句提供导航,而在 Rust 中,Rust Analyzer 扩展提供类似的功能。
要查找特定文件导入的所有标识符,您可能需要更高级的静态分析工具或脚本,因为 VS Code 本身不提供单个命令来直接列出导入中的所有符号。在 VS Code 中,您可以使用转到定义 (F12) 或转到类型定义 (Shift+F12) 命令可导航到 #include 或 import 语句引入的符号。特别是对于 C++,您可能还想使用 C/C++ 或 IntelliSense 等扩展来实现更好的符号解析。
对于 Python,Python 扩展通过 import 语句提供导航,而在 Rust 中,Rust Analyzer 扩展提供类似的功能。
要查找特定文件导入的所有标识符,您可能需要更高级的静态分析工具或脚本,因为 VS Code 本身并不提供单个命令来直接列出导入中的所有符号。