Configuring background parsing

The code you type is parsed continuously to identify errors. The errors are underlined with red squiggly lines.

Regardless of whether background parsing is enabled, error information is generated during project builds.

You can turn off background parsing, but many of the IDE features depend on it (for example Outline/Program outline, colorization, and Copy View). If it is switched off they will not work and might cause unexpected problems.
Switching off or delaying background parsing when Eclipse is running
You can turn off background parsing in the Preferences dialog box (select Window > Preferences > Micro Focus > COBOL > Editor and deselect Background parsing).

Parsing is triggered when there is a pause in editing code; by default this is 500 milliseconds. By keeping Background parsing selected and entering a larger value in the Trigger delay field, you can make sure your code is parsed less frequently, and improve performance when developing projects with large numbers of source files.

Switching off background parsing before you start Eclipse
Use the property disable.cobol.indexing to switch off background parsing when you start Eclipse.
If you start Eclipse from the command line, you do this by using the command:
eclipse.exe -vmargs -Ddisable.cobol.indexing=true
If you start Eclipse from the Start menu or a shortcut, edit the eclipse.ini file and add the line:
to the -vmargs section.
Switching off or limiting background parsing for specific databases
You can limit background parsing for code relating to DB2, OpenESQL, and XDB processing, which can improve performance if you are developing large projects that use these databases. Select Window > Preferences > Micro Focus > Database and choosing your preferred level of parsing in the DB2 Background Parse, OpenESQL Background Parse, and XDB Background Parse pages).

Basic background parsing is a minimal check of EXEC SQL statement structure and doesn't require a database connection. Errors that are not detected by a basic check will result in run-time errors.

Complete background parsing uses a database server to perform additional checks. This detects more errors at compile time but requires more resources and works best with small projects and a connection to a database on the local machine. In addition to a database connection, the database schema used by the application must be present.


The COBOL Indexer runs in a background thread, scanning all programs to work out what copy books each program uses. If a file thought to be a program is actually found to use a copybook, the file's type is changed to copybook. The Indexer is only executed when determining directives, typically when files are added to a project, and gleans index information from the build output. This can mean a delay in the information being updated compared to earlier releases of the product, but reduces the amount of indexing performed and thereby increases performance.

The Background Parser either runs directly in the COBOL indexing thread or in a thread invoked separately by the Editor when a change is made to a program. By default it is invoked by the Editor half a second after you stop typing. When you first open an Editor window, if an .idy file can be found then no background parse is performed and the Team Developer perspective views populated with information from the .idy file.

The Parser is also used for COBOL JVM projects. The Java Indexer invokes the background parser when it needs information about a class (such as method declarations and inner classes), which is cached by the Java Indexer in the workspace.