我正在 Windows 上使用 Modern Fortran 扩展运行 VS Code。我已经安装了 fortls (不是 fortran-language-server,而是 fortls)。我还有带有 gfortran 的 mingw 工具链。
我有一个 Fortran 项目,其源代码跨多个文件(大部分位于同一目录中,但现在我们可以考虑将它们全部放在同一目录中)
几乎所有内容似乎都可以“跨文件”正常工作,例如:
静态语法分析似乎适用于可以在给定文件内检查的任何内容。例如,如果我在文件 A.f 中编码了一个函数 f,并且 A.f 中的其他位置尝试使用错误数量的参数调用 f,则编辑器会充分发出错误信号。
但是,如果从同一目录中的另一个文件 B.f 调用 A.f 中的相同函数 f,则不会捕获相同的错误,并且编辑器不会发出任何错误信号。只有在同一物理文件内进行的调用才会捕获它们并发出信号。
我不知道该怎么做才能解决这个问题。我已将以下内容添加到 VSCode settings.json 文件中,但没有效果
"fortran.linter.includePaths": [
"${workspaceFolder}/**"
],
"fortran.linter.modOutput": "${workspaceFolder}/.vscode/linter",
"fortran.fortls.suffixes": [
"f"
],
"fortran.fortls.directories": [
"./**"
],
"fortran.fortls.preprocessor.suffixes": [
".f"
],
有人知道如何解决这个问题吗?
我还使用 Fortran 和 VSCode,但是我无法让它正常工作。我有像你一样的堡垒和现代的 Fortran 扩展。我无法获得跨文件扩展名,例如查看/转到另一个文件中定义的子例程或函数的定义。请问你能帮帮我吗?第一次发贴,如果这不是正确的地方,请不要介意我,欢迎您重定向我。预先感谢。