Я пытаюсь отключить функцию в Visual Studio Code, где, если у вас нет выделенного выделения, ctrl + c копирует всю строку. Я никогда не пробовал делать это специально, но всегда делаю это случайно, когда нажимаю ctrl + c вместо ctrl + v.

Вот что я пробовал, и похоже, что это должно сработать:

В разделе File-> Preferences-> Keyboard Shortcuts есть настройка по умолчанию:

{ "key": "ctrl+c", "command":  "editor.action.clipboardCopyAction",
                   "when": "editorTextFocus" },

Я попытался изменить это так, чтобы он копировал только когда что-то было выбрано, поместив следующее в мой файл keybindings.json:

{ "key": "ctrl+c",  "command": "-editor.action.clipboardCopyAction"},
{ "key": "ctrl+c",  "command": "editor.action.clipboardCopyAction",
                    "when": "editorHasSelection" }

Я думаю, это должно очистить предыдущую привязку перед повторной привязкой действия копирования к функции только тогда, когда что-то действительно выбрано. ОДНАКО это не работает. Редактор по-прежнему копирует всю строку, когда ничего не выделено. Если у меня есть только первая строка, она успешно удаляет привязку полностью, поэтому я знаю, что она что-то делает, но тег «when», похоже, не работает должным образом.

Есть ли способ заставить редактор делать то, что я хочу?

37
August Schack 5 Сен 2016 в 01:26

3 ответа

Лучший ответ

В Настройках введите следующую строку:

"editor.emptySelectionClipboard": false

Это должно делать именно то, что вы хотите.

29
Das Jott 14 Фев 2017 в 09:41

Даже после применения настройки "editor.emptySelectionClipboard": false проблема не исчезнет. Мне пришлось удалить / отредактировать настройки проекта в папке .vscode/ внутри папки проекта.

1
wlarcheveque 22 Апр 2020 в 12:26

Потому что это популярный ответ в Google ...

К вашему сведению, теперь это также параметр в графическом интерфейсе настроек, найдите в настройках «пустой выбор», и он сузит его. Снимите отметку, чтобы отключить и похвалить выбранное вами божество.

1
MDBenson 14 Апр 2020 в 11:09