Skip to content

JHenneberg/Guide_VSCode-fortran

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Introduction

Fortran is not well supported by a lot of IDEs. Microsoft Visual Studio has syntax highlighting but missing a lot of great features, when it comes to auto completion, signature help, find and peek references. Visual Studio Code in comparison has some great extensions and is running on MacOs, Linux and Windows.

This small Guide should help you to setup a full development environment for Fortran.

Visual Studio Code

Editor Rulers

If you are working with Fortran in the fixed-column format it is useful to setup rulers at the relevant columns. Add this to your settings.json:

"[FortranFixedForm]": {
    "editor.rulers": [
            {
                "column": 72,
                "color": "#E06C75"
            },
            {
                "column": 6,
                "color": "#E06C75"
            }
        ]
},

Cursive italics and Ligature

Some might like this and some wont: Using cursive italics and programming symbol ligatures.

code snippet

  1. Download the font 'Victor Mono' from here: https://github.com/rubjo/victor-mono or here https://rubjo.github.io/victor-mono/

  2. Activate font ligatures and select the font:

    "editor.fontLigatures": true,
    "editor.fontFamily": "Victor Mono, Consolas, 'Courier New', monospace",
  3. In the standard settings for fortran syntax highlighting nothing more then paramter are italic and therefore then cursive. You can customize this quite easy:

    "editor.tokenColorCustomizations": {
         "textMateRules": [
             {
                 "name": "comment",
                 "scope": [
                     "comment",
                     "constant.language.logical",
                     "keyword.logical",
                     "variable.parameter.dummy-variable.fortran.modern",
                     "string.quoted.single.fortran",
                     "string.quoted.double.fortran",
                     "support.function.intrinsic.fortran"
                 ],
                 "settings": {
                     "fontStyle": "italic"
                 }
             },
             {
                 "name": "comment",
                 "scope": [
                     "variable.parameter.fortran"
                 ],
                 "settings": {
                     "fontStyle": ""
                 }
             }
         ]
    }

    To find out the scope you can type in the command palette (ctrl + shift + p): Developer: Inspect Editor Tokens and Scopes and hover over your source code.

Visual Studio Code Extensions

There are some extensions that are very useful. Modern Fortran can be used for syntax highlighting and snippets. For features like Signature help or GoTo/Peek definition and much more fortls should be installed.

Modern Fortran

Overview

Language Server Integration

Symbol functionality and hover information is also provided by Modern Fortran when the fortran language server fortls is installed which is written in python.

Requirements

  1. Install python
  2. Install pip
  3. Install fortls

Settings

To setup fortls a file named .fortls is needed in your workspace in Visual Studio Code. It is written in JSON. Example .fortls:

{
  "mod_dirs": [
    "src",
    "ins"
  ],
  "excl_paths": ["src/Debug", "src/Release"],
  "excl_suffixes": [".u2d", ".vfproj", ".sln", ".txt"],
  "lowercase_intrinsics": false,
  "debug_log": false
}

Build & Debug

In general you have to define a tasks.json for the build and link process and a launch.json to start to debug.

Also have a look at: https://code.visualstudio.com/docs/editor/debugging

Install compiler

  • Windows: gfortran via MinGW for example
  • Linux: sudo apt-get install gfortran, sudo pacman -S gcc-fortran
  • OSX:

Create launch.json:

{
  "version": "2.0.0",
  "configurations": [
    {
      "name": "Debug Fortran & build",
      "type": "cppdbg",
      "request": "launch",
      "targetArchitecture": "x86",
      "program": "${workspaceRoot}\\${fileBasenameNoExtension}.exe",
      "miDebuggerPath": "gdb.exe",
      "args": [],
      "stopAtEntry": false,
      "cwd": "${workspaceRoot}",
      "externalConsole": true,
      "preLaunchTask": "build_gfortran"
    }
  ]
}

Create tasks.json

The gfortran compiler should be accessible via the command line.

Create tasks.json:

{
  "version": "2.0.0",
  "_runner": "terminal",
  "tasks":[
    {
      "label": "build_gfortran",
      "type": "shell",
      "windows": {
        "command": "gfortran"
      },
      "linux": {
        "command": "gfortran"
      },
      "osx": {
        "command": "gfortran"
      },
      "args": [
        "-g",
        "${file}",
        "-o",
        "${workspaceRoot}\\${fileBasenameNoExtension}.exe"
      ]
    }
  ],
}

Debugging

Click on the debug symbol in Visual Studio Code, choose the debug configuration and press start.

About

A comprehensive guide on how to set up a complete development environment for Fortran in Visual Studio Code.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published