Closed Jeehut closed 1 year ago
When you hold option, any subsequent click will add additional cursors in the location that was clicked. If there is already a cursor in that location and there is more than one cursor, it removes that cursor. If option is held and the mouse is pressed down and dragged, it makes a secondary selection.
If option + shift is held and the mouse is dragged, then it enables column selection and you can either add cursors if the mouse is moved straight down or if it is moved diagonally it will make a selection from the mouses start x position to the mouses end x position on each line from the mouses start y position to the end y position.
If the user cuts or copies while multiple items are selected, it will cut all items and when pasted, each cursor will paste the item that it cut or copied so long as their are the same number of cursors as when the text was cut/copied. If there is a different number of cursors, it will paste everything in the clipboard for each cursor.
@austincondiff, can this be closed as it'll be added in the upcoming STTextView release?
@Wouter01 when the updated version is included in CodeEdit we can close this issue.
Closing as this is now possible with ⌃⇧. We will probably want a setting to change this shortcut though.
@austincondiff Thanks, sounds awesome! 🚀
But I would suggest changing the shortcut to match the Xcode shortcut which I mentioned in the initial post. That would make Xcode users feel right at home, which I think is a goal of this project.
And what about alt-clicking? Is that also possible? If not, could we create an extra feature request to track its progress?
@Jeehut I just opened https://github.com/CodeEditApp/CodeEdit/issues/1295 yesterday which may shed some light on that.
Problem: Sometimes, you have multiple variables or a collection and you want to edit all occurrences at the same time.
Solution: Other code editors like Atom and even Xcode have added multiple-cursor support to conveniently edit multiple places at once, this can save lots of time. We should add a similar feature here, too. Part of supporting multiple cursors, it's also important that this feature is accompanied by ways to create multiple cursors. I suggest the following two ways:
Cmd+D
, in Xcode it'sCmd+Alt+E
. I suggest that this comparison is case-sensitive.Alt
key and either pressing manually into multiple places or by simply clicking the mouse and dragging it down to create multiple cursors at the same column on multiple lines.https://user-images.githubusercontent.com/806104/171508531-bd3e7186-7808-442f-8f56-d115b4fae260.mov
Alternatives considered: Making the search with the shortcut case-insensitive (like Xcode does by default, it changes based on your last search settingS) makes this feature error prone when there's for example a class named
String
and 5 variables namedstring
and I want to just edit the variables, I might accidentally also select the class.Atom also supports a shortcut for finding all occurrences of the currently selected text in the file and create multiple cursors for all. This seems to be an extra feature that could be added later on. In the meantime, just holding the last key of the shortcut should select all entries within the same file relatively quickly as an alternative.