VS Code中的可点击链接API

时间:2017-07-04 13:03:27

标签: visual-studio-code vscode-extensions

是否有用于创建可点击链接的API? VS Code突出显示URL并允许按住Ctrl键单击它们,并且typescript集成允许在导入时按住Ctrl键单击文件路径,因此功能就在那里。

activation reference未提及任何有关文字操作/突出显示的内容。

1 个答案:

答案 0 :(得分:3)

您在问题中混合了两种不同的东西:

  1. 链接检测这是一种内置机制,可识别任何文本文件中的链接。它强调链接并提供CTRL + Click命令以在浏览器中打开该链接。
  2. Definition provider 通常使用Language Server Protocol由外部语言服务器实施。当您在TypeScript文件中执行CTRL +单击导入语句时,这些事情将在后台进行
    • VSCode将查找当前语言的定义提供程序(在本例中为TypeScript)
    • VSCode将在定义提供程序对象上调用provideDefinition,该对象具有单击的光标位置作为参数
    • 定义提供程序已经掌握了编程语言的知识。因此,它将能够解析源代码并找出所单击的标识符的定义位置。它将返回相应的文件位置。
    • VSCode跳转到该文件位置
  3. 这是一个简化的例子。事实上,只要你按住CTRL并将鼠标悬停在标识符上,这一切就会发生。当定义提供者使用有效位置进行响应时,标识符将以下划线显示。

    查看extension samples以了解如何创建自己的定义提供程序。