Skip to content

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

Notifications You must be signed in to change notification settings

sebastiandyrda/Guide_VSCode-fortran

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 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

Settings

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:

"[fortran_fixed-form]": {
    "editor.rulers": [
        6,
        73
    ]
},

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 FORTRAN IntelliSense should be installed. If you also want to debug, you have to download the extension Fortran Breakpoint Support.

Modern Fortran

Overview

Settings

Basic symbol functionality or hover information is also provided by Modern Fortran. Using Modern Fortran and FORTRAN IntelliSense simultaneously those should be deactivated in your settings.json:

"fortran.provideCompletion": false,
"fortran.provideSymbols": false,
"fortran.provideHover": false,

FORTRAN IntelliSense

Overview

This Extension needs the fortran-language-server to operate because it is just an interface for the fortran-language-server which can be used by different IDEs. It is written in python

Requirements

  1. Install python
  2. Install pip
  3. Install fortran-Language-server

Settings

To setup the fortran-language-server 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
}

Fortran Breakpoint Support

  • Description:

Add breakpoint support for fortran [https://github.com/ekibun/FortranBreaker]

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.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Fortran 100.0%