¿Hacer que Notepad ++ recuerde un idioma particular para un archivo en particular?


10

Tengo varios archivos que me gustaría colorear de diferentes maneras a pesar de que tienen la misma extensión. Por ejemplo, tengo algunos archivos * .config que en realidad son archivos Python y algunos que son archivos XML. Cuando los abro tengo que cambiar manualmente el idioma a Python o XML.

Sería bueno si, por ejemplo, Notepad ++ recordara que c: \ foo \ bar \ whatevs.config debería usar el estilo Python, pero c: \ hey \ ho \ boo.config debería usar el estilo XML.

¿Alguna forma en Notepad ++ para decir "recuerda el idioma que se utilizó la última vez que se abrió el archivo"? ¿Un complemento tal vez?


¿Te encuentras con problemas en alguna parte al usar las extensiones de archivo correctas?
iglvzx

1
Tengo una aplicación Python que usa archivos .config que realmente son archivos Python, y .NET usa archivos .config que realmente son archivos XML. Como otro ejemplo, tengo archivos de descuento que usan la extensión .txt porque se sincronizan con una aplicación de Android que no entiende qué son los archivos .md.
mhenry1384

Veo. ¿Recuerda el idioma que configuró cuando cierra Notepad ++ con el archivo abierto y luego vuelve a abrir Notepad ++?
iglvzx

2
En realidad lo hace, si ha marcado "Recordar sesión actual para el próximo lanzamiento" (lo cual no hago). Pero lo olvida cuando cierra el archivo y lo vuelve a abrir.
mhenry1384

Respuestas:


12

Hay una opción de GUI para configurar un enlace estático entre la extensión del archivo y el idioma (en lugar de editar manualmente el %APPDATA% langs.xmlarchivo o el %PROGRAMFILES% langs.model.xmlarchivo como @ jakub.g sugiere):

Si va a Configuración -> Configurador de estilo -> seleccione el idioma a la izquierda, luego en la parte inferior de la pantalla aparecen dos cuadros de texto:

Configurador de estilo

En este ejemplo, agregué "config" al User ext.cuadro de texto, así que cada vez que abro un archivo con una extensión de archivo .config, el resaltado de sintaxis XML se seleccionará automáticamente en el menú Idioma.

Sé que esto no resuelve el problema de recordar qué resaltado de sintaxis se aplica a un solo archivo específico, pero es una manera fácil de configurar el resaltado para todas las extensiones de archivo.

Si desea recordar la selección de resaltado de sintaxis para un archivo individual, creo que la única opción es seleccionar la casilla de verificación: Configuración -> Preferencias -> MISC -> Recordar sesión actual para el próximo lanzamiento.


aunque no lo salva. una vez que cierre y vuelva a abrir notepad ++, los cambios desaparecerán.
r3wt

@ r3wt Creo que, de lo run as administratorcontrario, no tendrá permisos para guardar las preferencias en su perfil de usuario.
wweicker

Esto no funcionará para extensiones de archivo integradas. Debe eliminar manualmente la extensión de la parte externa del idioma en el archivo langs.xml. Ese archivo puede vivir en% APPDATA% / Notepad ++ o el directorio de instalación de Notepad ++ o en su almacenamiento en la nube, es decir, DropBox, OneDrive o GoogleDrive si tiene habilitada la opción Configuración en la nube.
Ian Stanway

¿Funciona esto para idiomas personalizados? No puedo encontrar el mío en ninguna parte de la lista.
Fabian Röling

1

Esto no es exactamente lo que está pidiendo, pero se aplica a su comentario sobre los archivos .txt como archivos Markdown. Una opción posible es establecer Markdown como el idioma para todos los archivos .txt.

Esto supone que markdown_npp está instalado. Edite los siguientes archivos bajo su propio riesgo (haga copias de seguridad antes de editar estos archivos):

  • Abra langs.xml desde% appdata% \ Notepad ++
    • Eliminar la extensión txt del lenguaje normal:
      • Antes de: <Language name="normal" ext="txt" />
      • Después: <Language name="normal" ext="" />
  • Abra userDefineLang.xml desde% appdata% \ Notepad ++
    • Agregue la extensión txt al lenguaje Markdown:
      • Antes de: <UserLang name="Markdown" ext="md">
      • Después: <UserLang name="Markdown" ext="md txt">
  • Reiniciar Notepad ++

funcionó para mí, y era la única forma en que podía obtener notepad ++ para almacenar permanentemente la relación. gracias
r3wt

0

Para agregar una conexión fija entre extensión e idioma, abra la carpeta NPP (por ejemplo C:\Program hFiles\Notepad++), hay varios archivos XML allí. Edítelos (no recuerdo cuál exactamente, langs.xmlo langs.model.xml).

Ejemplo: <Language name="cpp" ext="h hpp hxx cpp cxx cc">

Encuentra el idioma que deseas y agrega la extensión.

Sin embargo, no sé cómo hacer que la misma extensión varíe por carpeta.

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.