Vscode Fortran Support Versions Save

Fortran language support for Visual Studio Code

v3.4.0

1 year ago

What's New (PRE RELEASE)

🎉 Modern Fortran Release of v3.3 🎉!

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

image

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!

image

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

image

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

image

Full Changelog: https://github.com/fortran-lang/vscode-fortran-support/compare/v3.2.0...v3.4.0

v3.2.0

1 year ago

What's Changed

Full Changelog: https://github.com/fortran-lang/vscode-fortran-support/compare/v3.1.0...v3.2.0

v3.1.0

1 year ago

Note

This is a dummy release of v3.0.0 to take precedence over release v3.0.2022042917. Due to the migration of the publisher ID the pre-release version v3.0.2022042917 was registered as a normal first release. That caused v3.0.0 to rank lover on the semver version number since v3.0.2022042917 > v3.0.0

Full Changelog: https://github.com/fortran-lang/vscode-fortran-support/compare/v3.0.0...v3.1.0

v3.0.0

1 year ago

What's Changed

Added

  • Added Whats New page to be displayed upon update of the extension.
  • Added ifx support Intel's LLVM based compiler ifx
  • Added ability to rescan for linting include files.
  • Added GitHub Actions support for pre-Release builds (#459)
  • Added unittest for fortls spawning and integration, checks for initialization values (#422)
  • Added warning notifications for extensions that interfere with Modern Fortran (#458)
  • Added single file and multiple workspace folder support for the Language Server (#446)
  • Added file synchronization with VS Code settings and .fortls against the Language Server
  • Added unittests for the formatting providers (#423)
  • Added GitHub Actions environment to dependabot
  • Adds support for Intel (ifort) and LLVM (flang) compilers (#291)
  • Adds native support for the fortran-language-server (fortls) making unnecessary the usage of Fortran Intellisense extension (#290)
  • Added command for restarting the Language Server
  • Added more options for configuring the fortls settings through the UI

Changed

  • Prettified the format of the settings UI and added fortls options
  • Changed images from SVG to PNG because vsce does not support SVG (#510)
  • Changed need for matching begin-end scope names, in the following constructs: Functions, Modules, Programs, Module Procedures, Subroutines, Submodules. For a more detailed explanation as to why see the issue (#278)
  • Rewrote README to include links to fortran-lang and other projects (#485) (#501)
  • Changed linter.compilerPath to use the full path to the compiler instead of the root (#500)
  • Changed all instances of the publisher to fortran-lang (#450)
  • Updated grammar unittests to include scope injections
  • Merged Language Server's log channel to Modern Fortran's log channel
  • Merged all Fortran intrinsics into a single json file (#424)
  • Updates README text and animations, changes SECURITY and updates package.json
  • Changes the interface of the extension to accommodate for the newest features (#292)
  • Changes main parts of the extension to being asynchronous (#285)
  • Changes Language Server prompt from fortran-language-server to fortls
  • Updates VS Code engine to handle vsce --pre-release

Removed

  • Made redundant the use of FORTRAN Intellisense extension (#290)
  • Removed setting includePaths in favour of linter.includePaths
  • Removed setting gfortranExecutable in favour of linter.compilerPath
  • Removed setting linterEnabled in favour of linter.compiler == Disabled
  • Removed setting linterExtraArgs in favour of linter.extraArgs
  • Removed setting linterModOutput in favour of linter.modOutput
  • Removed setting ProvideSymbols in favour of provide.symbols
  • Removed setting symbols
  • Removed setting provideHover in favour of provide.hover
  • Removed setting provideCompletion in favour of provide.autocomplete

Fixed

  • Fixed formatter output mixes stdout and stderr (#517)
  • Fixed error stop variable syntax highlighting (#486)
  • Fixed issue with linter cache containing outdated folders (#464)
  • Fixed slow performance of very long lines by using a different solution for (#207) (#309)
  • Fixed hovering over user defined types while debugging (#426)
  • Fixes linting regex to capture a wider spectrum of errors (#295)
  • Fixes linter activation from Disabled to some compiler X without having to restart the extension (#296)
  • Fixes nopass pointer erroneous syntax highlighting (#318)
  • Fixes % accessor highlighting for type-bound subroutines (#325)
  • Fixes fortls not spawning when ignoreWarning was set to true (#365)
  • Fixes formatting on Windows (needed .exe extension) (#354)
  • Fixes onSave formatting errors (#364)

Security

  • Updated node dependencies to the latest version
  • Update GitHub Actions workflows to the latest version

Full Changelog: https://github.com/fortran-lang/vscode-fortran-support/compare/v2.6.2...v3.0.0

v3.0.2022060321

1 year ago

What's Changed

Full Changelog: https://github.com/fortran-lang/vscode-fortran-support/compare/v2.6.2...v3.0.2022060321

v2.6.2

2 years ago

What's Changed

Full Changelog: https://github.com/krvajal/vscode-fortran-support/compare/v2.6.1...v2.6.2