web-dev-qa-db-fra.com

Comment puis-je appuyer et maintenir une touche et la faire répéter en VSCode?

J'utilise le plugin vim et je fais généralement défiler vim en maintenant j. En mode VSCode, j effectue une seule commande j, quelle que soit la durée de son maintien. 

Même dans Vanilla vscode, cela ne fonctionne pas non plus - problématique si vous essayez de taper des longs blocs de ########################## séparateurs de commentaires. Une idée de comment activer cette fonctionnalité? 

47
jjcm

Pour désactiver Apple, appuyez et maintenez uniquement pour VSCode, exécutez cette commande dans un terminal:

defaults write com.Microsoft.VSCode ApplePressAndHoldEnabled -bool false

Puis redémarrez VSCode.

Pour réactiver, exécutez cette commande dans un terminal:

defaults write com.Microsoft.VSCode ApplePressAndHoldEnabled -bool true
113
Steve Burns

Vous êtes sur OSX, correct? Si tel est le cas, le problème pourrait être le "Press & Hold" d’Apple, dans lequel vous pouvez sélectionner des caractères alternatifs lorsque vous appuyez longuement. 

Vous pouvez désactiver cette "fonctionnalité" avec une commande par défaut dans le terminal:

defaults write NSGlobalDomain ApplePressAndHoldEnabled -bool false

Vous devez redémarrer VSCode après.

Pour réactiver le comportement précédent:

defaults write NSGlobalDomain ApplePressAndHoldEnabled -bool true
26
kwood

Le officiel vim-plugin for VS Code explique comment le configurer sur macOS

defaults write com.Microsoft.VSCode ApplePressAndHoldEnabled -bool false
defaults delete -g ApplePressAndHoldEnabled  # If necessary, reset global default
8
Moyuan Huang

La réponse de Steve ci-dessus n'a pas fonctionné pour moi à cause des paramètres globaux. Cela m'a également laissé curieux de savoir où trouver le nom de domaine com.Microsoft.VScode pour une application. Voici ce qui a fonctionné pour moi et une formulation généralisée:

Pour activer les répétitions pour une application spécifique, telle que VSCode, assurez-vous tout d'abord qu'il n'y a pas de paramètre global prioritaire.

defaults delete -g ApplePressAndHoldEnabled

Activez ensuite le paramètre de l'application spécifique. Vous pouvez trouver le nom de domaine d'une application en le trouvant dans le document Info.plist situé dans le dossier Contenu où il est installé.

Exemple

<key>CFBundleIdentifier</key>
<string>com.Microsoft.VSCode</string>

Puis définissez le paramètre sur la ligne de commande.

defaults write com.Microsoft.VSCode ApplePressAndHoldEnabled -bool false

Vous pouvez également utiliser ce modèle avec d’autres paramètres spécifiques à l’application. Assurez-vous simplement que vos paramètres ne sont pas écrasés globalement.

Pour plus d'informations sur defaults, tapez defaults help. Une autre remarque, vous n'avez pas besoin de l'exécuter en tant que Sudo si votre utilisateur est déjà un administrateur.

0
Babakness