Visual studio 实现对自定义语言(C+;+;)的智能感知支持

Visual studio 实现对自定义语言(C+;+;)的智能感知支持,visual-studio,intellisense,visual-studio-extensions,Visual Studio,Intellisense,Visual Studio Extensions,我希望为自定义语言实现IntelliSense支持。实际上,它是C++的自定义版本。i、 e这些方法驻留在不同的文件中 所以我的主要类如下所示,它有导入文件MyClassMethods,其中包含所有方法 public class MyClass { @import MyClassMethods // my code goes here } 我的MyClassMethods fiel如下所示,它有两个方法 public void testMethod1() { } public

我希望为自定义语言实现IntelliSense支持。实际上,它是C++的自定义版本。i、 e这些方法驻留在不同的文件中

所以我的主要类如下所示,它有导入文件MyClassMethods,其中包含所有方法

public class MyClass {
    @import MyClassMethods
    // my code goes here
}
我的MyClassMethods fiel如下所示,它有两个方法

public void testMethod1() {
}
public void testMethod2() {
}
最后,我希望在处理MyClass时具有IntelliSense功能。例如,当我将点字符放在该类的必需位置时,我希望在IntelliSense菜单中有testMethod1()和testMethod2()


这是否可能实现?如果可能,我如何实现

C++语言服务是极不可能的(除非使用投影缓冲区,它们也可能不支持)。您可能需要从头重写它们。祝你好运。我正在看CompletionTestWalk,虽然它使用ICompletionSource接口。因此,我没有直接处理语言属性(例如类型、标记等)的方法。i、 e查找与点字符相关的变量类型。所以在这种情况下,我可能还需要实现某种语言解析器。您同意吗?是的,如果您使用的是原始编辑器API,则假定您已经解析了文件并完成了所有这些操作。这里没有捷径——这很难。你说的原始编辑器API是什么意思?同时,我正在基于上述完整的测试走查实现一些东西。反正我也找到了这个。父项为。你认为这是正确的方式去执行上面提到的“完整的测试穿越”的C++语言服务是极不可能与此工作(除非你使用投影缓冲区,他们可能也不支持)。您可能需要从头重写它们。祝你好运。我正在看CompletionTestWalk,虽然它使用ICompletionSource接口。因此,我没有直接处理语言属性(例如类型、标记等)的方法。i、 e查找与点字符相关的变量类型。所以在这种情况下,我可能还需要实现某种语言解析器。您同意吗?是的,如果您使用的是原始编辑器API,则假定您已经解析了文件并完成了所有这些操作。这里没有捷径——这很难。你说的原始编辑器API是什么意思?同时,我正在基于上述完整的测试走查实现一些东西。反正我也找到了这个。父项为。您认为这是安装上述“完整测试走查”的正确方式吗