← Blog · · L'équipe ConvertCaseHQ · 7 min de lecture

Changer la casse dans VS Code : raccourcis clavier et extensions

VS Code propose sept commandes intégrées pour changer la casse : Transform to Uppercase, Lowercase, Title Case, Snake Case, Camel Case, Kebab Case et Pascal Case. Sélectionnez du texte, ouvrez la palette de commandes (Command Palette) avec Ctrl+Shift+P (Cmd+Shift+P sur Mac), tapez « transform » et choisissez-en une. Aucune n'a de raccourci clavier par défaut : si vous les utilisez souvent, associez-leur vos propres raccourcis dans keybindings.json. Tout ce qu'il faut pour cela se trouve plus bas.

Ces commandes ont quelques particularités à connaître avant de les lancer sur un fichier entier. Nous verrons donc ce que fait réellement chacune d'elles, puis les raccourcis, puis les deux astuces qui comblent les lacunes : le remplacement par regex et les transformations de snippets. Les extensions viennent en dernier, car vous pouvez très bien vous en passer.

Les commandes de casse intégrées à VS Code

La liste s'est allongée au fil des ans. Si une commande manque dans votre palette, vérifiez votre version dans « Help, About » (« Code, About » sur Mac).

Nom dans la palette de commandesID de commandeDepuis
Transform to Uppercaseeditor.action.transformToUppercaseDepuis longtemps
Transform to Lowercaseeditor.action.transformToLowercaseDepuis longtemps
Transform to Title Caseeditor.action.transformToTitlecase1.34
Transform to Snake Caseeditor.action.transformToSnakecase1.53
Transform to Kebab Caseeditor.action.transformToKebabcase1.69
Transform to Camel Caseeditor.action.transformToCamelcase1.75
Transform to Pascal Caseeditor.action.transformToPascalcase1.88

Regardez bien les ID : c'est transformToSnakecase avec un c minuscule, et non transformToSnakeCase. Copiez-les à l'identique en écrivant vos raccourcis, sinon le raccourci ne fera rien, sans afficher la moindre erreur.

Deux comportements rendent ces commandes plus pratiques qu'elles n'en ont l'air. Sans sélection, une commande convertit le mot situé sous le curseur : vous pouvez donc cliquer dans userId et lancer Snake Case sans rien sélectionner. Et avec plusieurs curseurs ou plusieurs sélections, chacun est converti séparément.

Ce que fait vraiment chaque commande

Les commandes ne découpent pas les mots de la même façon, et c'est facile à manquer. Voici ce qu'elles produisent dans les versions actuelles (nous avons vérifié dans le code source de VS Code) :

EntréeSnakeKebabCamelPascalTitle
hello worldhello worldhello worldhelloWorldHelloWorldHello World
userIDuser_iduser-iduserIDUserIDUserid
USER_IDuser_iduser-idUSERIDUserIdUser_Id
XMLHttpRequestxml_http_requestxml-http-requestXMLHttpRequestXMLHttpRequestXmlhttprequest

Les règles qui se dégagent de ce tableau :

  • Snake Case et Kebab Case ne coupent qu'aux changements de casse. Elles gèrent bien les sigles, mais les espaces restent des espaces : hello world est donc simplement mis en minuscules. Kebab Case transforme aussi les tirets bas en traits d'union ; Snake Case ne touche pas aux traits d'union.
  • Camel Case et Pascal Case coupent aux espaces, aux tirets bas et aux traits d'union et mettent une majuscule à chaque morceau, mais Camel Case ne met pas le reste du mot en minuscules. C'est pourquoi USER_ID donne USERID. Pascal Case, elle, normalise les mots tout en capitales et produit UserId. (Vous ne savez pas lequel des deux votre code attend ? Consultez notre guide camelCase ou PascalCase.)
  • Title Case met une majuscule à chaque mot, y compris aux petits mots, et met tout le reste en minuscules : the lord of the rings devient The Lord Of The Rings. Elle sert aux corrections rapides, pas à la mise en forme de vrais titres. Les apostrophes sont gérées intelligemment : don't devient Don't.

Pour transformer une expression comme Shipping Address Line 2 en snake_case, lancez donc d'abord Camel Case, puis Snake Case : vous obtenez shipping_address_line2. Vous pouvez aussi la coller dans notre convertisseur de casse, qui découpe aux espaces, à la ponctuation et aux changements de casse en une seule étape, et propose en plus CONSTANT_CASE, que VS Code n'a pas.

Ajouter des raccourcis clavier dans keybindings.json

Pour un ou deux raccourcis, l'éditeur de raccourcis clavier (Keyboard Shortcuts) suffit : appuyez sur Ctrl+K puis Ctrl+S (Cmd+K Cmd+S sur Mac), cherchez « transform », double-cliquez sur une commande et tapez les touches voulues. Pour toute la série, il est plus rapide de modifier le fichier. Lancez Preferences: Open Keyboard Shortcuts (JSON) depuis la palette de commandes et ajoutez ces entrées entre les crochets :

