Difference between revisions of "WDSC LPEX"

From MidrangeWiki
Jump to: navigation, search
(+Lpex configuration)
(Remap keyboard shortcuts)
 
(11 intermediate revisions by 3 users not shown)
Line 12: Line 12:
 
*RPG wizards
 
*RPG wizards
 
*Automatic FOR/DO completion
 
*Automatic FOR/DO completion
*Context-sensitive help
+
*[[Lpex context sensitive help | Context-sensitive help]]
 
*Context-sensitive editing
 
*Context-sensitive editing
 
*Regular expression Find/replace
 
*Regular expression Find/replace
Line 26: Line 26:
 
*Tasks
 
*Tasks
 
*Reference manuals included
 
*Reference manuals included
 +
*[[Lpex Show Block Nesting | Show Block Nesting]]
  
 
==Keyboard shortcuts==
 
==Keyboard shortcuts==
Line 34: Line 35:
 
In the LPEX command line type "?action", "?query", "?lpex" or "?seu" (in the full version of WDSC) and you are taken to the appropriate help page.  Note on WDSC Lite V6 typing "?seu" brought up nothing.
 
In the LPEX command line type "?action", "?query", "?lpex" or "?seu" (in the full version of WDSC) and you are taken to the appropriate help page.  Note on WDSC Lite V6 typing "?seu" brought up nothing.
  
'''WDSC 7.x'''<br>
+
'''WDSC 7.x''', '''RDP 8.x'''<br>
 
Anywhere in the workbench press Ctl+Shft+L. This brings up a window called "Key Assist", which can also be accessed via the Help menu.
 
Anywhere in the workbench press Ctl+Shft+L. This brings up a window called "Key Assist", which can also be accessed via the Help menu.
 +
 +
Keyboard shortcuts are formally known as User Key Actions.
  
 
==Drilling into an "in source" subroutine or subprocedure (RPG)==
 
==Drilling into an "in source" subroutine or subprocedure (RPG)==
Line 68: Line 71:
  
 
==Remap keyboard shortcuts==
 
==Remap keyboard shortcuts==
 +
 +
Keyboard shortcuts are officially called User Key Actions.  Eclipse itself supplies many actions and IBM supplies more of their own with Lpex.  If you wish to assign different actions to a key, you'd use the Preference panel for User Key Actions.  Help > LPEX Editor > User Key Actions.
 +
 
*The default action for Alt-S is to split the line and start the split at the left most position of the new line.   
 
*The default action for Alt-S is to split the line and start the split at the left most position of the new line.   
 
*Many times it is desired to have it split and stay were it split within the new line.   
 
*Many times it is desired to have it split and stay were it split within the new line.   
Line 84: Line 90:
  
 
[[User:Mattt|Mattt]] 13:56, 29 June 2007 (CDT)
 
[[User:Mattt|Mattt]] 13:56, 29 June 2007 (CDT)
 +
 +
[[File:LPEX_User_Key_Actions.jpg]]
 +
 +
It's really important to Click the Set button on the right before clicking Apply or OK.
 +
 +
<br>
 +
<b>Key mappings are stored in the following files:</b>
 +
 +
{| class="wikitable" class=sortable style="position:relative; margin: 0 0 0.5em 1em; border-collapse: collapse; background:white; clear:right; text-align:left;" border="1" cellpadding="3"
 +
|-
 +
! IDE version
 +
! File name
 +
|-
 +
| 7.0
 +
| <workspace>.metadata/.plugins/com.ibm.lpex/Editor.properties
 +
|-
 +
| 8.5
 +
| <workspace>.metadata/.plugins/com.ibm.lpex/Editor.properties
 +
|-
 +
| 9.0
 +
| <workspace>.metadata/.plugins/org.eclipse.core.runtime/.settings/com.ibm.lpex.prefs
 +
|}
  
 
==LPEX command line==
 
==LPEX command line==
Line 94: Line 122:
 
#Goto into the command line by pressing Esc (if not already there).
 
#Goto into the command line by pressing Esc (if not already there).
 
#key (without quotes) "query actionKey.ACTION" where ACTION is the LPEX editor action.
 
#key (without quotes) "query actionKey.ACTION" where ACTION is the LPEX editor action.
#* Example, "query keyAction.showSourcePromptView" reports back in default situations "f4.t".
+
#* Example, "query actionKey.showSourcePromptView" reports back in default situations "f4.t".
  
 
In the LPEX command line type "?action", "?query", "?lpex" or "?seu" (in the full version of WDSC) and you are taken to the appropriate help page.  Note on WDSC Lite V6 typing "?seu" brought up nothing.
 
