News
(30.05.2021)
A release v1.8 is out.
(30.05.2021)
A new release candidate v1.8rc2 is out. Comparing to rc1, it contains several small enhancements and bug fixes. Thanks for those who reported problems with C::B.
(10.04.2021)
A new release candidate v1.8rc1 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.
(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:
CodeBlocks_Fortran.odp (recommended, with gif animations)
CodeBlocks_Fortran.pdf (gif animations are not displayed)
(07.06.2020)
A new release v1.7 is out.
(04.05.2020)
A new release candidate v1.7rc2 is out. Comparing to rc1, it contains several small enhancements and bug fixes.
(13.04.2020)
A new release candidate v1.7rc1 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.
(12.01.2019)*
A new release v1.6 is out.
(30.12.2018)
I have uploaded a new video tutorial on YouTube which demonstrates how to debug Fortran code using C::B:
(08.12.2018)
A new release candidate v1.6rc2 is out. Improvements in this RC2 vs RC1:
Changed the way call-tips are updated.
Added Flang compiler support. Compiler can be downloaded from github.com/flang-compiler.
(01.11.2018)
A new release candidate v1.6rc1 is out. Improvements in this release:
-
Improvements in Debugger plugin:
Improved how arrays are displayed in the Watches window.
Improved how character, complex and dynamic-type variables are displayed in the Watches window. This feature requires GDB with Python support.
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.
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.
(13.02.2018)
A final release v1.5 is out.
(23.10.2017)
A new release candidate v1.5rc1 is out.
I would call this release a bug-fixing/feature-polishing release. I would like to say thanks to the users who pointed to the problems in the IDE. Only with your problem reports and feature requests I am able to improve this IDE. And I am sorry that I was not able for some reason to implement all your great ideas.
Besides fixed bugs, this release adds possibility to show a Call-tree and a Called-by-tree. This feature should help developers to understand their code more quickly. To show Call-/Called-by-tree right-click on the procedure name in the editor and select "Show" submenu (see screenshot below).
(09.12.2016)
A final release v1.4 is out.
(17.10.2016)
A new release candidate v1.4rc3 is out. Beside some fixed problems, a right-click menu inside the editor was made considerably shorter.
(03.10.2016)
A new release candidate v1.4rc2 is out. Some few problems reported with rc1 were fixed. Please, test it and write me if you think something should be changed for the final release.
(15.09.2016)
A new release candidate v1.4rc1 is out.
New features in this release:
Improved handling of submodules: during compilation the dependancy of files containing submodules from their parent modules is taking into accout.
Fortran construct highlighting, e.g. if the cursor is placed between "do", then FP plugin will find corresponding "end do" statement and highlight it (see image below). This feature should help more quicklly understand the logic of the code.
FormatFortranIndent plugin was merged into FortranProject plugin. As earlier, you will find this tool in "Fortran->Format indent". There was added some options using which you can adjust indent to your taste. Plase, test this tool. If you feel, you need more options, maybe I could add them. Just write me.
Added possibility in editor to fold lines, which contains comments, if comments go through 4 and more lines (see image below). This feature needs more testing and was not yet commited into the official Scintilla text compoent. If you found errors in the folding of Fortran code, write me. Maybe I could improve it.
(18.06.2016)
I have uploaded three short video tutorials on YouTube, which show how to start using C::B for programming in Fortran.
(27.02.2016)
A new release v1.3 is out. Comparing with an official C::B, CBFortran for Windows includes support for Intel Fortran compiler and FormatFortranIndent plugin and some other smaller changes. The official C::B for Linux doesn't include FortranProject plugin, therefore CBFortran is the only option for Linux users if they what to use C::B in development with Fortran.
(16.01.2016)
A new release candidate v1.3RC2 is out. The problems reported for RC1 were addressed in this RC2.
(25.10.2015)
A new release candidate v1.3RC1 is out. New in this release:
A documentation window side-by-side to code-completion list. If your code includes a documentation of some item, it can be showed in this window. FortranProject plugin recognizes the documentation: a) written in Doxygen, b) simple comments, which comes for procedures: above or below procedure declaration, and for variables: after on the same line. Make your code speak! ;-)
Tool called Auto Insert, which inserts "end..." statements automatically when you press “enter” after statements which require such “end”. Some preferences for Auto Insert can be adjusted on FP settings dialog (Settings->Editor->FortranProject). Just do your job and you will see the magic! ;-)
The parsing of Gfortran multi-line messages was considerably improved.
BindTo tool. Actually, this tool took the most of my efforts. BindTo (Fortran->Bind To…) can automatically generate a wrapping for Fortran code which enables call of Fortran from the C language and can generate Cython files which enables call of Fortran from Python language. Resulting toolchain is something like: “Fortran->Bind(C)->Cython->Python”. Actually, the tool doesn’t do anything you can’t do yourself. It just saves your time. To better understand how to use BindTo, I wrote BindTo Users Guide, which hopefully will answer to most of your questions (other questions I expect to see on CBFortran google group). Please consider the current version of BindTo as “beta” or even “alpha”, especially the part for the generation of Cython files. Your opinion, ideas, suggestions, corrections etc. are very welcome!
(10.07.2014)
Examples how to use MathGL library together with GTK from Fortran were uploaded to MathGL + GTK + Fortran.
(27.04.2014)
A new stable release 1.2 is out. I hope, that many Fortran developers will enjoy using this IDE.
(09.04.2014)
A new release candidate is out. Just two small bugs were fixed in building of code-completion list.
(11.03.2014)
A new release candidate is out. I would call it “a bug fixing release”. Since v1.1 a few bugs in FortranProject plugin were found and fixed. Symbols browser displays now type of variables. Call-tips is shown for arrays too. This release is based on C::B 13.12 source code.
(05.01.2014)
From www.codeblocks.org : “More stable, feature-rich and major compiler enhancement, the new Code::Blocks release has arrived.” It is about Code::Blocks 13.12 . This time C::B includes FortranProject plugin on Windows too (but not on Linux). C::B comes with an installer and GFortran too. Therefore it may be the easiest way for new users to start programming with Fortran. You can download C::B from www.codeblocks.org/downloads .
(12.10.2013)
A new version of Code::Blocks for Fortran is released. It has the same features as RC2, so if you feel comfortable with 1.1RC2, you don’t need to update to the newer version. But if you are using v1.0, try new one. As always: your feedback is welcome.
(31.08.2013)
A new 1.1RC2 is out. There was made attempt to improve debugging Fortran code using GDB. “A temporary workaround” (described here and here) was implemented in GDB debugger plugin which allows read values of allocatable and assumed-shape arrays. If you like to view values of such array, you should set “Watch as array” and “Pointer-like” in a watch properties dialog (see screen-shots) for this variable. I consider this solution as temporal and I hope improvements in GDB itself in the future.
(09.06.2013)
A new release candidate is out. There are quite a lot of changes in the core of C::B in this release (thanks to Code::Blocks team). Changes/improvements in this release:
Code-completion list shows types of variables. You can enable/disable this feature on FortranProject settings dialog.
Brace completion now works for Fortran too. You can enable/disable this feature on “Settings->Editor settings” dialog (“General settings” page).
Abbreviations (“Settings->Editor->Abbreviations”) now can be defined for every programming language separately. C::B comes with several simple abbreviations for Fortran, but you can change it according to your preference.
There were made changes in folding of Fortran files. Particularly in how “if-elseif-endif” and “select case” constructs are folded. Please report any problems related to folding of Fortran files to me.
There was implemented simple “tab-to-space” refactoring (“Fortran->Tab2space”). Some of C::B users have to deal with old tab-based non-standard Fortran source files, in which tabs are used instead of spaces. This tool can be used to make Fortran files standard.
Other changes.
(19.12.2012)
C::B team released a new version of C::B, 12.11. While this version comes without FP plugin, it is possible to install it manually. A precompiled version of FP plugin for Windows or source code can be downloaded from Downloads page.
(28.10.2012)
C::B for Fortran IDE 1.0 is out. Just a few minor bugs was fixed since the RC1.
(15.09.2012)
A new release candidate is out. This time I switched a version number to 1.0rc1. Using ‘1.0’ I wanted to indicate, that C::B with FP is not in an ‘alpha’ stage, but rather a full-featured IDE. New in this RC1:
Some of the parsing work was uploaded to the secondary thread. A Fortran code now is parsed directly when an user is making changes in the editor. As a result the code-completion list is always kept updated. The Symbols browser is updated on ‘save’ only (as it was always). Improved call-tips for generic procedures. The call-tip for every concrete implementation of the generic procedure is showed in a separate page (window). You can switch between the pages using Ctrl+Up and Ctrl+Down keyboard shortcuts (menu: Fortran->’Next call tip’ or ‘Prev call tip’) when such call-tip is showed. (look at screenshot bellow) Added code-completion support for keywords from OpenMP and OpenACC. If you are typing after ‘!$omp’ or ‘!$acc’, CC list will include keywords from corresponding standard. Added code-completion support for items from Fortran intrinsic modules: iso_c_binding, iso_fortran_env etc. Implemented ‘Change case’ refactoring (Fortran->Cange case). Using it the user can change the character case for Fortran keywords and/or for other names in the code. Added code-completion support for ‘Select type’ construct (Fortran 2003 feature). Other useful improvements in core of C::B and FormatFortranIndent plugin.
(05.06.2012)
C::B for Fortran IDE 0.8 is out. New in this release compared to version 0.7:
Added support of associate-construct and block-construct (F2003 / F2008). Added support for submodules (F2008 feature). Code-completion, call-tips and tool-tips should work in submodules. Added button “Make current item visible” on FSymbols browser tab. It will help you quickly find your current location - home (it is always good to know where is your home ;) ). Better support of internal procedures. Local variables can be showed in Symbol browser. You can enable / disable this feature on FortranProject properties dialog. FP plugin tries to follow ‘include’ statements when a code-completion list is build. This is important for some of the projects, e.g. if you use gtk-fortran project. Added the first refactoring of Fortran code: Fortran indentation plugin developed by YWX ( github.com/ywx/FormatFortranIndentPlugin ). Use: Fortran->FormatFortranIntentPlugin. 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. I think that this feature will simplify the communication of C::B users with the outside world. Intel debugger plugin (Debugger_IDB) on Linux. This plugin is a frontend to Intel’s idbc debugger. It enables debugging of Fortran 95/03 code directly from C::B. This plugin is just slightly modified GDB Debugger plugin. Unfortunately idbc is not available on Windows. Before first use you should setup path to ‘idbc’ executable on “Setting->Debugger->Intel debugger, Default, Executable path textbox” (usually /opt/Intel/bin/idbc). Added support for Oracle Fortran compiler on Linux.
(12.05.2012)
C::B for Fortran IDE 0.8_RC2 is out. All bugs reported for RC1 should be fixed. If you will find a bug which was reported for RC1, please report it again.
(21.02.2012)
A new release 0.8_RC1 is out. It contains most of changes which are going to be released in the final v0.8. This RC1 build is based on Debugger branch of Code::Blocks. Developers of C::B have made many changes related to the support of debugger in this C::B branch.
(29.11.2011)
A new release 0.7.1 is out. It contains just minor changes to v0.7:
Changed a bit the algorithm for building of file dependencies. This fixed the problem of building of some projects with many file dependencies (thanks to Hossein Talebi for his help). Added few changes in Code-Completion plugin (C++) to make it more friendly for Fortran. Fixed two minor bugs in Fortran file parser.
(25.10.2011)
The version 0.7 of C::B for Fortran is out. New in this release compared to version 0.6:
Now the FP plugin tries to follow use associations and to include only those entities in code-completion list which can be accessed in a current code scope.
Made improvements in the parser of Fortran files to be able to recognize public or private entities. The icon of private entity is marked with a red spot, e.g. the icon of public subroutine is while the icon of private subroutine is . The FP plugin includes only those entities in CC list which can be accessed (are not hidden) in a current scope. Better integration with code-completion for C++: now you can use the same keyboard shortcut for code-completion in Fortran and in C++.
New features can be enabled (default) or disabled in FortranProject options dialog. New features are helpful especially for larger projects or/and when third party libraries are used. If you use third party library in your code, you may find that it is quite convenient to include modules, which are distributed with this library, into your project. You should disable compilation of included module file in the file properties dialog. I tested such scenario with hdf5 and f03gl libraries. In combination with “only” keyword (e.g. use hdf5 only: h5awrite_f) you may have a limited number of procedures of the library in your CC list. Here are screenshots which demonstrate new features.
(07.08.2011)
I have created a new Google Group CBFortran for the users of C::B for Fortran. Everybody can join this group. On this group CBF users can ask questions about CBF or share his/her experience with others. I would like to use this group for announcing the new CB releases and etc.
(16.06.2011)
A release candidate 0.7_rc1 of IDE for Fortran is out. I decided to release RC version first, because I feel that new release should be tested first more extensively. I made quite many changes in the code of the plugin, and new features or even old ones may not work as is expected. You can download new files and test it with your code. Please let me know if it works for you. It is a good time to send me your bug reports and suggestions how to improve C::B (my email is darmar.lt@gmail.com). Maybe I will be able to include it in the upcoming release.
(18.11.2010)
The version 0.6 of C::B for Fortran is out. An attempt was made to improve the object oriented programming style (Fortran 2003 features) support:
added inherited components of derived type to the code-completion list;
added type-bound procedures to the code-completion list (not all possible cases are covered yet, e.g. generic type-bound procedures).
comments, which go on the same line after variable declaration, are used as a description of that variable
improved the support of generic procedures.
and some more.
Thanks to Pierre Archambeau, Pavel Bokov, Mohammad Rahmani and PcX for their feedback.