功能

  • 项目范围和文档符号检测及重命名

  • 悬停支持、签名帮助和自动完成

  • GoTo/Peek 实现和查找/窥视引用

  • 预处理器支持

  • 文档解析 DoxygenFORD 样式

  • 诊断

  • 代码操作

  • 内联模块

完成

_images/completion-ani.gif _images/completion.png

悬停

_images/hover.png _images/hover2.png

符号

项目范围和单个文档符号搜索

_images/symbols-workspace.png _images/symbols-doc.png

签名帮助

_images/sig-help.gif

查找引用

_images/definition-goto.gif

转到函数的定义

_images/definition-peek.png

窥视函数的定义

_images/references-peek.png

窥视函数的所有引用

重命名

_images/rename.gif

重命名变量

诊断

  • 使用相同变量名的多个定义

  • 变量定义屏蔽来自父作用域的定义

  • 缺少子程序/函数参数

  • TYPE/ CLASS 定义中使用了未知的用户定义类型(仅当在项目中可见时)

  • 未关闭的块/作用域

  • 无效的作用域嵌套

  • USE 语句中未知的模块

  • 未实现的延迟类型绑定过程

  • 在接口块中使用未导入的变量/对象

  • 语句放置错误(CONTAINSIMPLICITIMPORT

代码操作

  • 为延迟过程生成类型绑定过程和实现模板

内联模块

  • ISO_FORTRAN_ENVISO_C_BINDING GCC 11.2.0

  • IEEE_EXCEPTIONSIEEE_ARITHMETICIEEE_FEATURES GCC 11.2.0

  • OpenMP OMP_LIBOMP_LIB_KINDS v5.0

  • OpenACC OPENACCOPENACC_KINDS v3.1

所有 LSP 请求

临时

请求

描述

workspace/symbol

获取工作区范围内的符号

textDocument/documentSymbol

获取文档符号,例如函数、子程序等。

textDocument/completion

键入时建议的选项卡补全

textDocument/signatureHelp

在给定的光标位置获取签名信息

textDocument/definition

转到定义/窥视定义

textDocument/references

查找所有/窥视引用

textDocument/documentHighlight

textDocument/references 相同

textDocument/hover

在悬停时显示消息和签名

textDocument/implementation

转到实现/窥视实现

textDocument/rename

在整个工作区中重命名符号

textDocument/didOpen

打开时文档同步

textDocument/didSave

保存时文档同步

textDocument/didClose

关闭时文档同步

textDocument/didChange

文档内容更改时文档同步

textDocument/codeAction

实验性 生成代码