The PL/I Editor

To work with files in the PL/I editor, simply double-click the PL/I source file in the PL/I Explorer that you want to edit. You can also right-click the file and choose Open.

The PL/I editor contains all features to aid PL/I coding and editing such as:

Block Selection

Lets you select specific blocks of text in your code. Click the Toggle Block Selection Mode (Toggle Block Selection) button in the toolbar or press Alt+Shift+A to alternately enable and disable block selection.

When in Block Selection mode, the cursor changes to a crosshairs cursor, letting you select a block of text. Click and drag to select a text block.

Breadcrumb Navigation

Context breadcrumbs are enabled by default. You can use the Toggle Context Breadcrumbs button (Toggle Context Breadcrumbs) on the toolbar to switch the functionality on and off. The breadcrumbs navigation bar displays at the top of each PL/I editor tab, and lets you quickly view and open programs and include files along the trail of files for the current file. You can also use the breadcrumb navigation for quick context switching between include files.

Code Templates

Code templates are preset snippets of code you can place in your programs. Enterprise Developer provides a number of native PL/I and mainframe PL/I code templates that you can use while writing your code. Press Ctrl + space in the editor to access the code templates using the content assist pop-up.

Available templates display at the bottom of the list. Use the scroll bar in the content assist pop-up to find the template you want in the content assist list. Click once on the desired template name to see the code snippet for the template in a pop-up. Double-click the desired template name to place the template code snippet into your code at the current cursor location.

There is a set of templates for PL/I, and an additional template set for code containing EXEC CICS statements.

You can manage your templates in the Templates Preferences page by clicking Window > Preferences > Micro Focus > PL/I > Editor > Templates. You can create new templates, or edit and delete existing templates, as well as import and export templates as .xml files to share with other users.

Content Assist

Content assist supports PL/I language elements when working in the PL/I editor. Content assist provides editing features to help you write syntactically correct code and to look up available elements. Use content assist to complete words, lookup code, get parameter keywords and aid your code development in other ways.

Press Ctrl + space to get content assistance that is in context with what you are typing in your code. For example, if you are typing a PL/I statement and press Ctrl + space, the list of applicable items appears, with the best match for the statement you are typing highlighted in the content assist pop-up. Any related keywords and templates using the highlighted statement also appear in the pop-up list.

Content Assist window

Content assist only offers assistance for the variables and methods that are in scope based on the current cursor position. For variables and methods with ambiguous names, the string inserted is disambiguated.

Preference settings for content assist are not supported.

Contextual Local Help

Dynamic help in the PL/I Editor provides contextual help for PL/I keywords and various language elements in your code. Highlight the desired language element in your code and press F1 or help in the Help viewer for the PL/I statements as you click on them in the code. To open the Help view, click Help > Show Contextual Help. This opens the Help viewer and displays reference information for the highlighted item.

Error Indicator

The Error indicator actively shows any errors and warnings in your code as you type. Lines containing errors or warnings are indicated with a red x at the beginning of the line. You can hover over the error or warning in the line to see a tool tip that displays additional information.

Error messsage displayed on hover

Extracting PL/I code to an include file

You can extract highlighted lines to an include file by right-click in the editor, and clicking Refactor > Extract to Include File. See Extracting PL/I code to an include file for more information.

Find References

Find references lets you discover all the places in your current program where a selected language element is. For example, place the cursor anywhere within a procedure name and choose Find References, or press Ctrl + Shift + G. All occurrences of the selected procedure name in the current program display in the search tab under the program name. Each found instance includes the line number where the instance is located. This appears regardless of whether or not Line Numbering is being used.

Folding

Folding hides sections of your program, such as multi-line comment blocks that start on the fist line or other multi-line comment blocks, external or internal procedures, do-end and begin-end blocks and data structure declarations. You can hover over a collapsed section to display it in expanded form.

You can configure Eclipse to always fold any combination of these block types. To do this, click Window > Preferences > Micro Focus > PL/I > Editor > Folding and check the options that you require.

Go To Definition

Go to definition lets you locate the definitions of variables in the code. Click a variable and press F3 to move to the code that declares the variable. You can also hover over a variable anywhere in code to see a tool tip that shows the procedure in which it is defined and other information including the variable definition and the number of times the variable is referenced in the program.

