You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, the Pharo code editor lacks multi-cursor support, a feature available in most modern editors such as VSCode. This limitation makes it cumbersome to perform bulk edits, such as renaming multiple occurrences of a variable, inserting text at multiple locations, or modifying code structure across lines.
The goal is to implement multi-cursor editing in the Pharo code editor, allowing users to edit multiple locations simultaneously. Ideally, the implementation should match the functionality of VSCode, with the following features:
Adding and Managing Cursors
Manually place multiple cursors (e.g., Cmd+Click to insert additional cursors).
Select next occurrence of a word (Cmd+D) to quickly add a cursor at the next instance of the selected text.
Select all occurrences (Cmd+Shift+L) to apply changes to every instance in the current scope.
Remove the last added cursor (Cmd+U) to revert accidental selections.
Editing with Multiple Cursors
Type, delete, copy, and paste at all cursors simultaneously.
Navigate and move all cursors together.
Undo/redo all actions as a group while preserving multi-cursor state.
Multi-line insertion (e.g., Cmd+Alt+Arrow Up/Down to insert a new cursor on the next line).
Note: this issue is linked to a GSoC 2025 proposal, so let's try to keep it active for now (i.e., do not close it).
I didn't know about Brick, it would be interesting to see how it's done as a reference for Rubric (the current editor for Pharo).
The shortcuts from the OP are directly from VSCode to let readers try them out easily, they are not indicative of the shortcuts that would be used in Pharo.
Currently, the Pharo code editor lacks multi-cursor support, a feature available in most modern editors such as VSCode. This limitation makes it cumbersome to perform bulk edits, such as renaming multiple occurrences of a variable, inserting text at multiple locations, or modifying code structure across lines.
The goal is to implement multi-cursor editing in the Pharo code editor, allowing users to edit multiple locations simultaneously. Ideally, the implementation should match the functionality of VSCode, with the following features:
Cmd+Click
to insert additional cursors).Cmd+D
) to quickly add a cursor at the next instance of the selected text.Cmd+Shift+L
) to apply changes to every instance in the current scope.Cmd+U
) to revert accidental selections.Cmd+Alt+Arrow Up/Down
to insert a new cursor on the next line).Alt+Drag
orCmd+Shift+Alt+Arrow
).Expected development cost
Implementing multi-cursor editing will require:
Additional context
Here are references to how other editors handle multi-cursor support:
The text was updated successfully, but these errors were encountered: