All shortcut keys are with the Meta
key, e.g. F P = Meta+F Meta+P
.
Meta
key depends on your platform (Ctrl
for Linux, Alt
for Windows).
Unfortunately when you are in the source code editor, the editor will consume most of the shortcuts which is annoying as **** (some, such as running tests seems to always work though).
You can "fix" this by clicking on a class/method/protocol pane (to remove the focus from the code editor), or press . Meta+Tab
six times to switch focus to the package pane. This makes use of the shortcuts much more annoying, but still worth it in most of the casesMeta+Tab
no longer works in Pharo 6.
Workaround:
compile the following method to a class-side of any class; then ctrl+shift+t
should give the focus back to Nautilus.
You can also add it as a startup action.
buildRemoveFocusShortcutsOn: aBuilder
<keymap>
(aBuilder shortcut: #removeKeyboardFocus)
category: RubTextEditor name
default: $t ctrl shift win
do:
[ :target | "owner... to NautilusWindow" target owner owner owner owner owner owner takeKeyboardFocus ]
description: 'Remove Keyboard Focus'
Note that between Pharo 4 and Pharo 5 a shortcut to go to code pane was accidentally removed. see https://github.com/peteruhnak/pharo-scripts/blob/91786ba6fd865e9bb7aeddf413e82a929c958307/config/6.0/nautilus-keyboard-focus.st for adding both shortcuts. (As Calypso should obsolete Nautilus eventually, I am not interested in fixing this in Pharo 7 (but feel free to do it yourself.)
Package | Class | Protocol | Method | Hierarchy | Test Class | Superclass | Subclass | |
---|---|---|---|---|---|---|---|---|
Find | F P | F C | F T | F M | F H | - | F Shift+S | F S |
Go (Jump) | G P | G C | G T | G M | - | G J C | - | - |
Create New | N P | N C | N T | - | - | N J C | - | - |
Rename | R P | R C | R T | R M | - | - | - | - |
Remove | X P | X C | X T | X M | - | - | - | - |
Test¹ | J P | J C | - | J M | - | - | - | - |
Categorize² | - | M C | - | M M | - | - | - | - |
G S
is Go to Source code (of currently selected method)³
Notes:
- ¹ Run tests in the selected Package, Class, Method.
- ² Set package for class, set protocol for method.
- ³ This shortcut is Pharo 4, and Pharo 7 (soon™) only, see links above to add it
- Browse Full - Same as the current:
B F
- Browse Scoped:
B S
- If you have focus on package, then scoped on the package
- If focus on class or one of its methods, then scoped on the class
- Browse Restricted Class:
B R C
- You need to have a focus on either the class, or one of its protocols or methods
- Browse Restricted Package:
B R P
- Should work anywhere
- Browse Restricted Subclasses:
B R S
- Scoped on the chosen class and all its subclasses in the current package
- Browse Restricted Superclasses:
B R Shift+S
- Scoped on the chosen class and all its superclasses in the current package
- Browse Restricted Regex:
B R R
- Scope selected packages by regex
- Browse Variables:
B V
- Show popup with the class' variables
- Browse Bytecode:
B B
- Switch the code editor to bytecode view
- Browse Implementors:
B M
- Browse Senders:
B N
- Browse class references:
B Shift+N
For new class/package/... see the table.
- Accessors:
H A
- Generate missing accessors for all variables, you will be given popup where you can choose which methods you want
- Generate
- Initialize:
H I
- In regular class add
initialize
methods with instance variables set tonil
- If
initialize
exists, open it - For
TestCase
subclasses, it will instead generatesetUp
andtearDown
methods with instance variables set tonil
- In regular class add
- Regenerate initialize:
H K
- Same as above, but will recreate the method if it already exists
- For
TestCase
same as above.
- Create a subclass:
H N S
- Create test method and jump to it:
H J
- Creates a test method for the currently selected method and jump to it
- Create test method without jumping:
H Shift+J
- Class side view:
T C
- Instance side view:
T I
- Hierarchy view:
T H
- Flat view:
T F