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?

Sathyajith Bhat
fuente
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.

T. Kaltnekar
fuente
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 ++.

alex
fuente
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.

Andreas Dietrich
fuente