View Issue Details

IDProjectCategoryView StatusLast Update
0012291LazarusIDEpublic2009-10-23 00:40
ReporterJonas Maebe Assigned ToPaul Ishenin  
PrioritynormalSeveritytweakReproducibilityalways
Status closedResolutionfixed 
Product Version0.9.27 (SVN) 
Target Version1.0.0Fixed in Version0.9.27 (SVN) 
Summary0012291: There is no menu item for the "Complete Identifier" functionality
DescriptionLazarus revision 16874, FPC 2.2.2, Mac OS X 10.5.4

Summary
There is no menu item for the "Complete Identifier" functionality. I first noticed that it existed in Environment -> Edit Options -> Code Tools, but didn't see how to activate it on demand. Then I went to Environment -> CodeTools Options (it should always be written either as "Code Tools" or "CodeTools"), where there again are some options about Identifier Completion in the last tab, but nothing about how to activate it.

I went to the key mappings, but couldn't find it there either. I finally searched the wiki using google and found that it was ctrl-space. Then I did a "Find key combination" in the the key mappings dialog box, searched for ctrl-space and noticed that I apparently overlooked the "CodeTools commands" section earlier on.


Expected behaviour
apart from from basic cursor navigation and text selection commands (skip word, page up, select current line etc), all functionality should be available somehow via a menu so that people can easily find it by going through all menu items (and you can search all menu items of an application using full text search under the Help menu on Mac OS X 10.5 and later).
TagsNo tags attached.
Fixed in Revision
LazTarget1.0
WidgetsetCarbon
Attached Files

Activities

Paul Ishenin

2009-06-17 09:07

manager   ~0028581

This menu item is accessible via source editor popup menu. Refactoring -> Complete code.

Jonas Maebe

2009-06-17 10:12

reporter   ~0028584

At least on Mac OS X it is considered bad interface design to make some options only available via contextual menus. The user should always be able to find all application functionality by going through the regular menus (the "Help" menu also allows you to textually search the regular menus for commands under Mac OS X 10.5, which obviously does not work for contextual menus).

See http://developer.apple.com/documentation/userexperience/Conceptual/AppleHIGuidelines/XHIGMenus/XHIGMenus.html :

"Always ensure that contextual menu items are also available as menu commands. A contextual menu is hidden by default and a user might not know it exists, so it should never be the only way to access a command. In particular, you should not use a contextual menu as the only way to access an advanced or power-user feature."

I personally also think it is not good interface design to hide certain commands until you start right-clicking everywhere, but if you disagree I won't reopen this bug again.

Paul Ishenin

2009-06-18 02:44

manager   ~0028595

The main menu also has this item :) Click Edit and then Complete code. Although maybe it was added after your bug report.

2009-06-18 02:45

 

menu.PNG (14,912 bytes)   
menu.PNG (14,912 bytes)   

Mattias Gaertner

2009-06-18 10:36

manager   ~0028600

Complete code <> Identifier completion

Complete code is available via menu item and Ctrl+Shift+C.
Identifier completion has no menu item and uses Ctrl+Space.

AFAIK Ctrl+Space is the common short cut for completion in many graphical editors. Many students know this short cut but not the "common" navigation keys (e.g. jump to next word).

IMO the IDE needs a list of common short cuts that has no menu item.

IMHO adding menu items for them makes no sense, because:
They are used very frequently, so they should be in a top menu item. But afaik once a programmer knows the short cut he won't use the menu item any more.

Paul Ishenin

2009-06-18 13:11

manager   ~0028607

Ow.. sorry. I thought of code completion all this time.

Issue History

Date Modified Username Field Change
2008-10-05 10:44 Jonas Maebe New Issue
2008-10-05 10:44 Jonas Maebe Widgetset => Carbon
2008-10-06 13:22 Vincent Snijders LazTarget => 1.0
2008-10-06 13:22 Vincent Snijders Status new => acknowledged
2008-10-06 13:22 Vincent Snijders Target Version => 1.0.0
2009-06-17 09:07 Paul Ishenin Status acknowledged => resolved
2009-06-17 09:07 Paul Ishenin Fixed in Version => 0.9.27 (SVN)
2009-06-17 09:07 Paul Ishenin Resolution open => no change required
2009-06-17 09:07 Paul Ishenin Assigned To => Paul Ishenin
2009-06-17 09:07 Paul Ishenin Note Added: 0028581
2009-06-17 10:12 Jonas Maebe Status resolved => assigned
2009-06-17 10:12 Jonas Maebe Resolution no change required => reopened
2009-06-17 10:12 Jonas Maebe Note Added: 0028584
2009-06-18 02:44 Paul Ishenin Status assigned => resolved
2009-06-18 02:44 Paul Ishenin Resolution reopened => fixed
2009-06-18 02:44 Paul Ishenin Note Added: 0028595
2009-06-18 02:45 Paul Ishenin File Added: menu.PNG
2009-06-18 10:36 Mattias Gaertner Note Added: 0028600
2009-06-18 13:11 Paul Ishenin Note Added: 0028607
2009-10-23 00:40 Marc Weustink Status resolved => closed