Not the last time I checked
The comment was really in reference to the keystrokes. On an alternative platform such as a Mac (guess work here), the keystrokes for next field and previous field might be different.
I just discovered that it is possible to define keystrokes for Shift Left and Shift Right. I used CtrlShift, (i.e., Ctrl. (i.e., Ctrl+>) for these respectively and selected Editing 4GL Source as the context. Works fine.
BTW, why is that 4GL source instead of ABL?
Consulting in Model-Based Development, Transformation, and Object-Oriented Best Practice http://www.cintegrity.com
A few things I found on 10.1B03 :
Already mentioned, but is it really necessary to have two different settings for tab settings (General and OEA) ?
Quotes, brackets, curly braces doesn't work as in Java Editor ; in a Java editor, typing a quote displays two quotes and cursor is positioned between the two. But when typing the closing quote, it overwrites the closing one ; in Progress editor, typing the closing quote inserts a second one. So you have to use the right arrow to be positioned correctly.
Already mentioned too, but double-clicking on a variable sending cursor to its definition is really annoying
keyword casing is not done when typing a comma ; typing no-lock followed by a period is OK, but not no-lock followed by a comma.
And many other things on syntax highlight, but that's not the point of this thead !
Three other annoyances which I wish I could control.
I am currently writing code against the Enterprise Architect repository where they happen to have capitalized all the file and field names. I think this is ugly and I would much rather my code contain, for example, t_Connector than T_CONNECTOR. But, when I type a define buffer statement for one of these tables, the table name completion automatically gives me the casing of the dictionary, no matter what I type. Presumably, turning off file and field name completion eliminates the problem, but with a loss of functionality. Why not a switch for LC, UC, or leave as typed?
And, of course, once one defines a buffer, as one almost always should, then one loses the field name completion anyway.
And, when defining a buffer and one types the period at the end of the table name, it comes up with field completion and it takes extra keystrokes to keep it from filling in the first field.
Yes, there's always a time when I'm in a huge ugly procedure after doing a search, for example, and say to myself "Where am I??" and have to scroll many pages before finding the name of the procedure I'm in!
I would change the position in the Outline view to reflect the position of the cursor.
It would be helpful to have a way to fold a block using the end line of the block instead of just being able to do it on the first line - if there is already a way to do so, make it more visible. (old code tends to have huge code blocks and when you scroll a couple of screen up to find the first line of the block, you don't see the END line where you were so it's difficult to find the right first block line)
Another feature I like in ED4W is that there are quick buttons for bookmark current line in the current file and then moving forward and back from one bookmark to the next and for clearing all bookmarks. This makes it very easy, for example, to set a bookmark in the block of definitions for a method or procedure, write a bunch of code, and then when one needs to add a new variable, bookmark the current location, flip back to the definitions, add one, and flip back to the same location in the code. One then typically clears that book mark and continues writing.
If the button for return to last editing location could be pushed multiple times, that might work too.
Yes, I am familiar with the Eclipse bookmark facility, but that seems better for more elaborate, lasting marks. My interest here is in something very quick and temporary to flip back and forth to two places in the same file.
Another small detail found in ED4W, a user setable right margin which creates a pale line in the editor. Word wrap at the line is selectable by file type, but even without word wrap or automated comment alignment to the margin, it provides a visual reference to use in comment alignment.
Well that visual hint is available (they call it print margin)...
&Window -> &Perferences
General -> Editors -> Text Editors -> Show print margin, Print margin column
That creates a thin grey line at that column (80 by default).
I love it when I complain and there is a solution!
Now, about automatically aligning the comment ...
Eclipse has positional navigation similar to a web browser. Uses altleft arrow and altright arrow. Also on the navigate menu. I use these a lot. I've never used book marks.
Also in the OEA ABL editor, you can use altshiftup and altshiftdown to navigate next/previous code members. This jumps between each method / procedure / variable / property...
The Alt-arrow thing doesn't get me a lot. Nor does moving by procedure. The use case triggering the remark is working on the StartElement procedure for a SAX handler, which is 750 lines long because the particular XML has everything as attributes, no node content. As I go to work on each tag, I periodically need to go back to the definitions for that procedure to add a new variable. So, I'd like a book mark at the end of the definitions and one on the place I am working.
While speaking of navigation in source code. Once thing that I miss from AppBuilder days is the ability to navigate to "Definitions" section and "main code" block.
This is especially an issue with AppBuilder generated Windows/Dialogs.
As the actual code elements do not need to be sorted by alphabet, jumping to the main block, by picking the (alphabetically) first procedure and scrolling up does not work. Same with definitions. In a Dialog for instance, the first show variable might be part of the AppBuilder maintained Controls Definitions section (an unbound fill-in or combo-box). Making navigation to definitions harder, as I need to pick a variable that I manually defined.
Isn't it possible to add some annotations or something similar to the code, that would show up a "Definitions" and "Main Block" in the outline view?
You can add something like the below, which I've done to avoid this. It's obviously not perfect, but it works in all versions of Architect
PS I find it a pain too, but once you move to OO code, it becomes way less of an issue (since all that doesn't appear in the outline is member variables).
One thing I use for the "Define" section that is better than AppBuilder, in some ways, is that I pop a second view on the same file (Window / New Editor) and I position one view in the definitions and one view in the code I edit so I can see both at the same time (same as you can do in Word with the "split" bars).