如何通过我正在创建的扩展为自定义类提供智能感知自动补全功能?

阿米尔

我正在写我的第一个VSCode扩展,找不到关于如何为扩展中定义的对象创建自动补全的示例。例如,我可能有一个像这样的类:

class Foo {
    public aMemberVar = 'aMemberVar Member Variable';
    public aFuncName = 'aMemberFunc';
    public settings = {
      display: {
        alignment: 'left',
        height: 100,
        width: 100,
        theme: {
          on: true,
          color: 'blue'
        }
      }
    }


    function aMemberFunc() {
        print 'Inside `aMemberFunc()`';
    }
} 

现在,我希望安装了我的扩展程序的用户能够开始键入Foo。VSCode会自动向他显示该类的方法和键。

我为此创建了一个打字稿定义,如下所示:

interface IFoo {
  aMemberVar: string;
  aFuncName: string;
  settings: {
    display: {
      alignment: string;
      height: number;
      width: number;
      theme: {
        on: boolean;
        color: string;
      };
    };
  };
  aMemberFunc(): void;
}

现在,我的扩展名不是针对打字稿的,而是针对另一种语言的,因此,如何在打字稿以外的文件中显示自动补全功能?

迈克·李施克

您必须编写和注册CompletionItemProvider在该提供程序中,您必须使用可以为您提供完成学历的工具。一些扩展使用可以提供该信息的外部工具,另一些扩展则通过解析可用源并创建提供所有必需的符号信息的符号表来完成所有繁重的工作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何为Git命令设置自动补全功能?

phpstan如何找到我的自定义扩展类?

是否可以让Python IDE为动态生成的类属性提供自动补全功能?

如何在TypeScript中获得jQuery自动补全功能?

智能感知和自动补全统一

如何启用bash自动补全功能?

如何在Visual Studio Code中为自定义angularjs模块添加智能感知?

当插入符号位于虚拟空间中时,为Visual Studio中的自定义语言提供智能感知

如何通过VBA覆盖获得智能感知

如何在Visual Studio 2015中为自定义xml添加智能感知?

Bash:如何通过使用已经可用的bash补全函数来简化自定义创建函数的自动补全?

使用Leaflet放置自动补全功能:自定义设计?

如何找到和禁用在VS-Code IntelliSense中提供相同补全功能的扩展?

自动补全自定义组件如何工作?

为自定义脚本添加自动补全

如何使用即时定义的bash补全功能?

如何按定义的顺序显示智能感知的建议?

如何从自定义类的智能感知/自动完成选项中删除“属性”一词?

Visual Studio JavaScript智能感知自定义

除非我按空格或特定字符将其激活,否则如何阻止智能感知自动完成

在Visual Studio 2013中将自定义项目添加到智能感知

如何为snap命令启用自动补全功能?

如何使用jQuery扩展方法为元素或类选择器创建自定义插件

Visual Studio是否为Angular 2模板提供了智能感知功能?

在自定义 NLog 目标上添加智能感知

自定义代码片段未显示在 Visual Studio 代码的智能感知中

NativeScript 中 Java 类的智能感知

我正在使用 Javascript,但 VS Code 为我提供了打字稿智能感知。我如何解决它?

如何在智能感知中显示自定义 ToString() 格式?