Asignación de extensiones personalizadas al resaltado de sintaxis de un idioma en Notepad ++


280

En la versión actual de Notepad ++, abrir archivos .sql da como resultado que el Bloc de notas aplique el resaltado de sintaxis SQL. Me gustaría que Notepad ++ hiciera lo mismo para otras extensiones también, ¿hay alguna configuración donde pueda definir esto?


Ya no? Debería hacerlo por defecto.
D'Arvit

2
Lo hace para archivos .sql, no para otros archivos
Sathyajith Bhat

44
Desearía que Notepad ++ recordara el idioma seleccionado del menú para cada archivo, u ofreció agregar su extensión al configurador de estilo de ese idioma la segunda vez que asoció la extensión con un idioma.
Matthew Lock

Tenga en cuenta que también puede modificar los colores de lenguaje de su extensión a través del lenguaje / Definir su idioma ... menú.
wip

Respuestas:


347

Cuando abre un archivo en notepad ++, intentará cargar el resaltado de sintaxis para los contenidos según la extensión del archivo.

Si usa una extensión personalizada para uno de los idiomas existentes, puede agregar la extensión personalizada en Configuración -> Configurador de Styler. Seleccione el idioma y agregue la extensión en el cuadro de edición "Extensión de usuario". Para agregar múltiples extensiones, sepárelas usando Space.

Luego debe volver a abrir su archivo para ver el resaltado de sintaxis aplicado.

También puede cambiar el estilo de resaltado de sintaxis seleccionando un idioma diferente en el menú de idiomas.


He intentado esto, pero se asigna solo a 1 extensión, quiero asignar múltiples extensiones.
Sathyajith Bhat

24
puedes agregar múltiples extensiones separándolas con espacio, agregué eso en mi publicación
T. Kaltnekar

20
Tenga en cuenta que realizar este cambio no afectará a los archivos que están abiertos actualmente en Notepad ++. Además, cerrar y volver a abrir Notepad ++ aún no afectará a los archivos que permanecen abiertos entre sesiones. Los archivos individuales deben cerrarse y volverse a abrir para que se vea el efecto.
mwolfe02

Este método tampoco funciona para los idiomas definidos por el usuario. Para aquellos, vea la respuesta a continuación, pero en lugar de langs.xml, edite el userDefineLang.xml
Chase Sandmann

2
Este método parece funcionar solo cuando se abre Notepad ++ como administrador. Vea este problema: github.com/notepad-plus-plus/notepad-plus-plus/issues/67 También parece persistir los cambios en los archivos de programa (es por eso que el problema de permiso) en C: \ Archivos de programa (x86) \ Notepad ++ \ themes \ SelectedTheme.xml, lo que significa que esta configuración no se usa al cambiar de tema.
Daniel Bogdan

67

Busque el archivo langs.xml (generalmente en C: \ Users [nombre de usuario] \ AppData \ Roaming \ Notepad ++), ábralo con Notepad ++, busque la línea que comienza <Language name="sql" ext="sql"y agregue las extensiones que desee en el campo ext , separándolas con un espacio.

Para hacer esto para un lenguaje definido por el usuario, busque userDefineLang.xml y edite ext="".

Si instaló notepad ++ en modo "portátil", entonces langs.xml y userDefineLangs.xml estarán directamente en la carpeta donde se encuentra notepad ++.


66
Este enfoque también funciona bien, pero el enfoque de T. Kaltnekar es un poco más fácil de usar, ¡gracias!
Sathyajith Bhat

Es la única forma en que sabía cómo :).
alex

2
Bien, prefiero este enfoque, tengo muchas extensiones personalizadas y es más fácil copiarlas y pegarlas de esta manera.
James

2
Este método funcionó para mi. No entiendo por qué no agrega la extensión con la GUI. "C: \ users (usuario) \ appdata \ roaming \ notepad ++ \ langs.xml"
jimueller

No tengo instalado Notepadd ++, simplemente descomprimido, por lo que el lang.xmlarchivo está en el directorio de la aplicación ;-)
Betlista

0

En caso de que uno esté usando los archivos de sesión de Notepad ++ (los nombré *.nppxml), puede editarlos y cambiar el <File lang="...">atributo, p. Ej.

<File ... lang="Normal Text" ... filename="httpd.conf"
<File ... lang="Normal Text" ... filename="some.log"

a:

<File ... lang="Powershell" ... filename="httpd.conf"
<File ... lang="log" ... filename="some.log"

para obtener un bonito *.logresaltado de sintaxis predeterminado (o definido por el usuario como en mi caso con archivos) inmediatamente sin volver a abrir cada archivo, etc.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.