- Welcome to Simply Fortran
- Purchasing and Activating Simply Fortran
- Using Simply Fortran
- The Simply Fortran Interface
- Editing in Simply Fortran
- Projects in Simply Fortran
- Building Projects
- Launching Projects
- Debugging Programs
- External Tools
- Options and Configuration
The project outline panel within the Simply Fortran environment is used to manage files within a project, including Fortran source files, libraries, and dependent projects. The project allows files to be organized into arbitrary folders that do not necessarily correspond to the file system. This disconnect from the file system allows a developer to organize files in a manner logical for development rather than for file storage.
The project outline panel is comprised of two main controls. Just under the title “Project Outline” is the project switcher, a dropdown menu where the current project can be selected. The dropdown also includes an entry for “All Files,” allowing the user to see a list of every file in every open project in addition toany non-associated files open in editor tabs. The project icon accompanying the project switcher may be dragged to either move a project to another Simply Fortran window or to create an entirely new Simply Fortran window if dragged to the desktop.
Below the project switcher is the project outline tree, which lists all files and folders in the current project. When “All Files” is selected, the tree will simply list all known files instead. The project tree can be used to open files by double-clicking in the editor. Files and folders may be dragged within the project tree to rearrage the project; this operation has no effect on the underlying file system layout. If a supported version control system is detected for a given project, the tree will also show the current status of files with respect to the version control system. Right-clicking the project tree will open the project tree will open the project outline menu, explained below.
The project outline panel is accessible via clicking “Project” in the left sidebar or “Project Outline” in the View menu.
Project Outline Menu
The project outline menu contains functionality for managing a project .
|Add Folder…||Adds a folder to the project|
|Add New File… (macOS and GNU/Linux only)||Adds a new, previously nonexistant file to the project|
|Add File(s)…||Adds existing or new, previously nonexistant (on Windows only) file to the project|
|Remove Item||Removes the item from the project and all children (if a folder)|
|Disable/Enable File||Disable (excludes from building) or enable (includes in building) the selected file|
|Rename…||Renames the selected item|
|Move to Parent||Moves the selected item to its parent item in the project tree|
|Collapse All||Collapses all folders in the project|
|Expand All||Expands all folders in the project|
|View Makefile||Opens the project’s generated makefile|
|File||File operations for a project, including saving and opening|
|Build||Build operations for a project|
|Version Control||Version control operations for the selected file|
|Options…||Opens the Project Options window|
Adding and Removing Items
Selecting Add Folder… opens a dialog where the user can specify the name for a new folder within the project tree. Again, this folder does not correspond to filesystem folders, but, rather, is used purely for project organization purposes. The resulting folder will be added to the parent folder that was selected when the project menu was instantiated via right-click.
Similarly, files may be added to a project via the Add File(s)… and, on GNU/Linux and macOS, the Add New File… options. When either of these items is selected while another item is highlighted in the project outline panel, a file dialog is presented to the user. If a file is selected, the file is added to the project tree within either the selected folder or the parent folder of the selected non-folder item.
Any file can be removed quickly by selecting the item in the project tree, right-clicking to bring up the menu, and selecting Remove Item…. Removing a file will not delete the file from the disk.
Enabling and Disabling Files
Any individual file may be enabled or disabled, effectively including or excluding the file from the build process respectively. The feature is useful if, for example, a project has duplicate modules or multiple program units where only one should be compiled at a time. By disabling a file, the file will be excluded from compilation and dependency searches once the makefile is (re)generated while still remaining in the project structure.
Renaming an Item
Selecting this option opens a window allowing the user to rename an item. If the selected item is a file, the file will also be renamed on disk. If the selected item is a folder, the folder is only renamed in the project outline.
Move to Parent
This option moves the selected item one level up in the project tree to a parent folder. Because moving files in large projects can be difficult, this option makes moving the singular item somewhat easier in certain circumstances.
Collapse and Expand All
These options collapse and expand all folders in a project respectively.
Viewing a Project’s Makefile
For a saved project, selecting View Makefile will open the project’s most recently built makefile in an editor window. The makefile will only appear if the project has already been saved and the Generate Makefile option or related build procedure has already been executed.
Project Loading and Saving
Projects may be loaded and saved directly from the project pane’s popup menu. By entering the File submenu in the popup menu, the user can elect to load and save the current project, or, alternatively, a new project may be created. This functionality is similar to that of the environment’s Project menu .
Building functionality is also available from the popup menu via the Build submenu. This submenu provides access to cleaning, makefile generation, building, and launching, similar to that found in the environment’s Build menu .
The Project Options dialog is also accessible via the Options… item in the popup menu.