Изменить привязку клавиш для немецких умлаутов в VSCode

Мне нравится использовать немецкие умляуты «ö», «Ö», «ä» и «Ä» на моей клавиатуре для кодирования в VSCode, т. е. использовать эти клавиши для ввода квадратных и фигурных скобок. Вот что я пробовал в keybindings.json:

{ "key": "ö",           "command": "type", "args": { "text": "[" }, "when": "editorTextFocus" },
{ "key": "ä",           "command": "type", "args": { "text": "]" }, "when": "editorTextFocus" },
{ "key": "Shift+ö",     "command": "type", "args": { "text": "{" }, "when": "editorTextFocus" },
{ "key": "Shift+ä",     "command": "type", "args": { "text": "}" }, "when": "editorTextFocus" },
{ "key": "Alt-ö",       "command": "type", "args": { "text": "ö" }, "when": "editorTextFocus" },
{ "key": "Alt-ä",       "command": "type", "args": { "text": "ä" }, "when": "editorTextFocus" },
{ "key": "Alt-Shift+ö", "command": "type", "args": { "text": "Ö" }, "when": "editorTextFocus" },
{ "key": "Alt-Shift+ä", "command": "type", "args": { "text": "Ä" }, "when": "editorTextFocus" }

VSCode жалуется:

Вы не сможете создать эту комбинацию клавиш при текущей раскладке клавиатуры.

Есть ли простой способ научить VSCode разрешать привязки для любой клавиши, а не только для предопределенных?


person Juve    schedule 24.05.2019    source источник


Ответы (2)


Это разрешено, в конце концов, предопределенный ярлык «Переключить встроенный терминал» — это Ctrl+ö. Вы просто не можете писать символы буквально в JSON.

Обычно я также предпочитаю использовать редактор JSON, но на самом деле это тот случай, когда пользовательский интерфейс весьма полезен. Во всплывающем окне «пожалуйста, введите желаемую комбинацию клавиш» вы можете увидеть, что с клавиатурой QWERTZ...

  • ...ö превращается в oem_3
  • ...ä превращается в oem_7
  • ...ü превращается в oem_1
person Gama11    schedule 24.05.2019

Спасибо @Gama11 за подсказку относительно пользовательского интерфейса. Я попробовал и получил клавиши [Semicolon], [Quote] и [BracketLeft] для ö, ä и ü для моей немецкой клавиатуры + раскладка.

Вот мой рабочий keybindings.json:

    { "key": "[Semicolon]",           "command": "type", "args": { "text": "[" }, "when": "editorTextFocus" },
    { "key": "[Quote]",               "command": "type", "args": { "text": "]" }, "when": "editorTextFocus" },
    { "key": "Shift+[Semicolon]",     "command": "type", "args": { "text": "{" }, "when": "editorTextFocus" },
    { "key": "Shift+[Quote]",         "command": "type", "args": { "text": "}" }, "when": "editorTextFocus" },
    { "key": "Alt+[Semicolon]",       "command": "type", "args": { "text": "ö" }, "when": "editorTextFocus" },
    { "key": "Alt+[Quote]",           "command": "type", "args": { "text": "ä" }, "when": "editorTextFocus" },
    { "key": "Shift+Alt+[Semicolon]", "command": "type", "args": { "text": "Ö" }, "when": "editorTextFocus" },
    { "key": "Shift+Alt+[Quote]",     "command": "type", "args": { "text": "Ä" }, "when": "editorTextFocus" }  

Он отлично работает для сопоставленных умлаутских клавиш и не мешает работе с обычными клавишами ; и ".

person Juve    schedule 27.05.2019
comment
Очень полезно, спасибо. Только одно: в вашем опубликованном коде Ö и Ä поменяны местами в последних двух строках. Сам не могу отредактировать, потому что правки должны быть не менее 6 символов (дух). - person Neonit; 06.05.2021
comment
@Neonit, который предназначен. Они Ö слева от Ä, и с помощью приведенного выше кода они правильно отображаются на [ (слева), ] (справа), { (слева) и } (справа). - person Juve; 10.05.2021
comment
Нет, я имею в виду, что дополнительные привязки для фактической вставки Ä и Ö меняются местами. Вы привязали Alt+[Semicolon] к ö, а Shift+Alt+[Semicolon] к Ä. - person Neonit; 12.05.2021
comment
???? Ты прав @Neonit! На самом деле я никогда не использовал эту привязку умлаут-запасной вариант в VS Code, потому что я не пишу код на немецком языке ????. Исправлено сейчас. Спасибо! - person Juve; 10.06.2021