Solución:
Introducción
Notepad ++ está usando Scintilla para el componente editor. Scintilla tiene una función SCI_SETCONTROLCHARSYMBOL(int symbol)
donde puede establecer el carácter que se utilizará para los caracteres de control. De Scintilla Docs describen la funcionalidad:
SCI_SETCONTROLCHARSYMBOL (símbolo int)
SCI_GETCONTROLCHARSYMBOL
De forma predeterminada, Scintilla muestra los caracteres de control (caracteres con códigos inferiores a 32) en un rectángulo redondeado como nemotécnicos ASCII: “NUL”, “SOH”, “STX”, “ETX”, “EOT”, “ENQ”, “ACK” , “BEL”, “BS”, “HT”, “LF”, “VT”, “FF”, “CR”, “SO”, “SI”, “DLE”, “DC1”, “DC2″, ” DC3 “,” DC4 “,” NAK “,” SYN “,” ETB “,” CAN “,” EM “,” SUB “,” ESC “,” FS “,” GS “,” RS “,” US ” . Estos mnemónicos provienen de los primeros días de la señalización, aunque algunos todavía se usan (LF = Line Feed, BS = Back Space, CR = Carriage Return, por ejemplo).
Puede optar por reemplazar estos mnemónicos por un símbolo designado con un código ASCII en el rango de 32 a 255. Si establece un valor de símbolo menor que 32, todos los caracteres de control se muestran como mnemónicos. El símbolo que establezca se representa en la fuente del estilo establecido para el personaje. Puede volver a leer el símbolo actual con el mensaje SCI_GETCONTROLCHARSYMBOL. El valor del símbolo predeterminado es 0.
Probablemente haya una forma “correcta” de hacer esto, pero les voy a dar una forma muy hábil de lograrlo.
Técnica
Edita el archivo %APPDATA%Notepad++shortcuts.xml
usando cualquier cosa EXCEPTO Notepad ++.
Agregue lo siguiente al <Macros>
sección del archivo para agregar manualmente una macro:
<Macro name="RemoveControl" Ctrl="no" Alt="no" Shift="no" Key="0">
<Action type="0" message="2388" wParam="32" lParam="0" sParam="" />
</Macro>
Tenga en cuenta que puede establecer un atajo con el Ctrl
, Alt
, Shift
y Key
atributos. los wParam
establecerá el carácter que se utilizará en lugar de los códigos deletreados. En este caso, codifique 32
es un espacio en el estándar ASCII. Mensaje 2388
es la constante para el SCI_SETCONTROLCHARSYMBOL
valor.
Guarda el archivo
Usar
Ahora puede cambiar el comportamiento de Notepad ++ en tiempo de ejecución. Para usar esto, haga lo siguiente
Abra el Bloc de notas ++
Simplemente abra el editor. Si abre un archivo directamente (es decir, edite con el menú contextual de Notepad ++) obtendrá un comportamiento extraño.
Active la macro desde el menú (o su atajo).
Si hay una forma de automatizar la ejecución de una macro al inicio, sería bueno agregarla aquí
Abra su archivo.
Nada nuevo aqui
Notas
- Las posiciones con el carácter de control seguirán estando invertidas (texto blanco sobre fondo negro por defecto).
- Si activa la macro cuando tiene un documento abierto, no tendrá efecto de inmediato. Tendrá que hacer algo para obligar a que la ventana se vuelva a dibujar.
- Una mirada al archivo Scintilla.h puede abrir otras opciones que podrían explotarse de manera similar.