version 0.6.0
How to configure and use the Atom IDE for Notus

The following guidelines will help you to configure and use the Atom IDE on your machine in order to efficiently develop in Notus.

Pre-requirements

The Atom editor has to be installed on your computer. We advise you to get the latest version. Atom is a (mostly) lightweight text editor that is easy to configure as a powerful IDE (Integrated Development Environment). It is also easy to install with a package or through compilation (refer to the application's website for Howtos).

This Howto has been written with and for Atom v1.6.0-beta7.

Basic configuration

There is not much to configure in order to start developing in Notus with Atom. First you need to open it and add the Project Folder, simply by launching Atom:

  • from the command-line in the Notus base directory (the one fetched with Git, and containing the directories "src", "test_cases", etc.) ;
  • from anywhere and then clicking File/Add Project Folder and select the Notus base directory.

Install and configure Atom packages for Notus

We highly recommend to install the following packages through the Atom settings (this is very quickly done, see below):

  • language-fortran: Fortran syntax highlighting
  • git-control: a Graphical User Interface to commit, diff, pull, etc. (see the Git Usage page). git-plus can also be used as a complement.
  • atom-ctags: procedures/functions automatic completion and references

How to install new packages in Atom?

Click on Edit/Preferences (or ctrl+comma) and follow the steps in the image below:

Once these packages have been installed, you should configure them through the Packages button. At this point, you might consider restarting Atom to be sure to have a correct integration of those packages.

Configure Ctags

a) Package configuration

As Notus CFD has got quite an important number of source files, the ctags operations can take quite some time. It is thus needed to tune its configuration a bit:

  • set the "Build timeout" to 100000 (10000ms, 10s, by default)
  • add the following "Cmd args": –exclude=build –exclude=test_cases –exclude=test_cases -exclude=input –exclude=std –exclude=tools

b) Rebuild the ctags file

Then open any file of the Notus project, right click inside the text tab and click on the Rebuild ctags line. This operation will take some time (around 30 seconds). After that, you will be able to use the automatic completion inside Atom.

Tips and tricks for easy development

Quick Git changes overview with Atom

Every modification (since the last commit) to files in the Notus project can be tracked in the project's tree thanks to coloring:

  • yellow: the file has been modified ;
  • green: the file is a new file that has to be added to the repository.

Every modification inside a file can also be tracked thanks to coloring next to the line number:

  • yellow dot: these lines has been modified ;
  • green plus sign: these lines has been added.
Figure 2: Git repository modifications

Git control

While you can use any other Git client (command line, gitg, etc.) to manage your git repository, the git-control package is very intuitive to use. Simply open it through Packages/git-control/Toggle or with alt+ctrl+o. With it you can switch between branches, commit, show diff, etc. An example is shown below:

Auto-completion

You can use auto-completion to type more quickly your code or even help you find a function/procedure/variable name! Just type the beginning and a menu will automatically pop-up as shown below. Simply navigate through the options and hit the Enter key.

Quick navigation through project's files

  • If you are looking to open a particular module file that you used in your code, you can reach it quickly by double clicking on the module's name then right click and Go to Declaration. Try it! Reaching a subroutine/function/variable declaration is sadly not yet supported for Fortran.
  • If you have opened a file and want to find it in the project's tree, simply right click in the text panel and select Reveal in Tree view or the equivalent keyboard shortcut.
  • If you are searching for a particular text but can't find remember where it has been used, simply use the Find/Find in Project (ctrl+shift+f) tool. Try it now with "surface tension"! This is equivalent to the git grep tool.
  • If you want to comment/uncomment one or more lines of code, simply hit the ctrl+/ shortcut or use the Edit/Toggle Comments action.