Go to Matching Block/Bracket

You can use this to locate the bracket or block that matches the one at your current cursor position. In this case, a block is a do-end, begin-end, and select-end block. To move the cursor to the matching block or bracket, right-click in the PL/I editor, and then click Go to Matching Block/Bracket. Alternatively, press Ctrl+Shift+P.

Horizontal Rule

The Horizontal rule runs along the top of the PL/I editor window. It marks the columns with a tick and numbers them into groups of ten. This is helpful when column alignment is required in PL/I programs. Showing or hiding the horizontal rule affects all files open in a PL/I editor tab.

You can configure Eclipse to hide or show the horizontal rule. To do this, click Window > Preferences > Micro Focus > PL/I > Editor and check Show horizontal ruler.

Include Dependency View

Include Dependency view shows a list of the include files referenced from the current program or include file and any nested include files. Click Window > Show View > Include Dependency to see the current program in the PL/I editor display in the Include Dependency tab.

Click the Sort button () in the tab to toggle between a physical or alphabetical sequence. Click Hide Program Structure () to show the program structure and where the include files fit in it, or only show the include files in the current file.

Line Numbering

Line numbering helps with collaboration and simplifies code navigation, especially in larger programs. Click the Renumber/Unnumber buttons in the toolbar to either insert or remove line numbers from the right margin in the sources. For PL/I, this margin is at column 256. By default, line numbering starts at 00000100 at the first line, and increments by 100 lines. You can specify a different number of lines to increment. To do this, click Window > Preferences > Micro Focus > PL/I > Editor > Line Numbering, and type an integer number of lines.

You can also show the standard Eclipse line numbers in the left margin of any file in the PL/I editor. Right-click anywhere in the left margin and choose Show Line Numbers to show or hide line numbers. Using this command enables the Eclipse standard line numbers for all files open in a PL/I editor.

You can also set the color shown in columns set outside the margins in the Margin color list box.

Margins

By default, the editor automatically sets the PL/I margins based on the project type - at column 1 and 72 for native PL/I programs and at columns 2 and 72 for mainframe subsystem PL/I code. To configure the margins, click Window > Preferences > Micro Focus > PL/I > Editor and either check or uncheck Automatically set margins based on the project settings, or set the margins as needed in the Margin columns field. Change the color of the margin using Margin color.

You can also set the color shown in columns set outside the margins in the Margin color list box. This sets the color of the margin horizontal lines in Eclipse and not of the columns.

Tip: You can also use the -margins compiler option to set the margins for a project, see Compiler Options.

Mark Occurrences

Mark occurrences highlights all the occurrences of the selected variable in the current file. Click the Toggle Mark Occurrences button () to turn the feature on or off. When turned on, click within the desired variable name to see where else it is used in the current file.

Outline View

Outline view shows the structure of the program you are editing. This is useful for navigating large programs, for example by clicking on a procedure or a variable declaration to go to it in the code and vice versa - clicking in the code also selects the same block in the Outline view.

The Outline view shows only items from the current editor - if the program is opened in the PL/I editor only items from the current program will be visible and not from its include files. If the program is opened in the Copy View, all items are visible in the editor (the Copy View is a read-only editor) and in the outline.

Double-click items in the Outline view to see how the cursor positions itself on the respective line of code that each one of these outline items refers to and highlights the referenced item in the editor window.

Click the Sort button () for the Outline to toggle between a physical or alphabetical sequence.

You can also use the Outline view to manage program debugging execution. Right-click a line to stop on during debugging and click Toggle Breakpoint to set or clear a debug breakpoint at the selected line. To specify a data item you want to watch or stop watching for certain conditions to be met, right-click to select the data item, then click Toggle Watchpoint.

Quick Outline

Quick Outline view lets you see the structure of the current program as a tree view in a pop-up. While working in the PL/I editor, press Ctrl + o or right-click and select Quick Outline to activate the Quick Outline view. You can actively search any string in the program by typing in the entry field at the top of the window. Click any element in the Quick Outline view to move the cursor to the beginning of the line containing the element.

Program Outline View

