Retour à l'accueil

Corriger Cmd+, VS Code disposition russe macOS

L'article explique la raison du non-fonctionnement de Cmd+, et autres raccourcis dans VS Code sur disposition russe macOS. Propose une correction via liaison scan code dans keybindings.json. De plus — configuration d'ouverture des ports dans navigateur externe.

Solution au problème Cmd+, dans VS Code sur disposition russe
Advertisement 728x90

Raccourcis VS Code sur macOS avec clavier russe : solution pour Cmd+, et autres

Sur macOS, le raccourci Cmd+, ouvre les réglages dans presque toutes les applications natives — Safari, Finder, Chrome. Dans VS Code, en revanche, il ne fonctionne pas lorsque la disposition clavier russe est activée. Pourquoi ? Parce que VS Code interprète les raccourcis par caractère, et non par position physique de la touche. Avec la disposition russe, la touche virgule produit « B » — VS Code cherche donc Cmd+B, sans trouver de commande correspondante.

Les applications basées sur Electron — dont VS Code — associent les raccourcis aux caractères, contrairement aux applications natives macOS, qui les lient aux codes de balayage (positions physiques des touches).

Diagnostiquer le problème : de l’hypothèse à la cause racine

Les étapes de dépannage — vérification du focus, test d’autres raccourcis (Cmd+Maj+P fonctionne parfaitement), exclusion de conflits système, d’extensions ou de processus en arrière-plan — n’ont révélé aucun dysfonctionnement. L’étape décisive est le mode Enregistrer les touches des raccourcis clavier dans VS Code : il détecte correctement « cmd+[Comma] », mais aucune commande n’est déclenchée.

Google AdInline article slot

Basculer vers la disposition anglaise confirme le problème : la difficulté réside dans la façon dont les touches non alphabétiques sont mappées entre les différentes dispositions clavier.

Correction via keybindings.json

Créez ou modifiez le fichier ~/Library/Application Support/Code/User/keybindings.json et ajoutez une liaison utilisant le nom physique de la touche :

[
  { "key": "cmd+[Comma]", "command": "workbench.action.openSettings" }
]

Les crochets autour de [Comma] indiquent à VS Code de lier le raccourci à la touche physique, et non à son caractère généré. Cette correction fonctionne de manière fiable quelle que soit la disposition clavier.

Google AdInline article slot

Ensemble complet de corrections pour les raccourcis non alphabétiques

Ce problème affecte tous les raccourcis Cmd+symbole sur les dispositions non latines. Voici une configuration recommandée pour keybindings.json :

[
  { "key": "cmd+[Comma]", "command": "workbench.action.openSettings" },
  { "key": "cmd+[Period]", "command": "editor.action.quickFix", "when": "editorHasCodeActionsProvider && editorTextFocus" },
  { "key": "cmd+[Slash]", "command": "editor.action.commentLine", "when": "editorTextFocus" },
  { "key": "cmd+[BracketLeft]", "command": "editor.action.outdentLines", "when": "editorTextFocus" },
  { "key": "cmd+[BracketRight]", "command": "editor.action.indentLines", "when": "editorTextFocus" },
  { "key": "cmd+[Backslash]", "command": "workbench.action.splitEditor" }
]
  • Cmd+. — Déclenche la correction rapide
  • Cmd+/ — Active/désactive le commentaire sur la ligne
  • Cmd+] — Indente les lignes sélectionnées (via [BracketRight])
  • Cmd+\ — Divise l’éditeur

Astuce bonus : ouvrir les liens du terminal dans votre navigateur par défaut

Définissez remote.forwardedPorts.openBrowserKind pour forcer VS Code à ouvrir les ports transférés — y compris les serveurs de développement locaux — dans votre navigateur externe par défaut, plutôt que dans le navigateur intégré Simple Browser.

Dans settings.json :

Google AdInline article slot
"remote.forwardedPorts.openBrowserKind": "external"

Points clés à retenir

  • VS Code lie les raccourcis par caractère ; macOS les lie par code de balayage (position physique)
  • Utiliser cmd+[Comma] dans keybindings.json résout universellement le problème — plus besoin de changer de disposition clavier
  • Ce comportement concerne toutes les applications Electron et toutes les touches non alphabétiques (ex. : /, ., [, ], \, ,)
  • Le mode Enregistrer les touches des raccourcis clavier affiche le code de balayage réel — utilisez-le pour valider vos liaisons
  • Le paramètre de transfert de ports fonctionne aussi pour les serveurs de développement locaux, même si son nom contient remote.*

— Editorial Team

Advertisement 728x90

Lire ensuite