1. Add an option for displying constant line number width in Preferences dialog.
This option set the line number constant width according the total line number in the document (minimun 4 digits).
It ensures no unexpected visual effect while scrolling content vertically.
If the document content is modified and the total number of lines is increased or decreased, more digits will be added or removed according the number of digits in total number of lines.
2. Add new plugin messages NPPM_GETLINENUMBERWIDTHMODE & NPPM_SETLINENUMBERWIDTHMODE for getting or setting LINENUMWIDTH_DYNAMIC / LINENUMWIDTH_CONSTANT.
So plugins may send NPPM_SETLINENUMBERWIDTHMODE message with LINENUMWIDTH_CONSTANT to Notepad++ for avoiding some unexpected visual effect (while scrolling).
Fix#5670
1. Add Visual Studio 2017 to Pre-requisites section.
2. Add link to community forum with more details about the build process.
3. Restructure Scintilla build instructions. Move common build steps upper.
4. Add more details about the Developer Command Prompt for Visual Studio.
Fix#9087, fix#5566, close#9192
Folder images are changed in FileBrowser::notified() when TVN_ITEMEXPANDED
is recieved. This works fine when e.g. expand/collapse using "+" button.
However, when foldAll() or expandAll() are called on a TreeView,
the TVN_ITEMEXPANDED is not sent. The reason is that TVIS_EXPANDEDONCE flag
is set. To reset that flag, it would be needed to pass TVE_COLLAPSERESET
to TreeView_Expand that also removes all child items which is unwanted.
Resolve the problem by notifying TreeView parent manually when recieve
TVM_EXPAND and TVIS_EXPANDEDONCE is set.
Fix#8912
The new behaviour of loading function list will be:
1. For the installer package:
Try to load from %APPDATA%\Notepad++\functionList\, if it failed, then load from %PROGRAMFILES%\Notepad++\functionList\.
In this way, users can override function list in %APPDATA%\Notepad++\functionList\ manually. Otherwise, function list won't be empty.
2. For the portable package:
- with doLocalConf.xml : Load always from <Notepad++ Dir>\functionList\
- without doLocalConf.xml : Try to load from %APPDATA%\Notepad++\functionList\, if it failed, then load from <Notepad++ Dir>\functionList\
Fix#9134
#define NPPM_GETSETTINGSONCLOUDPATH (NPPMSG + 98)
// INT NPPM_GETSETTINGSCLOUDPATH(size_t strLen, TCHAR *settingsOnCloudPath)
// Get settings on cloud path. It's useful if plugins want to store its settings on Cloud, if this path is set.
// Returns the number of TCHAR copied/to copy. If the return value is 0, then this path is not set, or the "strLen" is not enough to copy the path.
// Users should call it with settingsCloudPath be NULL to get the required number of TCHAR (not including the terminating nul character),
// allocate settingsCloudPath buffer with the return value + 1, then call it again to get the path.
Close#9168