I am debugging/monitoring a log file containing extensively the control character [SOH]
This makes logs barely unreadable (well, to me, on NP++, but it has to be this way as
Notepad++ is using Scintilla for the editor component. Scintilla has a function SCI_SETCONTROLCHARSYMBOL(int symbol)
where you can set the character that will be used for the control characters. From the Scintilla Docs they describe the functionality:
SCI_SETCONTROLCHARSYMBOL(int symbol)
SCI_GETCONTROLCHARSYMBOL
By default, Scintilla displays control characters (characters with codes less than 32) in a rounded rectangle as ASCII mnemonics: "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". These mnemonics come from the early days of signaling, though some are still used (LF = Line Feed, BS = Back Space, CR = Carriage Return, for example).
You can choose to replace these mnemonics by a nominated symbol with an ASCII code in the range 32 to 255. If you set a symbol value less than 32, all control characters are displayed as mnemonics. The symbol you set is rendered in the font of the style set for the character. You can read back the current symbol with the SCI_GETCONTROLCHARSYMBOL message. The default symbol value is 0.
There's probably a "right" way to do this, but I'm going to give you a very hack-y way of accomplishing this.
Edit the file %APPDATA%\Notepad++\shortcuts.xml
using anything EXCEPT Notepad++.
Add the following to the
section of the file to manually add a macro:
Note that you can set a shortcut with the Ctrl
, Alt
, Shift
and Key
attributes. The wParam
will set the character which will be used instead of the spelled-out codes. In this case, code 32
is a Space in the ASCII standard. Message 2388
is the constant for the SCI_SETCONTROLCHARSYMBOL
value.
Save the file
Now you can change the behavior of Notepad++ at runtime. To use this do the following
Open Notepad++ Simply open the editor. If you open a file directly (ie. Edit with Notepad++ context menu) you will get weird behavior.
Activate the macro from the menu (or your shortcut). If there's a way to automate running a macro on startup it would be nice to add it here
Open your file. Nothing new here