50% OFF Plus
--:--:--
¡Obtener!

Settings json

Intermedio
VSCode
VSCode
Actualizado: 14/07/2025

¡Desbloquea el curso de VSCode completo!

IA
Ejercicios
Certificado
Entrar

Mira la lección en vídeo

Accede al vídeo completo de esta lección y a más contenido exclusivo con el Plan Plus.

Desbloquear Plan Plus

Personalizar VSCode en settings.json

El archivo settings.json representa el núcleo de la personalización avanzada de Visual Studio Code, permitiendo acceder a configuraciones que no están disponibles en la interfaz gráfica. Este archivo utiliza el formato JSON estándar y ofrece un control granular sobre prácticamente todos los aspectos del editor.

Acceso al archivo settings.json

Para acceder al archivo de configuración JSON, utiliza la paleta de comandos con Ctrl+Shift+P y busca "Open Settings JSON". Esta acción abrirá directamente el archivo de configuración en formato JSON, donde podrás realizar modificaciones avanzadas.

{
    "editor.fontSize": 14,
    "workbench.colorTheme": "Dark+ (default dark)",
    "terminal.integrated.fontSize": 12
}

Alternativamente, puedes acceder desde la interfaz de configuración haciendo clic en el icono de archivo que aparece en la esquina superior derecha cuando tienes abierta la pestaña de Settings.

Diferencias entre User Settings y Workspace Settings

VSCode maneja dos niveles de configuración que siguen una jerarquía específica:

User Settings se aplican globalmente a todas las instancias de VSCode y se almacenan en:

  • Windows: %APPDATA%\Code\User\settings.json
  • macOS: ~/Library/Application Support/Code/User/settings.json
  • Linux: ~/.config/Code/User/settings.json

Workspace Settings tienen prioridad sobre las configuraciones de usuario y se almacenan en .vscode/settings.json dentro de la carpeta del proyecto. Estas configuraciones solo afectan al workspace actual.

// User Settings (globales)
{
    "editor.tabSize": 4,
    "editor.insertSpaces": true
}

// Workspace Settings (específicas del proyecto)
{
    "editor.tabSize": 2,
    "python.defaultInterpreterPath": "./venv/bin/python"
}

Estructura y sintaxis del archivo JSON

El archivo settings.json sigue la estructura JSON estándar con pares clave-valor. Cada configuración utiliza una notación de puntos para organizar las opciones jerárquicamente:

{
    "editor.wordWrap": "on",
    "editor.minimap.enabled": false,
    "workbench.startupEditor": "none",
    "files.autoSave": "afterDelay",
    "files.autoSaveDelay": 1000
}

Las claves de configuración siguen el patrón categoria.subcategoria.opcion, lo que facilita la organización y búsqueda de opciones específicas.

Configuraciones avanzadas del editor

El namespace editor contiene configuraciones que no están disponibles en la interfaz gráfica:

{
    "editor.cursorBlinking": "smooth",
    "editor.cursorSmoothCaretAnimation": "on",
    "editor.smoothScrolling": true,
    "editor.bracketPairColorization.enabled": true,
    "editor.guides.bracketPairs": "active",
    "editor.inlineSuggest.enabled": true,
    "editor.suggest.preview": true
}

Para mejorar la experiencia de escritura, puedes configurar opciones avanzadas de autocompletado:

{
    "editor.acceptSuggestionOnCommitCharacter": false,
    "editor.acceptSuggestionOnEnter": "smart",
    "editor.suggestSelection": "first",
    "editor.tabCompletion": "on"
}

Personalización del workbench

Las configuraciones del workbench controlan la apariencia y comportamiento de la interfaz:

{
    "workbench.editor.enablePreview": false,
    "workbench.editor.showTabs": "multiple",
    "workbench.editor.tabSizing": "shrink",
    "workbench.activityBar.location": "top",
    "workbench.statusBar.visible": true,
    "workbench.tree.indent": 20
}

Para optimizar el flujo de trabajo, puedes configurar el comportamiento de las pestañas y paneles:

{
    "workbench.editor.limit.enabled": true,
    "workbench.editor.limit.value": 10,
    "workbench.editor.closeOnFileDelete": true,
    "workbench.panel.defaultLocation": "right"
}

Configuración avanzada del terminal

El terminal integrado ofrece opciones de personalización extensas a través de JSON:

{
    "terminal.integrated.fontFamily": "Fira Code",
    "terminal.integrated.fontSize": 13,
    "terminal.integrated.lineHeight": 1.2,
    "terminal.integrated.cursorBlinking": true,
    "terminal.integrated.cursorStyle": "line",
    "terminal.integrated.scrollback": 10000
}

Para configuraciones específicas por sistema operativo:

