visual studio code - tutorial - ¿Cómo hacer que VS Code trate otras extensiones de archivo como cierto idioma?
visual studio code español (9)
En
Visual Studio Code
, puede agregar asociaciones de archivos persistentes para resaltar el idioma en su archivo
settings.json
esta manera:
// Place your settings in this file to overwrite the default settings
{
"some_setting": custom_value,
...
"files.associations": {
"*.thor": "ruby",
"*.jsx": "javascript",
"Jenkinsfile*": "groovy"
}
}
Puede usar
Ctrl
+
Shift
+
p
y luego escribir la
settings JSON
.
Elija
Preferencias: Abrir configuración (JSON)
para abrir su
settings.json
.
La función
Files: Associations
se introdujo por primera vez en Visual Studio Code versión 1.0 (marzo de 2016).
Verifique los
patrones comodín
disponibles en las notas de la versión y las
cadenas de idioma conocidas
en la documentación.
¿O hay una manera de cambiar el idioma del archivo actual para usar la función de resaltado de sintaxis?
Por ejemplo,
*.jsx
realidad usa JavaScript pero VS Code no lo reconoce.
Encontré la solución aquí: https://code.visualstudio.com/docs/customization/colorizer
Vaya a
VS_CODE_FOLDER/resources/app/extensions/
y allí actualice
package.json
Esto, por ejemplo, hará que los archivos que terminan en
.variables
y
.overrides
sean tratados como cualquier otro archivo LESS.
En términos de color del código, en términos de formato (automático).
Defina en la configuración del usuario o la configuración del proyecto, como desee.
(La interfaz de usuario semántica usa estas extensiones extrañas, en caso de que se pregunte)
Hola, he seguido un enfoque diferente para resolver el mismo problema, en mi caso hice una nueva extensión que agrega soporte de resaltado de sintaxis PHP para archivos específicos de Drupal (como .module y .inc): https://github.com/mastazi/VS-code-drupal
Como puede ver en el código, creé una nueva extensión en lugar de modificar la extensión PHP existente. Obviamente declaro una dependencia en la extensión PHP en la extensión Drupal.
La ventaja de hacerlo de esta manera es que si hay una actualización de la extensión PHP, mi soporte personalizado para Drupal no se pierde en el proceso de actualización.
La forma más fácil que he encontrado para una asociación global es simplemente ctrl + km (o ctrl + shift + p y escriba "cambiar modo de idioma") con un archivo del tipo que está asociando abierto.
En las primeras selecciones será "Configurar asociación de archivos para ''x''" (sea cual sea el tipo de archivo - ver imagen adjunta) Al seleccionar esto, la asociación de tipo de archivo es permanente
Esto puede haber cambiado (¿probablemente?) Desde la pregunta / respuesta original y no sé cuándo) pero es más fácil que los pasos de edición manual dados anteriormente y evita tener que pensar con ID que pueden no ser obvios.
Mantenga presionadas las teclas Ctrl + Shift + P (o cmd en Mac), seleccione "Cambiar modo de idioma" y ahí está.
Pero todavía no puedo encontrar una manera de hacer que VS Code reconozca los archivos con una extensión específica como cierto idioma.
Seguir los pasos en https://code.visualstudio.com/docs/customization/colorizer#_common-questions funcionó bien para mí:
Para extender un colorizador existente, crearía un paquete simple.json en una nueva carpeta en .vscode / extensiones y proporcionaría el atributo extensionDependencies que especifica la personalización a la que desea agregar. En el ejemplo a continuación, se agrega una extensión .mmd al colorizador de rebajas. Tenga en cuenta que el nombre de dependencia de extensión no solo debe coincidir con la personalización, sino que también la identificación del idioma debe coincidir con la identificación del idioma del colorizador que está extendiendo.
{
"name": "MyMarkdown",
"version": "0.0.1",
"engines": {
"vscode": "0.10.x"
},
"publisher": "none",
"extensionDependencies": [
"markdown"
],
"contributes": {
"languages": [{
"id": "markdown",
"aliases": ["mmd"],
"extensions": [".mmd"]
}]
}
}
p.ej:
// .vscode/settings.json in workspace
{
"files.associations": {
"*Container.js": "javascriptreact",
"**/components/*/*.js": "javascriptreact",
"**/config/routes.js": "javascriptreact"
}
}