feat(editor): make caret mouse gestures configurable (#2143)

The gesture that adds a caret was hardcoded to Alt+Shift+Click, so it could not be changed in the Keymap settings.

Adds the "Add or Remove Caret" action to Editor Actions, with Alt+Shift+Click as the default in every preset. `multiCaret.ts` now matches the event against that action's effective bindings, so rebinding and removal apply at once. A stroke bound to it takes precedence over Alt-drag column selection and over mouse-shortcut dispatch in the editor; column selection is unchanged otherwise.

Closes #2127
Refs #2126
Цей коміт міститься в:
l0ng-ai authored and GitHub committed 2026-11-08 20:33:37 +08:00
1 джерело 7f62011a08
коміт 6394f5904a
10 files changed
+149 -11

No files matched your search

+1
Переглянути файл
@@ -3,6 +3,7 @@
* contract between features (which register actions) and keymaps.
*/
export const intellijMacos: Record<string, string[]> = {
"editor.addOrRemoveCaret": ["Alt+Shift+Button1"],
// Navigate
"navigate.searchEverywhere": ["Shift Shift"],
"navigate.gotoClass": ["Meta+O"],
+1
Переглянути файл
@@ -4,6 +4,7 @@
* there stay unbound here.
*/
export const intellijWindows: Record<string, string[]> = {
"editor.addOrRemoveCaret": ["Alt+Shift+Button1"],
// Navigate
"navigate.searchEverywhere": ["Shift Shift"],
"navigate.gotoClass": ["Ctrl+N"],
+1
Переглянути файл
@@ -4,6 +4,7 @@
* no binding so switching presets doesn't leak IntelliJ shortcuts.
*/
export const vscodeMacos: Record<string, string[]> = {
"editor.addOrRemoveCaret": ["Alt+Shift+Button1"],
// Navigate
"navigate.searchEverywhere": ["Shift Shift"],
"navigate.gotoClass": [],
+1
Переглянути файл
@@ -1,4 +1,5 @@
{
"Add or Remove Caret": "Add or Remove Caret",
"Select Python Environment Folder": "Select Python Environment Folder",
"Checking interpreter": "Checking interpreter",
"Cannot run this Python interpreter. Select a working Python executable or virtualenv folder.": "Cannot run this Python interpreter. Select a working Python executable or virtualenv folder.",
+1
Переглянути файл
@@ -193,6 +193,7 @@
"Clone Caret Below": "在下方添加光标",
"Join Lines": "合并行",
"Toggle Case": "切换大小写",
"Add or Remove Caret": "添加或移除插入点",
"Add Carets to Ends of Selected Lines": "在所选行末尾添加光标",
"Unselect Occurrence": "取消选择匹配项",
"Paste from History…": "从历史记录粘贴…",