{
    "terminal.integrated.profiles.windows": {
        "PowerShell": {
            "source": "PowerShell",
            "args": ["-NoProfile"]
        }
    },
    "terminal.integrated.defaultProfile.windows": "PowerShell"
}

Configuraciones específicas por lenguaje

VSCode permite configuraciones específicas por lenguaje utilizando la sintaxis de corchetes:

{
    "[javascript]": {
        "editor.defaultFormatter": "esbenp.prettier-vscode",
        "editor.formatOnSave": true,
        "editor.tabSize": 2
    },
    "[python]": {
        "editor.defaultFormatter": "ms-python.black-formatter",
        "editor.formatOnSave": true,
        "editor.tabSize": 4
    },
    "[markdown]": {
        "editor.wordWrap": "on",
        "editor.quickSuggestions": {
            "comments": "off",
            "strings": "off",
            "other": "off"
        }
    }
}

Configuración de keybindings.json

Guarda tu progreso

Inicia sesión para no perder tu progreso y accede a miles de tutoriales, ejercicios prácticos y nuestro asistente de IA.

Progreso guardado
Asistente IA
Ejercicios
Iniciar sesión gratis

Más de 25.000 desarrolladores ya confían en CertiDevs

El archivo keybindings.json permite personalizar atajos de teclado de forma avanzada. Accede a él mediante Ctrl+Shift+P y busca "Open Keyboard Shortcuts JSON":

[
    {
        "key": "ctrl+shift+alt+f",
        "command": "editor.action.formatDocument"
    },
    {
        "key": "ctrl+k ctrl+d",
        "command": "editor.action.duplicateSelection"
    },
    {
        "key": "alt+up",
        "command": "editor.action.moveLinesUpAction",
        "when": "editorTextFocus"
    }
]

Para deshabilitar atajos existentes:

[
    {
        "key": "ctrl+shift+p",
        "command": "-workbench.action.showCommands"
    }
]

Validación y corrección de errores

VSCode proporciona validación automática del JSON. Los errores aparecen subrayados en rojo con información detallada al pasar el cursor:

{
    "editor.fontSize": 14,
    "invalid.setting": true, // Error: configuración no válida
    "editor.tabSize": "4"    // Error: tipo incorrecto (debería ser número)
}

Para verificar la sintaxis, utiliza Ctrl+Shift+P y busca "Validate JSON" o simplemente observa los indicadores visuales en el editor.

Backup y restauración de configuraciones

Para crear un backup de configuraciones, copia los archivos:

  • settings.json
  • keybindings.json
  • Carpeta .vscode (para configuraciones de workspace)
# Ejemplo de backup en sistemas Unix
cp ~/.config/Code/User/settings.json ~/backup/settings-backup.json
cp ~/.config/Code/User/keybindings.json ~/backup/keybindings-backup.json

La restauración consiste en reemplazar los archivos originales con las copias de seguridad. VSCode aplicará automáticamente los cambios al reiniciar.

Configuraciones avanzadas de rendimiento

Para optimizar el rendimiento en proyectos grandes:

{
    "files.watcherExclude": {
        "**/node_modules/**": true,
        "**/.git/objects/**": true,
        "**/.git/subtree-cache/**": true
    },
    "search.exclude": {
        "**/node_modules": true,
        "**/bower_components": true,
        "**/*.code-search": true
    },
    "files.exclude": {
        "**/.git": true,
        "**/.DS_Store": true,
        "**/node_modules": true
    }
}

Estas configuraciones JSON te permiten personalizar VSCode más allá de las opciones disponibles en la interfaz gráfica, creando un entorno de desarrollo verdaderamente adaptado a tus necesidades específicas.

Aprendizajes de esta lección de VSCode

  • Comprender la estructura y sintaxis del archivo settings.json en formato JSON.
  • Diferenciar entre configuraciones globales (User Settings) y específicas de proyecto (Workspace Settings).
  • Aprender a personalizar opciones avanzadas del editor, workbench y terminal integrado.
  • Configurar ajustes específicos por lenguaje y gestionar atajos de teclado mediante keybindings.json.
  • Conocer métodos para validar, respaldar y restaurar configuraciones en VSCode.

Completa este curso de VSCode y certifícate

Únete a nuestra plataforma de cursos de programación y accede a miles de tutoriales, ejercicios prácticos, proyectos reales y nuestro asistente de IA personalizado para acelerar tu aprendizaje.

Asistente IA

Resuelve dudas al instante

Ejercicios

Practica con proyectos reales

Certificados

Valida tus conocimientos

Más de 25.000 desarrolladores ya se han certificado con CertiDevs

⭐⭐⭐⭐⭐
4.9/5 valoración