Photran includes a number of sophisticated features that are designed to make it easier to write, modify, search, and maintain Fortran code. These include content assist, which can "auto-complete" variable and function names as you type; a declaration view, which can show the leading comments for the selected variable or procedure; Fortran Search, which allows you to find declarations and references to modules, variables, procedures, etc.; and refactorings, which change your source code to improve its design while preserving its behavior.

# Enabling Advanced Features

In order to use any of the advanced features described in this document, you must specifically enable them as described below. After you do this, Photran will index your project; that is, it will build a database of what modules, subprograms, etc. are declared in every file in your project. This information will be updated incrementally every time you save a file. Although this process is usually reasonably fast, it may become disruptive when working on very large projects, so it has been disabled by default. Note that the first time your project is indexed, it may take a while, because Photran must analyze every file in your project; after that, it will only index files that have changed (and files that depend on a file that has changed), so it will generally be much faster.

## How to Enable Advanced Features

1. Right-click on your project in the Fortran Projects view
2. Click on Properties
3. Expand Fortran General in the list on the left, and click on Analysis/Refactoring (see screenshot below)
4. Check the "Enable Fortran analysis/refactoring" check box
5. If you want to enable content assist, the Fortran Declaration view, etc., check those boxes as well
6. You may also want to set module and include paths at this point (see below)
7. Click OK

## Setting Module and Include Paths

If your source code contains INCLUDE lines or USE lines referencing modules in other files, Photran needs to know where to look in order to find these. It will not figure this out automatically. For each project in which you plan to use refactoring support,

1. Right-click on your project's folder in the Fortran Projects view
2. Click on Properties
3. Expand Fortran General in the list on the left, and click on Analysis/Refactoring
4. List the folders in which Photran should search for INCLUDE files and modules when refactoring. They will be searched in order from the first folder listed to the last. Subfolders are not searched automatically; you must include them explicitly.
5. Click OK

# Advanced Features and C Preprocessed Code

Starting with Photran 6, C preprocessor directives are supported in Fortran code, as described in the Photran User's Guide. While most of the advanced features described in this manual can handle C preprocessed code, refactorings currently cannot. If you attempt to refactor C preprocessed code, you will receive an error message.