{ "key": "ctrl+k shift+u", "command": "editor.action.transformToUppercase",  "when": "editorTextFocus" },
{ "key": "ctrl+k shift+l", "command": "editor.action.transformToLowercase",  "when": "editorTextFocus" },
{ "key": "ctrl+k shift+t", "command": "editor.action.transformToTitlecase",  "when": "editorTextFocus" },
{ "key": "ctrl+k shift+s", "command": "editor.action.transformToSnakecase",  "when": "editorTextFocus" },
{ "key": "ctrl+k shift+c", "command": "editor.action.transformToCamelcase",  "when": "editorTextFocus" },
{ "key": "ctrl+k shift+p", "command": "editor.action.transformToPascalcase", "when": "editorTextFocus" },
{ "key": "ctrl+k shift+k", "command": "editor.action.transformToKebabcase",  "when": "editorTextFocus" }

Ce sont des raccourcis en deux temps (des « chords ») : appuyez sur Ctrl+K, relâchez, puis appuyez sur Shift+U. Nous avons choisi le préfixe Ctrl+K parce que VS Code l'utilise déjà pour des commandes d'éditeur, et qu'aucune de ces sept séquences n'est prise par un raccourci par défaut dans les versions actuelles. Sur Mac, écrivez cmd+k à la place de ctrl+k. Ne gardez pas ctrl+k : sous macOS, il est associé à Delete All Right, et une séquence qui commence par cette combinaison entrerait en conflit. Si un raccourci cesse un jour de fonctionner, c'est probablement qu'une extension a pris les mêmes touches ; cherchez-les dans l'éditeur de raccourcis clavier pour savoir laquelle.

Remplacer par regex en changeant la casse

Pour des modifications dans tout un fichier ou tout un projet, utilisez la fonction Rechercher et remplacer avec des expressions régulières. Ouvrez le remplacement avec Ctrl+H (Cmd+Option+F sur Mac), activez les regex avec Alt+R (Cmd+Option+R), et placez \u, \U, \l ou \L devant un groupe. Chercher _([a-z]) et remplacer par \U$1 transforme user_id en userId. Cela fonctionne aussi dans le remplacement dans les fichiers (Ctrl+Shift+H, ou Cmd+Shift+H).

Une différence avec sed et Perl piège souvent les utilisateurs : dans VS Code, chaque séquence d'échappement ne s'applique qu'au groupe suivant. Ainsi \U$1_$2 met $1 en majuscules et laisse $2 tel quel, et il n'existe pas de \E. Notre aide-mémoire regex pour convertir la casse propose des recettes testées et une comparaison avec d'autres outils.

Transformations de snippets : un snake_case qui gère les espaces

Les snippets savent aussi transformer du texte, et depuis VS Code 1.108, leurs options de format comprennent /snakecase et /kebabcase, en plus des plus anciennes /upcase, /downcase, /capitalize, /camelcase et /pascalcase. Leur snake_case suit d'autres règles que la commande : il transforme les espaces et les traits d'union en tirets bas. Associez-le à une touche avec editor.action.insertSnippet et il remplace la sélection :

{
  "key": "ctrl+k shift+n",
  "command": "editor.action.insertSnippet",
  "when": "editorTextFocus && editorHasSelection",
  "args": { "snippet": "${TM_SELECTED_TEXT/(.*)/${1:/snakecase}/}" }
}

Sélectionnez Shipping Address Line 2, appuyez sur les touches, et vous obtenez shipping_address_line_2. Le compromis concerne les sigles : cette version transforme XMLHttpRequest en xmlhttp_request, là où la commande intégrée s'en sort bien. Par ailleurs, elle ne convertit que la première ligne d'une sélection de plusieurs lignes, car . ne correspond pas aux sauts de ligne. Remplacez par /kebabcase pour obtenir une version kebab.

Des extensions pour tout le reste

Les commandes intégrées ne couvrent ni CONSTANT_CASE, ni dot.case, ni path/case, ni l'inversion de la casse. Deux extensions populaires s'en chargent :

  • change-case (éditeur : wmaurer) encapsule la bibliothèque JavaScript change-case. Elle ajoute des commandes pour camel, constant, dot, kebab, lower, lowerFirst, no, param, pascal, path, sentence, snake, swap, title, upper et upperFirst, ainsi qu'un sélecteur Change Case Commands qui affiche un aperçu de chaque résultat quand un seul mot est sélectionné.
  • Text Power Tools (de Dániel Tar) est une boîte à outils plus large, avec plus de 240 commandes de texte. La conversion de casse n'en est qu'une partie (camelCase, PascalCase, snake_case, CONSTANT_CASE, dash-case, dot.case et Title Case), à côté du filtrage de lignes, du tri et des suites de nombres.

Notre avis : si les sept styles intégrés vous suffisent, laissez l'extension de côté et associez simplement les touches. Si vous avez besoin de CONSTANT_CASE tous les jours, installez change-case : une seule commande vaut mieux que Snake Case suivie de Uppercase.

Un récapitulatif rapide de la mise en place : vérifiez que vous êtes en version 1.88 ou ultérieure pour que les sept commandes existent, collez les sept raccourcis (avec cmd+k sur Mac), ajoutez le raccourci du snippet si vous convertissez souvent des expressions, et prenez un vrai outil de style Titre (title case) quand vous rédigez des titres en anglais.

© 2026 ConvertCaseHQ. Tous droits réservés.