In the LPEX command line type "?action", "?query", "?lpex" or "?seu" (in the full version of WDSC) and you are taken to the appropriate help page.  Note on WDSC Lite V6 typing "?seu" brought up nothing.
Line 101: Line 129:
 
You can add new actions you find by default in the system or one you develop.  There are some sample actions that are useful to a degree.  Two of them seem the most useful.  They are composeAction and setDateAction.
 
You can add new actions you find by default in the system or one you develop.  There are some sample actions that are useful to a degree.  Two of them seem the most useful.  They are composeAction and setDateAction.
  
Map these to any keyboard shortcut you wish, I jsut choose Alt-F1 and Alt-F2 since they were not used.
+
Map these to any keyboard shortcut you wish, I just choose Alt-F1 and Alt-F2 since they were not used.
 +
 
 +
<B>IMPORTANT</b> text case is very important here.
 +
 
 +
These actions were obtained from the online help by searching for "lpex samples". 
 +
[[User:Mattt|Mattt]] 13:56, 29 June 2007 (CDT)
 +
 
 +
The basic idea is to register an action with Lpex and then to assign a key sequence to that action.  When registering the action, you get to choose the name; it isn't necessarily related to the actual class.  For instance, below, we chose the action name to be {{code|compose}}.  The class name must be exactly copied from the documentation <b>-case matters-</b> in order to associate the Java class to the action name you chose.  Here, that class is {{code|com.ibm.lpex.samples.ComposeAction}}.
 +
 
 +
You can test these assignments from the command line if you wish.  From the editor pane, press {{keypress|Esc}} to get to the command line.  Press Enter to execute a command, then {{keypress|Esc}} to return to editing.
 +
* {{code|set actionClass.compose com.ibm.lpex.samples.ComposeAction}}
 +
* {{code|action compose}}
 +
* {{code|set keyAction.a-f1 compose}}
 +
 
 +
You can also find out if a key has an assignment or not:
 +
* {{code|query keyAction.a-f1}}
 +
 
 +
You can also disassociate a key from an action:
 +
* {{code|set keyAction.a-f1}} (note: no action name drops the assignment)
 +
 
 +
 
 +
===ComposeAction===
 +
This action allows you to enter characters that aren't on your keyboard, like â and é.
 +
 
 +
Register the action
 
#<u>W</u>indow &rarr; <u>P</u>references &rarr; LPEX Editor &rarr; User Actions.
 
#<u>W</u>indow &rarr; <u>P</u>references &rarr; LPEX Editor &rarr; User Actions.
 
# In the <u>N</u>ame entry box, key actionClass.compose
 
# In the <u>N</u>ame entry box, key actionClass.compose
Line 107: Line 159:
 
# Press the <u>S</u>et button.
 
# Press the <u>S</u>et button.
 
# Press the <u>A</u>pply button.
 
# Press the <u>A</u>pply button.
 +
 +
Assign a key
 
#<u>W</u>indow &rarr; <u>P</u>references &rarr; LPEX Editor &rarr; User Key Actions.
 
#<u>W</u>indow &rarr; <u>P</u>references &rarr; LPEX Editor &rarr; User Key Actions.
 
# In the <u>K</u>ey entry box, key a-F1
 
# In the <u>K</u>ey entry box, key a-F1
Line 112: Line 166:
 
# Press the <u>S</u>et button.
 
# Press the <u>S</u>et button.
 
# Press the <u>A</u>pply button.
 
# Press the <u>A</u>pply button.
Repeat the above steps for setDateAction replacing Compose with SetDate and Compose with SetDate. 
 
<B>IMPORTANT</b> text case is very important here.
 
  
These actions were obtained from the online help by searching for "lpex samples".
 
  
[[User:Mattt|Mattt]] 13:56, 29 June 2007 (CDT)
+
===SetDateAction===
 +
This action allows you to set the date value for a selected group of lines.  This is similar to [[SEU]]s F13 action to set the date.
 +
 
 +
Register the action
 +
#<u>W</u>indow &rarr; <u>P</u>references &rarr; LPEX Editor &rarr; User Actions.
 +
# In the <u>N</u>ame entry box, key actionClass.setDate  (<strong>NOTE:</strong> <em>Some people have found it necessary to enter only "setDate" without the "actionClass." prefix.</em>)
 +
# In the <u>C</u>lass name entry box, key com.ibm.lpex.samples.SetDateAction
 +
# Press the <u>S</u>et button.
 +
# Press the <u>A</u>pply button.
 +
 
 +
Assign a key
 +
#<u>W</u>indow &rarr; <u>P</u>references &rarr; LPEX Editor &rarr; User Key Actions.
 +
# In the <u>K</u>ey entry box, key a-F2
 +
# In the A<u>c</u>tion drop down, choose setDate action
 +
# Press the <u>S</u>et button.
 +
