从Visual Studio编辑器访问源代码信息

问题描述 投票:0回答:1

我正在尝试创建Visual Studio扩展。 Microsoft的在线文档中有一些有关创建自定义内容的示例,但我找不到有关如何访问Intellisense(或任何其他代码分析)的任何信息。

我知道有关此主题的一些问题(即how do you get c++ Intellisense data in a visual Studio Extention?),但这些问题来自2012年或更早的版本,并且不再更新(至少我希望如此)。

以下内容仅适用于C ++源代码。

我特别想要的是检查光标所在的表达式。然后我要检查表达式是否为

  • 对象声明/实例化,例如string s("my string");,或
  • 一个函数调用,例如std::max(1, 2);

从这些表达式中,我想获得类型/函数的全限定名称(包括名称空间),以及可能的函数/构造函数参数的类型。例如:

// ...
using namespace std;
auto x = max(1, 2);
// ...

现在,如果光标输入max,我需要全限定名::std::max和参数类型[int, int]

另一个例子:

// ...
using namespace std;
string s("my string");
// ...

这里我需要全限定名::std::string和参数类型[const char*, std::allocator]

这是否有可能?我也对部分解决方案感兴趣。非常欢迎提供有关某种文档的任何指导或提示。

visual-studio visual-studio-extensions visual-studio-2019
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.