Configuración del resaltado de sintaxis del código mediante la extensión Visual Studio Code

Traducido automáticamente de Deepl

Recientemente hablamos de nuestra nueva extensión Visual Studio Code que permite a VS Code comunicarse con 4D para la gestión del código. El resaltado de sintaxis fue la primera característica del Protocolo del Servidor de Lenguaje en 4D v19 R6. Veamos cómo personalizar la representación de su código fuente.

Puede querer personalizar el resaltado de sintaxis a su propia hoja de estilo o a la hoja de estilo por defecto de 4D como se muestra a continuación:

Veamos más información técnica.

tokens semánticos

En todos los lenguajes de programación, el código se compone de tokens semánticos. Un token semántico es una parte del código con un sentido único, como clases, métodos, variables, etc. Al igual que otros lenguajes, el código de 4D se divide en tokens semánticos y modificadores.

VS Code le permite comprobar los tokens semánticos en su editor de código. Para mostrarlos, abra la paleta de comandos de VS Code, busque «Inspeccionar tokens y ámbitos del editor» y selecciónelo.

blank

Una paleta muestra las propiedades de la parte de código detrás del cursor, incluyendo el Token Semántico y su Modificador, si lo hay. Sólo tiene que seleccionar otra parte del código para ver directamente las propiedades relacionadas.

blank

Esta es la tabla de mapeo entre el lenguaje 4D y los tokens semánticos LSP:

Ficha semántica LSP Lenguaje 4D
método métodos
método.defaultLibrary comandos
método.plugin métodos del plugin
propiedad atributos del objeto
función funciones miembro del objeto
parámetro parámetros del método, parámetros de la función miembro del objeto
variable.interproceso variables interproceso
variable.proceso variables de proceso
variable.local variables locales
palabra clave palabras clave
tabla tablas
campo campos
comentario comentarios
tipo tipos
constante constantes
cadena cadenas
error errores

¿Cómo configurar las fuentes?

Usted puede decir, «Ok, VS Code reconoce el código 4D automáticamente, pero ¿qué más?». Este es el último paso: configurar la fuente de cada token semántico.
Para personalizarlo, tiene que editar el archivo de configuración que utiliza su VS Code. Para ello, abra la paleta de comandos de VS Code, busque «Settings.json» y edítelo.
Para información, el archivo VS Code Settings.json se encuentra aquí:

/Users/{UserName}/Library/Application Support/Code/User/settings.json en macOS
C:³{Users}{Nombre de usuario}{AppData}{Roaming}{Code}{User}{settings.json en Windows

blank

blank

Aquí están los ajustes JSON que hay que añadir para mostrar el código 4D con las hojas de estilo «4D claro» y «4D oscuro» (busque en el settings.json la línea «4D-Analyzer.server.path», e inserte todo el bloque siguiente en la línea superior o inferior)

"editor.semanticHighlighting.enabled": true,
    "editor.semanticTokenColorCustomizations": {
        "[Default Light+]":{
            "enabled": true,
            "rules": {
                "*:4d": {"foreground": "#000000", "bold": false, "italic": false, "underline": false, "strikethrough": false},
                "method:4d": {"foreground": "#000088", "bold": true, "italic": true},
                "method.defaultLibrary:4d": {"foreground": "#068c00", "italic": false},
                "method.plugin:4d": {"foreground": "#000000"},
                "property:4d": {"foreground": "#a0806b"},
                "function:4d": {"foreground": "#5f8e5e", "italic": true},
                "parameter:4d": {"foreground": "#000b76", "bold": true},
                "variable.interprocess:4d": {"foreground": "#ff0088"},
                "variable.process:4d": {"foreground": "#0000ff"},
                "variable.local:4d": {"foreground": "#0031ff"},
                "keyword:4d": {"foreground": "#034d00", "bold": true},
                "table:4d": {"foreground": "#532300"},
                "field:4d": {"foreground": "#323232"},
                "comment:4d": {"foreground": "#535353"},
                "type:4d": {"foreground": "#068c00", "bold": true},
                "constant:4d": {"foreground": "#4d004d", "underline": true},
                "string:4d": {"foreground": "#000000"},
                "error:4d": {"foreground": "#ff0000", "bold": true, "italic": true}
            }
        },
        "[Default Dark+]":{
            "enabled": true,
            "rules": {
                "*:4d": {"foreground": "#FFFFFF", "bold": false, "italic": false, "underline": false, "strikethrough": false},
                "method:4d": {"foreground": "#1B79F3", "bold": true, "italic": true},
                "method.defaultLibrary:4d": {"foreground": "#59BB00", "italic": false},
                "method.plugin:4d": {"foreground": "#BFBFBF"},
                "property:4d": {"foreground": "#A0806B"},
                "function:4d": {"foreground": "#4EC36E", "italic": true},
                "parameter:4d": {"foreground": "#0C70FF", "bold": true},
                "variable.interprocess:4d": {"foreground": "#FF0088"},
                "variable.process:4d": {"foreground": "#53B0EB"},
                "variable.local:4d": {"foreground": "#18B3F1"},
                "keyword:4d": {"foreground": "#575757", "bold": true},
                "table:4d": {"foreground": "#CF5600"},
                "field:4d": {"foreground": "#9C6765"},
                "comment:4d": {"foreground": "#8F8F8F"},
                "type:4d": {"foreground": "#59BB00", "bold": true},
                "constant:4d": {"foreground": "#FA647F", "underline": true},
                "string:4d": {"foreground": "#FFFFFF"},
                "error:4d": {"foreground": "#ff0000", "bold": true, "italic": true}
            }
        }
    },

Tenga en cuenta que el «:4d» después de cada tipo de token semántico no es obligatorio, pero le permite establecer este resaltado de sintaxis sólo para el lenguaje 4D. Al hacer esto, el resaltado de sintaxis para todos los demás idiomas no se verá afectado.
Al guardar la configuración, puede ver el efecto directamente en el editor de código.

Esta personalización es beneficiosa cuando se utiliza VS Code con un proyecto 4D que contiene una parte web. Todos los lenguajes mantienen su propio resaltado de sintaxis: HTML, CSS, Javascript, y ahora… ¡4D!

Avatar
• Propietario de producto - Damien Fuzeau se ha unido al equipo de 4D Product en febrero de 2019. Como Propietario de producto, está a cargo de escribir historias de usuario, y luego traducirlas a especificaciones funcionales. Su trabajo también implica asegurarse de que las implementaciones de funcionalidades entregadas estén cumpliendo con las necesidades del cliente. Damien es licenciado en ingeniería de software por la Universidad de Nantes. Estuvo más de 23 años en su anterior empresa, primero como desarrollador (descubriendo 4D en 1997), y más tarde como gerente de ingeniería y arquitecto de software. Esta compañía es un Partner OEM de 4D y ha desplegado softwares empresariales basados en 4D para miles de usuarios, en cientos de servidores. Por lo tanto, Damien está acostumbrado al desarrollo y despliegue de 4D en un contexto multilingüe.