# Press the <u>A</u>pply button.
  
 
==LPEX profile properties==
 
==LPEX profile properties==
Line 142: Line 208:
 
|}
 
|}
  
 +
==Outline View export==
 +
Outline View information can't officially be exported, but the XML files involved are stored at {{code|.metadata\.plugins\com.ibm.etools.iseries.edit\information}}
 +
 +
(Thanks to Xuan at the [http://www-949.ibm.com/software/rational/cafe/thread/3371 RPG  Café])
 +
 +
In WDSC 7.0, the XML files are in {{code|.metadata\.plugins\com.ibm.etools.iseries.core\information}}
  
 
==Catgeories==
 
==Catgeories==

Latest revision as of 15:55, 18 July 2014

WDSC LPEX - Tips for using LPEX (Live Parsing eXtensible Editor)

LPEX is a Java-based editor that 'knows' about System i code, especially in its accommodation of source members, sequence number and date stamp as well as parsers/syntax checkers for DDS, RPG and CL (among others.)

Some LPEX features:

  • Syntax checking
  • Colorised source
  • Outline view
  • Content assist
  • Code templates
  • RPG wizards
  • Automatic FOR/DO completion
  • Context-sensitive help
  • Context-sensitive editing
  • Regular expression Find/replace
  • 50 visible lines of code
  • Automatic indenting
  • Side-by-side editing
  • Filtering
  • Subsetting
  • Show block nesting
  • Filters and filter pools
  • Verify
  • Bookmarks
  • Tasks
  • Reference manuals included
  • Show Block Nesting

Keyboard shortcuts

Keyboard Shortcuts listing

— or —

In the LPEX command line type "?action", "?query", "?lpex" or "?seu" (in the full version of WDSC) and you are taken to the appropriate help page. Note on WDSC Lite V6 typing "?seu" brought up nothing.

WDSC 7.x, RDP 8.x
Anywhere in the workbench press Ctl+Shft+L. This brings up a window called "Key Assist", which can also be accessed via the Help menu.

Keyboard shortcuts are formally known as User Key Actions.

Drilling into an "in source" subroutine or subprocedure (RPG)

  • Position cursor over subroutine or subprocedure name.
  • Press Ctrl-Q (set a quick mark position).
  • Press F3 to move LPEX editor to that subroutine or subprocedure.
  • When you are finished with that subroutine or subprocedure and wish to return

to the call of the subroutine or subprocedure press Alt-Q.

Mattt 13:56, 29 June 2007 (CDT)

Fonts

Some suggested fonts that don't come installed with Windows:


  1. Download your font of choice.
  2. Install the font into your font folder (usually under the C:\Windows system folder).
  3. Window → Preferences → LPEX Editor → Appearance.
  4. Click on the Font button to change the font to Proggy font you installed.

To assign a font to the editor's printed output, you can use the set command from the command line: set default.print.font ProggyCleanTTSZBP-11 or exit WDSC and edit the properties file located in [path to workspace]\.metadata\.plugins\com.ibm.lpex\Editor.properties

default.swt.print.font.fontData="1|ProggyCleanTTSZBP|11|0|WINDOWS|1|-15|0|0|0|0|0|0|0|1|0|0|0|0|ProggyCleanTTSZBP"
default.swt.print.font="ProggyCleanTTSZBP-regular-11"

set default.print.font "Courier New-8" seems like a decent fit for US 8-1/2 x 11 inch paper printed in portrait mode.

Tip o' the hat to Adrian over at the Lab in Toronto for the printing font tips.

Remap keyboard shortcuts

Keyboard shortcuts are officially called User Key Actions. Eclipse itself supplies many actions and IBM supplies more of their own with Lpex. If you wish to assign different actions to a key, you'd use the Preference panel for User Key Actions. Help > LPEX Editor > User Key Actions.

  • The default action for Alt-S is to split the line and start the split at the left most position of the new line.
  • Many times it is desired to have it split and stay were it split within the new line.
  • From there you can move the new line text only a short distance.
  • To make Alt-S split and leave the starting position of the new text in the same place you want to run the ---
Split and Shift action.


Reassign a shortcut key for LPEX

  1. Window → Preferences → LPEX Editor → User Key Actions.
  2. In the Key entry box, key a-s
  3. In the Action drop down, choose splitAndShift action
  4. Press the Set button.
  5. Press the Apply button.

Mattt 13:56, 29 June 2007 (CDT)

LPEX User Key Actions.jpg

It's really important to Click the Set button on the right before clicking Apply or OK.


Key mappings are stored in the following files:

IDE version File name
7.0 <workspace>.metadata/.plugins/com.ibm.lpex/Editor.properties
8.5 <workspace>.metadata/.plugins/com.ibm.lpex/Editor.properties
9.0 <workspace>.metadata/.plugins/org.eclipse.core.runtime/.settings/com.ibm.lpex.prefs

LPEX command line

Search for the action of a keyboard shortcut.

  1. Goto into the command line by pressing Esc (if not already there).
  2. key (without quotes) "query keyAction.X-Y" where X is the keyboard shortcut in the form of a=Alt,c=Ctl or s=Shift and Y is any keyboard key.
    • Example, "query keyAction.f4" reports back in default situations "showSourcePromptView".

Search for the keyboard shortcut of an action.

  1. Goto into the command line by pressing Esc (if not already there).
  2. key (without quotes) "query actionKey.ACTION" where ACTION is the LPEX editor action.
    • Example, "query actionKey.showSourcePromptView" reports back in default situations "f4.t".

In the LPEX command line type "?action", "?query", "?lpex" or "?seu" (in the full version of WDSC) and you are taken to the appropriate help page. Note on WDSC Lite V6 typing "?seu" brought up nothing.

New actions

You can add new actions you find by default in the system or one you develop. There are some sample actions that are useful to a degree. Two of them seem the most useful. They are composeAction and setDateAction.

Map these to any keyboard shortcut you wish, I just choose Alt-F1 and Alt-F2 since they were not used.

IMPORTANT text case is very important here.

These actions were obtained from the online help by searching for "lpex samples". Mattt 13:56, 29 June 2007 (CDT)

The basic idea is to register an action with Lpex and then to assign a key sequence to that action. When registering the action, you get to choose the name; it isn't necessarily related to the actual class. For instance, below, we chose the action name to be compose. The class name must be exactly copied from the documentation -case matters- in order to associate the Java class to the action name you chose. Here, that class is com.ibm.lpex.samples.ComposeAction.

You can test these assignments from the command line if you wish. From the editor pane, press Esc to get to the command line. Press Enter to execute a command, then Esc to return to editing.

  • set actionClass.compose com.ibm.lpex.samples.ComposeAction
  • action compose
  • set keyAction.a-f1 compose

You can also find out if a key has an assignment or not:

  • query keyAction.a-f1

You can also disassociate a key from an action:

  • set keyAction.a-f1 (note: no action name drops the assignment)


ComposeAction

This action allows you to enter characters that aren't on your keyboard, like â and é.

Register the action

  1. Window → Preferences → LPEX Editor → User Actions.
  2. In the Name entry box, key actionClass.compose
  3. In the Class name entry box, key com.ibm.lpex.samples.ComposeAction
  4. Press the Set button.
  5. Press the Apply button.

Assign a key

  1. Window → Preferences → LPEX Editor → User Key Actions.
  2. In the Key entry box, key a-F1
  3. In the Action drop down, choose composeAction action
  4. Press the Set button.
  5. Press the Apply button.


SetDateAction

This action allows you to set the date value for a selected group of lines. This is similar to SEUs F13 action to set the date.

Register the action

  1. Window → Preferences → LPEX Editor → User Actions.
  2. In the Name entry box, key actionClass.setDate (NOTE: Some people have found it necessary to enter only "setDate" without the "actionClass." prefix.)
  3. In the Class name entry box, key com.ibm.lpex.samples.SetDateAction
  4. Press the Set button.
  5. Press the Apply button.

Assign a key

  1. Window → Preferences → LPEX Editor → User Key Actions.
  2. In the Key entry box, key a-F2
  3. In the Action drop down, choose setDate action
  4. Press the Set button.
  5. Press the Apply button.

LPEX profile properties

The various settings you change via the command line set command are stored in a text file called Editor.properties. The fastest way to look at the contents of that file is through another command: viewProfile

LPEX configuration

Lpex is incredibly configurable, so much so that it's a very difficult task sometimes to find out where a particular option is configured. In 7.0.0, there is a search filter under Window->Preferences-> but that filter only searches over the headings at the top of the configuration element. For instance, if you want to turn off control block auto-completion, you need to search for ILE RPG, not code, control, completion, for, do or anything like that.

Hovering the mouse over the actual configuration item (in the right window) will give a summary explanation of what the option is for.

Config item What's it do? Search filter
Automatic closure of control block When you type FOR, SELECT, DO, etc., automatically supplies the matching ENDxx. ILE RPG
Automatic indent When you create a control block like FOR, DO, etc., indents the following line automatically. ILE RPG

Outline View export

Outline View information can't officially be exported, but the XML files involved are stored at .metadata\.plugins\com.ibm.etools.iseries.edit\information

(Thanks to Xuan at the RPG Café)

In WDSC 7.0, the XML files are in .metadata\.plugins\com.ibm.etools.iseries.core\information

Catgeories