The post raises some interesting problems but I think there are solution for most of the problems mentioned, with an exception probably being ifort + Windows.
The “debug extension” is actually not a trivial task; not only do you need the VS Code extension but you also need to create an implementation of the Debug Adapter Protocol (DAP) for Fortran.
Currently how the debugger in VS Code works is that it piggybacks on the DAP servers from C++, which are proprietary, to provide debugging.
This works relatively well for the most part, but there are some issues with hovering over custom type variables e.g. some%foo%bar
, hovering over foo will yield nothing
See my discussion with the vscode-cpptools team for more.
Points raised in the Intel post:
Arrays (one of the most important features of Fortran), however, cannot be viewed.
I am afraid I do not quite understand this one. Arrays can be visualised in both watch windows and hover just fine
allow breakpoints in .f90 files.
Also not sure about this one, these are the default extensions for Free Form Fortran and of course you can associate more from the settings
"extensions": [
".f90",
".F90",
".f95",
".F95",
".f03",
".F03",
".f08",
".F08",
".f18",
".F18",
".fpp",
".FPP",
".pf",
".PF"
],
My guess is that the debugger on Windows + ifort are not fully working. I recall an issue being raised by a user in the Modern Fortran repo, which was forwarded to the vscode-cpptools team.
So the issue boils down to the last comment by WardenGnaw
There are definitely features missing from Modern Fortran and fortls
that would make our lives a lot easier if present, but at the end of the day it is a matter of available free time and resources.