Program Outline view shows the whole program structure of the current PL/I program, including the procedures, statements, variable declarations, and other elements in an expandable and collapsable tree view. You can also see the elements that are in other files. Click Window > Show View > Program Outline to see the current program in the PL/I editor display in the Program Outline tab.

Click a data declaration in the Program Outline view to open the relevant source or include file, and to navigate to the line containing the data item. Similarly, clicking on a data item in the PL/I editor highlights that item in the Program Outline view at the appropriate place in the program outline.

Right-click to select an element in the Program Outline tab and click References to display a listing of where the selected element is referenced in the program. The reference listings appear in the Search tab.

Like the Outline View, you can also use the Program Outline view to manage program debugging execution. See the section Outline View in this topic for details.

Read-Only Background Coloring

Read-only background coloring displays read-only files with a light-yellow colored background in a PL/I Editor window as a visual cue that you cannot edit the file.

Remote Development Mode

If you are editing PL/I on a remote development platform you can disable statement checking that might generate unwanted diagnostic messages. To do this, click Window > Preferences > Micro Focus > PL/I > Editor, and then check Remote development mode.

Remove Trailing Whitespace

By default, trailing whitespace is not removed when you save a PL/I file. You can specify that you want to remove all trailing whitespace when you save the file. To do this, click Window > Preferences > Micro Focus > PL/I > Editor, and then click Remove trailing whitespace on save.

To remove all trailing whitespace, click Source > Remove Trailing Whitespace. Alternatively, right-click in the PL/I editor, and then click Source > Remove Trailing Whitespace.

Shift-out/Shift-in (SOSI) Byte Editing

You can insert a character in the PL/I editor to indicate a shift out of a single byte input stream into a double byte input stream, then insert another to shift back from a double-byte to a single-byte stream. Press ALT+S, then O to insert the shift-out character to double-byte, and press ALT+S, then I to shift back into single-byte mode after typing the double-byte characters you need. This allows double-byte characters in your PL/I code, particularly Japanese-language characters, as shown in this graphic.

Show/Hide Whitespace Characters

Click the Show Whitespace Characters button (Show Whitespace Characters) in the toolbar to alternately show and hide whitespace characters in the editor. Whitespace characters include spaces, carriage returns, and end-of-line markers. Showing or hiding whitespace characters affects any PL/I editor window you view. Click the button again to show or hide the characters.

Smart Edit Mode

Smart Edit Mode controls code line wrapping behavior when the end of the code area is reached, or when deleting code, as well as line breaking and margins and indentation when creating new lines or using the Tab key. See the topic Configuring Smart Edit Mode for PL/I for more information on setting Smart Edit features for your PL/I programs.

Smart Caret

Smart caret lets you customize the behavior of the Home, End, and Tab keys. You can configure how the Home, End and Tab keys move the cursor in the code area.

To do this, click Window > Preferences > Micro Focus > PL/I > Editor to set the various smart caret options. See the topic Customizing the Behavior of Home, End, and Tab Keys for more information.

Syntax Error Reporting

The code you type is parsed continuously to identify errors. The errors are underlined with red squiggly lines, and warnings are underlined with yellow squiggly lines. You can hover over an error to see information about the error in an error message tool tip.

Tasks

You can manage tasks by adding the default TODO or FIXME tags in the PL/I code comments. Eclipse visualizes these tags in the Task tab. Any text that follows the TODO or FIXME tags appears in the task description. To view the Task tab, click Window > Show View > Tasks or Windows > Show View > Other, expand General, click Tasks, then click OK. Double-clicking on the line in the Task tab takes you to the highlighted line in the editor.

Both TODO and FIXME tag lines are marked on the left margin of the editor with a clipboard icon (). Rows in the Task tab that are tagged TODO are high priority tasks and are highlighted with an exclamation point ().

You can customize the tags from Window > Preferences > Micro Focus > PL/I > Editor > Task Tags. You can add, remove or edit tags, specifying their priority as high, normal or low.

Toggle Comments

Allows you to toggle single or multiple lines between a commented and uncommented state. Pressing Ctrl+/ toggles the highlighted lines between states. Commenting a line applies a leading "/*" and closes the last highlighted line with a "*/", uncommenting removes these markers. See Comments for more information on comments in PL/I.