VS Code中Fortran自动代码补全不一致问题排查与解决
Fortran代码补全差异问题的原因与解决方法
可能原因
- 插件配置不一致:虽然安装了相同插件,但其中一台的Modern Fortran插件代码片段补全功能被关闭,或者相关配置项(比如
fortran.snippets.enabled)未正确开启。 - WSL语言服务状态异常:能正常补全的设备,WSL环境中的
fortls(Modern Fortran依赖的Fortran语言服务器)已正确安装并启动;另一台可能未安装fortls、版本不匹配,或者VS Code未正确连接到WSL的语言服务。 - 默认代码片段未加载:Modern Fortran的默认代码片段安装不完整,或者VS Code用户设置禁用了默认代码片段。
解决步骤
1. 检查Modern Fortran插件配置
打开VS Code设置(快捷键Ctrl+,),搜索以下配置项并确认状态:
fortran.snippets.enabled:设置为truefortran.snippets.useDefault:开启默认代码片段
2. 确保WSL中fortls正常安装
在WSL的Ubuntu终端执行命令,安装或更新语言服务器:
pip3 install fortls --upgrade
执行以下命令查看版本,确保两台设备的fortls版本一致:
fortls --version
3. 重置插件配置
如果配置检查无问题,尝试重置Modern Fortran插件设置:
- 打开VS Code扩展面板,找到Modern Fortran插件,点击齿轮图标选择「重置设置」
- 重启VS Code并重新连接WSL环境
4. 手动添加代码片段
如果默认代码片段未加载,可手动添加:
- 按
Ctrl+Shift+P,输入「Configure User Snippets」并选择fortran.json - 添加以下代码:
{ "Program skeleton": { "prefix": "program", "body": [ "program ${1:name}", " implicit none", "", " $0", "", "end program ${1:name}" ], "description": "Standard program skeleton" } }
内容的提问来源于stack exchange,提问作者jukfai
相关产品推荐
相关产品推荐

