← Blog · · Equipo de ConvertCaseHQ · 7 min de lectura

Cambiar mayúsculas y minúsculas en VS Code: atajos y extensiones

VS Code incluye siete comandos para convertir mayúsculas y minúsculas: Transform to Uppercase, Lowercase, Title Case, Snake Case, Camel Case, Kebab Case y Pascal Case. Selecciona un texto, abre la paleta de comandos (Command Palette) con Ctrl+Shift+P (Cmd+Shift+P en Mac), escribe «transform» y elige uno. Ninguno tiene un atajo de teclado por defecto, así que, si los usas a menudo, asígnales el tuyo en keybindings.json. Más abajo tienes todo lo necesario para hacerlo.

Los comandos tienen algunas rarezas que conviene conocer antes de aplicarlos a un archivo entero, así que veremos primero qué hace de verdad cada uno, luego los atajos y, por último, los dos trucos que cubren lo que falta: el reemplazo con regex y las transformaciones de snippets. Las extensiones van al final, porque quizá no necesites ninguna.

Los comandos de mayúsculas y minúsculas integrados en VS Code

La lista ha ido creciendo con los años. Si falta algún comando en tu paleta, mira tu versión en Help, About (Code, About en Mac).

Nombre en la paleta de comandosID del comandoDesde
Transform to Uppercaseeditor.action.transformToUppercaseDesde hace años
Transform to Lowercaseeditor.action.transformToLowercaseDesde hace años
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

Fíjate bien en los ID: es transformToSnakecase con c minúscula, no transformToSnakeCase. Cópialos tal cual al escribir los atajos, o el atajo no hará nada, y sin avisar.

Dos comportamientos hacen que estos comandos sean mejores de lo que parecen. Si no hay nada seleccionado, el comando convierte la palabra que está bajo el cursor, así que puedes hacer clic dentro de userId y ejecutar Snake Case sin seleccionar nada. Y si hay varios cursores o selecciones, cada uno se convierte por separado.

Qué hace de verdad cada comando

Los comandos separan las palabras de manera distinta entre sí, y es fácil pasarlo por alto. Esto es lo que producen en las versiones actuales (lo comprobamos con el código fuente de VS Code):

EntradaSnakeKebabCamelPascalTitle
hello worldhello worldhello worldhelloWorldHelloWorldHello World
userIDuser_iduser-iduserIDUserIDUserid
USER_IDuser_iduser-idUSERIDUserIdUser_Id
XMLHttpRequestxml_http_requestxml-http-requestXMLHttpRequestXMLHttpRequestXmlhttprequest

Los patrones que hay detrás de esa tabla:

  • Snake Case y Kebab Case solo separan donde cambian las mayúsculas y minúsculas. Manejan bien las siglas, pero los espacios siguen siendo espacios, así que hello world solo se pasa a minúsculas. Kebab Case además convierte los guiones bajos en guiones; Snake Case no toca los guiones.
  • Camel Case y Pascal Case separan por espacios, guiones bajos y guiones y ponen en mayúscula cada trozo, pero Camel Case no pasa a minúsculas el resto de la palabra. Por eso USER_ID sale como USERID. Pascal Case sí normaliza las palabras en mayúsculas y da UserId. (¿No sabes cuál de los dos quiere tu código? Mira nuestra guía de camelCase frente a PascalCase.)
  • Title Case pone en mayúscula todas las palabras, también las pequeñas, y pasa todo lo demás a minúsculas: the lord of the rings se convierte en The Lord Of The Rings. Está pensado para arreglos rápidos, no para titulares. Los apóstrofos se tratan con sensatez: don't se convierte en Don't.

Así que, para convertir una frase como Shipping Address Line 2 a snake_case, ejecuta primero Camel Case y después Snake Case, y obtendrás shipping_address_line2. O pégala en nuestro conversor de mayúsculas y minúsculas, que separa por espacios, signos de puntuación y cambios de mayúsculas en un solo paso y ofrece además CONSTANT_CASE, que VS Code no tiene.

Añadir atajos de teclado en keybindings.json

