hansec / vscode-fortran-ls

Fortran IntelliSense for Visual Studio Code
MIT License
37 stars 7 forks source link

Fortran IntelliSense package

vs marketplace downloads rating

Fortran IntelliSense (IDE functionality) support for VSCode, powered by the Fortran Language Server.

Features

See Fortran Language Server for examples and more details. There is also a companion package for the Atom text editor.

Examples:

Autocomplete in Fortran IntelliSense

Hover definition in Fortran IntelliSense

Peek definition in Fortran IntelliSense

Requirements

This package requires the following extensions to be installed:

Additionally, you must have Python and the Fortran Language Server installed on your system. Be sure to periodically update the underlying language server to stay up to date with new features and fixes.

This package has been tested and should work on :apple: macOS (OS X), :penguin: Linux and Windows.

Configuration

Note: When setting an explicit language server executable path on Windows backslashes must be escaped (ex. C:\\path\\to\\fortls.exe).

Due to Fortran's syntax it is recommended that you disable the Enter key for suggestion confirmation. This can be done selectively in fortran files by adding the snippet below to your settings.json file.

"[fortran]": {
    "editor.acceptSuggestionOnEnter": "off"
},
"[fortran_fixed-form]": {
    "editor.acceptSuggestionOnEnter": "off"
},
"[FortranFreeForm]": {
    "editor.acceptSuggestionOnEnter": "off"
}

See the fortran-language-server README for information on project specific configuration settings.

Bug reports

Note that most bugs observed with this package are actually related to the upstream fortran-language-server. Unless you believe the error you observe is directly related to Visual Studio Code please submit issues to the upstream repo. When filing bugs please provide example code to reproduce the observed issue if possible.

License

MIT License. See the license for more details.

Support

If you really like Fortran IntelliSense or the underlying language server you can buy me a :coffee: or a :beer: to say thanks.