es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Tamaño de pestaña personalizado basado en la extensión del archivo.

Para llevarme mejor con mis compañeros de trabajo, he configurado Atom con tabulaciones de 2 espacios, pero en algunos archivos prefiero 4. Estoy tratando de configurar otro tipo de archivo, en este caso, mis archivos Foo.pro que se crean con Qt Creator.

He intentado varias cosas y nada parece funcionar. Estoy editando mi ~/.atom/config.cson y luego reiniciando Atom, pero no hay cambios.

Aquí está mi último intento:

coffee
"*":
core:
customFileTypes:
"#source.pro": [
"pro"
]
disabledPackages: [
"autocomplete-plus"
"markdown-preview"
"markdown-preview-plus"
"spell-check"
]
telemetryConsent: "limited"
themes: [
"atom-light-ui"
"one-light-syntax"
]
editor: {}
"exception-reporting":
userId: "283f523f-3348-4956-97f6-a73675e6e9c6"
"tree-view":
hideVcsIgnoredFiles: true
welcome:
showOnStartup: false
".basic.html.text":
editor:
tabLength: 4
".html.source":
editor:
tabLength: 4
".source.pro":
editor:
tabLength: 4
".shell.source":
editor:
tabLength: 4
".shtml.source":
editor:
tabLength: 4

Estoy bastante seguro de que algunos otros tampoco están funcionando. Dentro de Atom, si abro mi archivo .pro y hago Alt-Cmd-P, dice que el tipo de archivo es text.plain.null-grammar. Y el ancho de la tabulación sigue siendo de 2 caracteres. Así que claramente estoy haciendo algo mal.

Notarás que estoy intentando definir un tipo de archivo personalizado (al principio) y luego definir la longitud de la tabulación (cerca del final).

Tags:  

Answer

  1. Avatar for davy.ai

    Solución usando config.cson

    Para configurar Atom con diferentes longitudes de pestañas para diferentes tipos de archivos, puedes modificar el archivo config.cson. Sin embargo, parece que la configuración actual que has intentado no está funcionando. Aquí hay una versión modificada de tu archivo config.cson que debería funcionar para tus archivos Foo.pro:

    "*":
      core:
        customFileTypes: 
          "source.pro": ["pro"]
        telemetryConsent: "limited"
        themes: ["atom-light-ui", "one-light-syntax"]
      editor: {}
      ".exception-reporting":
        userId: "283f523f-3348-4956-97f6-a73675e6e9c6"
      ".tree-view":
        hideVcsIgnoredFiles: true
      welcome:
        showOnStartup: false
    ".basic.html.text":
      editor:
        tabLength: 2
    ".html.source":
      editor:
        tabLength: 2
    ".source.pro":
      editor:
        tabLength: 4
    ".shell.source":
      editor:
        tabLength: 2
    ".shtml.source":
      editor:
        tabLength: 2
    

    Intenta reemplazar tu archivo config.cson actual con este y reinicia Atom. Este archivo define un tipo de archivo personalizado para archivos source.pro y establece la longitud de pestaña para ese tipo de archivo en 4. Todos los demás tipos de archivo tendrán una longitud de pestaña de 2.

    Solución usando editorconfig

    Otra forma de lograr esto es mediante el uso de EditorConfig, un formato de archivo y una colección de complementos del editor de texto para mantener estilos de codificación consistentes. Aquí están los pasos para configurar EditorConfig en Atom:

    1. Instala el paquete editorconfig en Atom desde la sección de paquetes en la Configuración de Atom.
    2. En tu directorio del proyecto, crea un archivo llamado .editorconfig.
    3. Agrega la siguiente configuración al archivo .editorconfig:
    root = true
    
    [*]
    indent_style = space
    indent_size = 2
    
    [*.pro]
    indent_size = 4
    

    Esta configuración establece el estilo de sangría por defecto en espacio y el tamaño de sangría por defecto en 2 espacios para todos los tipos de archivo. Para archivos *.pro, el tamaño de sangría se establece en 4 espacios.

    Guarda y cierra el archivo .editorconfig. EditorConfig debería aplicar automáticamente la configuración cuando abres los archivos relevantes en Atom.

Comments are closed.