This is a pre-release version in an attempt to test some of the features that will be added in v4.0. A lot of exciting features have been added. Please have a look at the release notes bellow
What’s New (PRE RELEASE)
Modern Fortran Release of v3.4 !
- Run and Debug individual files
- LFortran Linter support
- Log Channel improvements
- Improved Installation of dependencies using VS Code Tasks
fypp
linting support- Improved linter diagnostics
- Performance Improvements
- Update native symbol provider
- Added options
- Added Fortran Logo icon
Run and Debug individual files
You can now run and debug individual files. This is useful for debugging small snippets of code. To do this, right-click on the file and select Run File
or Debug File
from the context menu.
LFortran Linter support
The LFortran linter is now available in the extension. It can be enabled by setting the fortran.linter.compiler
setting to lfortran
.
Log Channel improvements
The Modern Fortran
log channel has had a small revamp.
Colourized Logs
Logs are now colorised to make reading them easier
Setting verbosity level
You can now choose the verbosity level of the extension by setting the following option in the settings
{
"fortran.logging.level": "Error"
}
Improved Installation of dependencies using VS Code Tasks
The extension dependencies are now installed using Visual Studio Code’s Tasks. That means that the commands are run from within the VS Code terminal, inheriting any environment variables already present. Particularly useful when using Python virtual environments.
fypp
linting support
Adds some initial support for fypp
when using gfortran
. More compilers will follow soon!
Improved linter diagnostics
Add support for parsing plain text diagnostics from gfortran
v11+
thus allowing the display of multiline diagnostics
module err_mod
private
implicit none ! <- Error here previously not shown
contains
subroutine foo(arg1, arg2)
integer, intent(in) :: arg1, arg2
print*, 'arg1:', arg1, 'arg2:', arg2
end subroutine foo
subroutine proc_with_err()
call foo()
end subroutine proc_with_err
end module err_mod
Performance Improvements
Some additional performance improvements have been made to the extension.
Improved performance of the linter
Converted the linter into using asynchronous processes, which should improve the overall performance and responsiveness of the diagnostics.
Update native symbol provider
The native symbol provider (one used when fortls
) is not present) has been updated
to use the new VS Code API.
Added options
Hide Release Notes
Hide release notes when the extension in being installed or updated.
"fortran.notifications.releaseNotes": true
Added Fortran Logo icon
Added a new icon for the Fortran Language files