pharo-ide / Calypso

Pharo system browser
http://dionisiydk.blogspot.com/2017/07/calypso-update-many-improvements-and.html
MIT License
38 stars 21 forks source link

Usability of shortcut VS Nautilus #276

Open jecisc opened 6 years ago

jecisc commented 6 years ago

Calypso is great in many ways but I still feel we have regressions from Nautilus. One of the main is the usability of shortcuts.

In Nautilus I could at all time:

This was possible because for each pane the shortcut was a combination of an action shortcut and a pane shortcut as:

See: https://gist.github.com/peteruhnak/d9ee54f67d88b20ba85618e189b15669

But in Calypso, if I'm on the method pane I cannot delete/rename/etc things on a class or a protocol.

dionisiydk commented 6 years ago

There is alternative approach in Calypso for this purpose. Use cmd+/ to activate spotter search for all commands in browser. It allows you to call any command from any place.

But if you prefer those complex shortcuts you can define them in separate package and load it when you need them. Use ClyGlobalContextOfFullBrowser in that case. For example:

SycAddNewPackageCommand class>>#fullBrowserShortcutActivation
    <classAnnotation>
    ^CmdShortcutCommandActivation by: $k meta, $p meta for: ClyGlobalContextOfFullBrowser  
dupriezt commented 6 years ago

I found this issue while looking for a keyboard shortcut to switch between class side and instance side quickly. While this can be achieved with the cmd+/ menu to look for the class side command, it is still a lot of typing to do everytime.

An idea could be to have both this command spotter and dedicated keybindings, that would be displayed besides the commands in the spotter. This way the user would get the best of both world: this command spotter acts as a reference sheet for commands and is a convenient way to discover commands, seldom-used commands can be accessed via this spotter, and it allow the user to learn the keybindings of the commands he uses a lot to save time. This is how the command palette works in the sublime text editor (see screenshot): the user presses a combination of keys to display the command palette, can type characters to refine his search, can execute the command by pressing enter and learn the dedicated keybinding (if one exists for that command) to be able to use this command quickly without having to open the command palette. image

P.S.: the cmd+/ keybinding isn't usable on an azerty keyboard layout, as getting the / requires pressing shift which apparently prevents the keybinding from being recognised.

dionisiydk commented 6 years ago

@dupriezt if you know how to add extra label to spotter it would be easy to do.

macta commented 5 years ago

While I like the search for command feature - I also agree that some commands deserve a shortcut, particularly reformating code and some of the command code refactoring operations (like extract method, inline variable etc)