我正在尝试创建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]
。
这是否有可能?我也对部分解决方案感兴趣。非常欢迎提供有关某种文档的任何指导或提示。