Para uno o dos atajos basta el editor de atajos de teclado (Keyboard Shortcuts): pulsa Ctrl+K y luego Ctrl+S (Cmd+K Cmd+S en Mac), busca «transform», haz doble clic en un comando y pulsa las teclas que quieras. Para el conjunto entero, es más rápido editar el archivo. Ejecuta Preferences: Open Keyboard Shortcuts (JSON) desde la paleta de comandos y añade estas entradas dentro de los corchetes:

{ "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" }

Son combinaciones en dos pasos (chords): pulsa Ctrl+K, suéltalo y luego pulsa Shift+U. Elegimos el prefijo Ctrl+K porque VS Code ya lo usa para comandos del editor, y ninguno de estos siete chords está ocupado por un atajo por defecto en las versiones actuales. En Mac, escribe cmd+k en lugar de ctrl+k. No dejes ahí ctrl+k: en macOS está asignado a Delete All Right, y un chord que empiece por él estorbaría. Si algún día un atajo deja de funcionar, lo más probable es que una extensión haya reclamado las mismas teclas; búscalas en el editor de atajos de teclado para saber cuál.

Reemplazo con regex y cambios de mayúsculas

Para cambios en todo un archivo o en un proyecto entero, usa Find and Replace (buscar y reemplazar) con expresiones regulares. Abre Replace con Ctrl+H (Cmd+Option+F en Mac), activa las regex con Alt+R (Cmd+Option+R) y usa \u, \U, \l o \L delante de un grupo. Si buscas _([a-z]) y reemplazas por \U$1, user_id se convierte en userId. Lo mismo funciona en Replace in Files (Ctrl+Shift+H, o Cmd+Shift+H).

Hay una diferencia con sed y Perl que desconcierta a mucha gente: en VS Code cada secuencia de escape solo afecta al grupo siguiente, así que \U$1_$2 pasa $1 a mayúsculas y deja $2 como está, y no existe \E. Nuestra chuleta de conversión de mayúsculas con regex incluye recetas probadas y una comparación con otras herramientas.

Transformaciones de snippets: un snake_case que maneja los espacios

Los snippets también pueden transformar texto, y desde VS Code 1.108 sus opciones de formato incluyen /snakecase y /kebabcase, además de las más antiguas /upcase, /downcase, /capitalize, /camelcase y /pascalcase. Su snake_case sigue reglas distintas a las del comando: convierte los espacios y los guiones en guiones bajos. Asígnalo a una tecla con editor.action.insertSnippet y reemplazará la selección:

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

Selecciona Shipping Address Line 2, pulsa las teclas y obtendrás shipping_address_line_2. La contrapartida son las siglas: esta versión convierte XMLHttpRequest en xmlhttp_request, mientras que el comando integrado lo hace bien. Además, solo convierte la primera línea de una selección de varias líneas, porque . no coincide con los saltos de línea. Cambia a /kebabcase para obtener una versión en kebab.

Extensiones para todo lo demás

Los comandos integrados no cubren CONSTANT_CASE, dot.case, path/case ni el intercambio de mayúsculas y minúsculas. Dos extensiones populares sí lo hacen:

  • change-case (publicada por wmaurer) envuelve la biblioteca de JavaScript change-case. Añade comandos para camel, constant, dot, kebab, lower, lowerFirst, no, param, pascal, path, sentence, snake, swap, title, upper y upperFirst, además de un selector, Change Case Commands, que muestra una vista previa de cada resultado cuando hay una sola palabra seleccionada.
  • Text Power Tools (de Dániel Tar) es una caja de herramientas más amplia, con más de 240 comandos de texto. La conversión de mayúsculas y minúsculas es una parte, que cubre camelCase, PascalCase, snake_case, CONSTANT_CASE, dash-case, dot.case y Title Case, junto con el filtrado de líneas, la ordenación y las secuencias numéricas.

Nuestra opinión: si solo necesitas los siete estilos integrados, olvídate de la extensión y asigna las teclas. Si CONSTANT_CASE te hace falta a diario, instala change-case, porque un solo comando es mejor que Snake Case seguido de Uppercase.

Una lista rápida para configurarlo: comprueba que tienes la versión 1.88 o posterior para que existan los siete comandos, pega los siete atajos (con cmd+k en Mac), añade el atajo del snippet si conviertes frases a menudo y recurre a una herramienta de verdad para el estilo Título (title case) cuando escribas titulares en inglés.

© 2026 ConvertCaseHQ. Todos los derechos reservados.