VSCode安装Modern Fortran插件及Fortls
VSCode
VSCode下载,插件,编辑等基础功能参考 VSCode基础功能
Modern Fortran插件
- 具体帮助查看 Modern Fortran - VSCode Marketplace
- 主要功能包括
- 语法突出显示
- 集成
fortls
,支持GoTo, Find, Peek, Hover, Auto-completion
- 静态代码检查 (
Linting
),支持gfortran, ifort, nagfor
- 代码格式化
findent, fprettify
- 代码块
snippets
- 代码调试,支持断点、多线程调试、调用堆栈、步进
- 该插件依赖
Cpp
基础插件 C/C++
静态代码检查
- 指定静态代码检查编译器及其路径
- Linting 可以在撰写代码时进行编译器错误和警告检测,无需编译代码
Fortls
安装
-
Fortran language servers
早期基于Language Server Protocol (LSP)
项目开发 -
fortls
依赖python 3.7+
环境 -
在线安装
- 直接使用安装命令
pip install fortls
- 安装完成后在
python
数据路径的脚本C:\Users\UserName\AppData\Roaming\Python\Python39\Scripts
目录下出现可执行文件fortls.exe
- 将其所在路径
C:\Users\UserName\AppData\Roaming\Python\Python39\Scripts\fortls.exe
添加至Modern Fortran
插件设置中
- 直接使用安装命令
-
离线安装
- 下载安装包 [https://github.com/fortran-lang/fortls]
- 通过
python
命令将程序安装到环境中python setup.py install
- 安装成功后在
python
安装路径的..\Python39_64\Scripts
目录下出现可执行文件fortls.exe
- 将其所在路径添加至
Modern Fortran
插件设置中
-
除
vscode
外,fortls
还支持Atom, Sublime Text, neovim, Vim, EMACS, Visual Studio 2017, Kakoune
等编辑器,参考 [https://fortls.fortran-lang.org/editor_integration.html]VS2017
配置需安装扩展插件 [https://github.com/michaelkonecny/vs-fortran-ls-client]
-
指定 mod 文件输出路径
功能
- Auto-Completion
- IntelliSense功能之一,编写代码时可自动实现代码提示和补全
- 支持类型包括
变量、函数、子程序、类、接口、模块、代码块
等 - VSCode IntelliCode功能可基于AI推荐最可能匹配的代码提示
- Hover
- 悬停预览,鼠标悬停在 变量/函数等 符号上时会出现提示信息
- 提示信息基于
Doxygen
和FORD
文档样式生成,见 注释格式
-
Rename
- 选择 变量 后按快捷键
F2
可修改变量名 fortls
会自动识别变量定义范围
- 选择 变量 后按快捷键
-
Symbols
- 指模块、子程序、函数、类等
- 在整个文档中搜索符号并显示在侧边栏
outline
中 - 支持 查找定义
Definition
实现implementation
引用Reference
- 支持 内联编辑器
Peek
- 使用快捷键
Alt + Shift + F12
查看所有引用
- Diagnostics
- 简单语法检查
注释格式
fortls
支持Doxygen
和FORD
文档样式- 一般注释
!
不会生成文档 Doxygen
使用!!
!>
!<
注释文档内容FORD
使用!!
!>
!<
!*
!|
注释文档内容
- 一般注释
类型 | 符号 | 功能 |
---|---|---|
docmark |
!! |
注释文档内容 |
premark |
!> |
标记多行注释的第一行 |
docmark_alt |
!* |
多行文档块 |
predocmark_alt |
!| |
多行文档块 |
blkmark |
!... |
注释代码块 |
- 例
1 | !================================ SUM_TEST ========================70 |
- 子程序提示
- 函数提示
- 变量提示
- 代码折叠
- 全部折叠
Ctrl + K + 0
- 全部展开
Ctrl + K + J
- 按级折叠
Ctrl + K + 1/2/3 ...
- 折叠当前级
Ctrl + K + [
- 展开当前级
Ctrl + K + ]
- 全部折叠