syntax highlighting - instalar - Cambiar/Agregar resaltado de sintaxis para un idioma en Sublime 2/3
package control para sublime 3 (4)
El "esto" ya está coloreado en Javascript.
Ver-> Sintaxis-> y elija su idioma para resaltar.
Quiero cambiar / agregar resaltado de sintaxis para un idioma en Sublime 2/3.
Por ejemplo, quiero la palabra clave this
coloreada en JavaScript.
¿Cómo puedo hacer eso?
Sé que hay un archivo JavaScript de preferencias en C:/Program Files/Sublime Text 3/Packages
, pero no sé qué cambiar o si tengo que crear un nuevo archivo de preferencias de JavaScript en alguna parte de esta carpeta %APPDATA%/Sublime Text 3
.
El resaltado de sintaxis está controlado por el tema que utiliza, accesible a través de Preferences -> Color Scheme
. Los temas resaltan diferentes palabras clave, funciones, variables, etc. mediante el uso de ámbitos, que se definen mediante una serie de expresiones regulares contenidas en un archivo .tmLanguage
en el directorio / paquete de un idioma. Por ejemplo, el archivo JavaScript.tmLanguage
asigna los ámbitos source.js
y variable.language.js
a la palabra clave this
. Como Sublime Text 3 usa el formato de archivo zip .sublime-package
para almacenar todas las configuraciones predeterminadas, no es muy fácil editar los archivos individuales.
Desafortunadamente, no todos los temas contienen todos los ámbitos, por lo que tendrá que jugar con diferentes para encontrar uno que se vea bien y darle el resaltado que está buscando. Hay una serie de temas que se incluyen con Sublime Text, y muchos más están disponibles a través de Package Control , que recomiendo instalar si aún no lo ha hecho. Asegúrate de seguir las instrucciones de ST3 .
Como sucede, he desarrollado el Neon Color Scheme
, disponible a través del Control de paquetes, que tal vez quiera echarle un vistazo. Mi objetivo principal, además de tratar de hacer que una amplia gama de idiomas se vea lo mejor posible, fue identificar tantos ámbitos diferentes como pude, muchos más que los incluidos en los temas estándar. Si bien la definición del lenguaje JavaScript no es tan completa como la de Python, por ejemplo, Neon
aún tiene mucha más diversidad que algunos de los valores predeterminados, como Monokai
o Solarized
.
Debo señalar que utilicé la definición de lenguaje de Better JavaScript
@int3h para esta imagen en lugar de la que se envía con Sublime. Se puede instalar a través de Package Control.
ACTUALIZAR
Últimamente descubrí otra definición de lenguaje de reemplazo de JavaScriptNext - ES6 Syntax
. Tiene más alcances que el JavaScript base o incluso Better JavaScript. Se ve así en el mismo código:
Además, desde que originalmente escribí esta respuesta, @skuroda ha lanzado PackageResourceViewer
través de Package Control. Le permite ver, editar y / o extraer partes de .sublime-package
. Entonces, si elige, puede editar directamente los esquemas de color incluidos con Sublime.
OTRA ACTUALIZACIÓN
Con el lanzamiento de casi todos los paquetes predeterminados en Github , los cambios han sido rápidos y furiosos. La sintaxis JS antigua se ha reescrito por completo para incluir las mejores partes de JavaScript Next ESTAX Syntax, y ahora es lo más compatible posible con ES6. Se han realizado una tonelada de otros cambios para cubrir casos de esquina y borde, mejorar la consistencia y, en general, mejorarlo. La nueva sintaxis se ha incluido en la (más reciente) versión de desarrollo 3111.
Si desea utilizar cualquiera de las sintaxis nuevas con la compilación beta 3103 actual, simplemente clone el repositorio de Github en algún lugar y vincule el JavaScript
(o el idioma que desee) en su directorio de Packages
; búsquelo en su sistema por seleccionando Preferences -> Browse Packages...
Entonces, simplemente haga una git pull
en el directorio de repositorio original de vez en cuando para actualizar los cambios, ¡y podrá disfrutar de lo último y lo mejor! Debo señalar que el repositorio utiliza el nuevo formato .sublime-syntax
lugar del anterior .tmLanguage
uno, por lo que no funcionará con las compilaciones ST3 anteriores a 3084, o con ST2 (en ambos casos, debería haberse actualizado a la última versión beta o dev build de todos modos).
Actualmente estoy retocando mi Neon Color Scheme para manejar todos los nuevos ámbitos en la nueva sintaxis de JS, pero la mayoría debería estar ya cubierta.
Finalmente encontré una forma de personalizar los Temas dados.
Vaya a C:/Program Files/Sublime Text 3/Packages
y copie + cambie el nombre de Color Scheme - Default.sublime-package
a Color Scheme - Default.zip
. Luego descomprímalo y copie el Tema, quiere cambiar a %APPDATA%/Sublime Text 3/Packages/User
. (En mi caso, All Hallow''s Eve.tmTheme
).
Luego puede abrirlo con cualquier editor de texto y cambiar / agregar algo, por ejemplo para cambiar this
en JavaScript:
<dict>
<key>name</key>
<string>Lang Variable</string>
<key>scope</key>
<string>variable.language</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#FF0000</string>
</dict>
</dict>
Esto marcará this
en JavaScript Files rojo. Puede seleccionar su tema en Preferences -> Color Scheme -> User -> <Your Name>
.
Utilice el complemento PackageResourceViewer instalado a través del Control de paquetes (como lo menciona ). Esto le permite anular los recursos comprimidos simplemente abriéndolo en Texto Sublime y guardando el archivo. Guarda automáticamente solo los recursos editados en% APPDATA% / Roaming / Sublime Text 3 / Packages / o ~ / .config / sublime-text-3 / Packages /.
Específico para el operador, una vez que se instala el complemento, ejecute el PackageResourceViewer: Open Resource
. A continuación, seleccione JavaScript
seguido de JavaScript.tmLanguage
. Esto abrirá un archivo xml en el editor. Puede editar cualquiera de las definiciones de idioma y guardar el archivo. Esto escribirá una copia de anulación del archivo JavaScript.tmLanguage en el directorio de usuario.
El mismo método se puede usar para editar la definición de idioma de cualquier idioma en el sistema.