Code::Blocks IDE for Fortran

Code::Blocks is a free, cross platform Integrated Development Environment (IDE) (www.codeblocks.org). This site is for those, who would like to use Code::Blocks IDE for Fortran. Here you can find a customized (more or less) version of IDE oriented towards Fortran language (pre-built binaries for Linux and Windows are available). Also you can find some useful information about how to use it for programming with Fortran.

Note: FortranProject plugin, which makes C::B useful for Fortran, currently is included in an official Code::Blocks distribution for Windows (but not for Linux).

News

(26.07.2021)

A new release v1.8 is out. Improvements in this release:

  • Considerably improved support for the C Pre-Processor (PP) directives. During the parsing, every Fortran source code line now goes through the PP and only then the code is interpreted as a Fortran code. This improvement enables the code-completion in a code which uses such PP directives. As an example, I created a short tutorial how to use Fortran Template Library in CBFortran .

  • Code lines, which are excluded from the compilation by the use of the PP directives (such as "#ifdef") are marked (shadowed) in the C::B editor. This should improve readability of such code. See a screenshot below.

  • Added an option to the FortranProject plugin settings, which makes a word from the code-completion list always replace the word under the caret in the editor. Default behaviour is that the word under the caret is replaced only in a few circumstances.

/images/new_v1.8/ftl_codecompletion.png /images/new_v1.8/inactive_code.png /images/new_v1.8/fortranproject_settings.png /images/new_v1.8/preprocess_defined_names.png /images/new_v1.8/preprocessor_search_dir.png

(12.07.2020)

I took part in International Fortran Conference 2020 on 2-4 July 2020. There I spoked how Code::Blocks can be used for programming in Fortran. Presentation slides are below:

(07.06.2020)

A new release v1.7 is out.

In this release Code::Blocks IDE was switched to use v3 of wxWidgets library. Perhaps, the biggest improvement is for users with HiDPI displays: now the used size of icons changes depending on the monitor's DPI.

There is more improvements for Fortran: Call-/Called-By tree now can show dependency between modules; dependency between Fortran files is accounted at a workspace level instead of a project level as it was before; some improvements in a logic used by smart-code-completion.

/images/cb_calltree_mod.gif

(12.01.2019)

A new release v1.6 is out. Improvements in this release:

  • Improvements in Debugger plugin:

  1. Improved how arrays are displayed in the Watches window.

  2. Improved how character, complex and dynamic-type variables are displayed in the Watches window. This feature requires GDB with Python support.

  3. Implemented possibility to visualize content of 1D or 2D array as a curve or 2D surface directly from the debugger session. For this purpose Gnuplot external program is used. This feature requires the GDB with Python support and Gnuplot installed on the system. See the screen-shot below.

More information about debugging in C::B can be found in Debugging Fortran code in the Code::Blocks IDE.

  • Improvements in "Call/Called by" tree view: now using the right-click menu is possible to go to the calling line.

  • Improved the logic behind the brace completion: more intelligent, more intuitive.

  • Implemented possibility to add an additional search path for the code-completion items in the project properties dialog. See screen-shot below.

  • Parser now interprets simple preprocessor directives. This should improve the work with code which contains such directives.

  • Added Flang compiler support. Compiler can be downloaded from github.com/flang-compiler.

/images/cb_debug.png /images/cb_debug_gnuplot.png /images/cb_called_by_tree_rcm.png /images/cb_search_path.png

(30.12.2018)

I have uploaded a new video tutorial on YouTube which demonstrates how to debug Fortran code using C::B:

Debugging Fortran code using Code::Blocks IDE Debugging Fortran code using Code::Blocks IDE


More news

Features

  • Editor with Fortran syntax highlighting (fixed and free form).

  • Compilation of Fortran project directly from IDE. FortranProject plugin should care about Fortran file dependencies. Alternatively you can use your supplied makefile.

  • Possibility to jump directly to the code line with an error (currently the support of gfortran, flang, Intel Fortran, Oracle Solaris Studio Fortran and PGI Fortran is implemented).

  • Symbols browser with defined program units (functions, subroutines, modules etc.) in your project.

  • Possibility to jump to code line with subroutine/function definition directly from editor (right click on the name and select "Jump to: 'name'") or from the symbols browser (double click on the name) or using menu 'Search->Jump to declaration'.

  • Program debugging using GNU GDB.

  • Completion of names when you type or when you press Ctrl+Space (you can change the key combinations in Editor's Settings). The support for subroutine/function names, the names of variables, the components of derived types and the type-bound procedures is implemented.

  • Call-tips with subroutine/function argument list. Appears automatically or when you press Ctrl+Shift+Space.

  • Appearance of tooltips when you hold mouse on variable or name of subroutine.

  • Jump to the definition of procedure or the variable from code line where it is mentioned.

  • Possibility to generate a Makefile (Fortran->Genarate Makefile). This feature should generate a working makefile for the active target in simple cases. Or the generated makefile can be used as a draft in more sophisticated projects.

  • and more

License

Code::Blocks (and FortranProject plugin) is distributed at GPLv3.

User manual

You can download the Code::Blocks user manual from www.codeblocks.org/user-manual.

Development

The major part, which makes C::B IDE useful for Fortran, is FortranProject plugin. This plugin has a separate project for development on Sourceforge. There you can download latest source code directly from svn.

Contribution

How to contribute to this project:

  • Spread a word about your experience with Code::Blocks.

  • Write tutorial about how to use C::B together with Fortran. Send it to CBFortran forum.

  • Prepare screencast (video tutorial) and upload it to e.g. Youtube. Drop link to CBFortran forum.

  • Suggest features you would like to be implemented into this IDE.

  • Report bugs to CBFortran forum or write directly to me.

  • Write a new plugin for Code::Blocks useful for Fortran developers.

  • Implement a new feature to FortranProject plugin or improve existing one. Send me a patch file.

About me

My name is Darius Markauskas. I develop for this project on my spare time.

Have questions, suggestions? Found a bug? Write me to: darmar.lt@gmail.com