[New Plugin] ExtSettings

  • @guy038

    Thank you for your detailed response and your suggestions.

    In general I can say that many of the settings depend heavily on personal taste, the use case (e.g. simple text editing or coding), the used theme, the used font and its size, and many other factors which don’t come to my mind at the moment. Whether somebody wants to use a certain setting or whether he finds it useful or not depends on all these factors. I’m only the guy who makes these settings accessible to the normal user who doesn’t want to deal with scripting plugins and sending Scintilla events to configure them, though they are not available through the Notepad++ user interface.

    I could not be able to see the difference between the Python style and Standard style options !

    To see the differences in Python and C++ code have a look at >>> these comments <<< where I talked about the different styles with DonHo.

    the vertical lines new feature is really interesting. … if, after defining some of them, with your plugin, you enable the Vertical Edge Settings in Settings > Preferences... > Editing or switch from option Line Mode to Background mode or vice-versa, it deletes all the previous vertical lines defined and displays the classical vertical edge line !

    The single vertical line (provided natively by Notepad++) and the multiple vertical lines features are exclusive in Scintilla, you can only activate one of them. There is nothing I can do about that.

    Wrap mode : Again, I did not see any difference between the options Word boundaries and Whitespace characters, of the drop-down list :-(

    The differences are mostly remarkable when watching source code, e.g. in C or C++:

    Wrap mode “At word boundaries”:


    Wrap mode “At spaces”:


    may be the Mark Highlighting title of the section should be renamed Smart Highlighting

    That’s a good point, I’ll put it on my list.

    if you’ve changed the color of the Smart Highlighting, as soon as you switch for an other opened document, and switch back, immediately, to your initial document, any smart Highlighting zones is colored with the default green color

    Seems like setting the smart highlighting color has to be done whenever a tab has been activated. I will put it on my list.

    Strangely, if you disable and re-enable the Smart Highlighting in Settings > Preferences... > Highlighting, while not changing current document, does keep the modified color of the Smart Highlighting !

    Nothing strange, toggling the smart highlighting feature and setting its color are two different Scintilla commands.

    Wrap cursor at line start … Just tell me what I miss, here !

    You miss nothing, its a question of personal taste. I’m a Delphi developer, thus I mostly use the Delphi IDE for coding. There I’m used to have no cursor wrapping at line start.

    Selection alpha

    Thank you for providing these formulas, they could become handy for me at some time. But again, if and how someone uses this setting is up to him. It’s like always when telling a computer what to do: Garbage in -> Garbage out. I’m not a friend of the approach to fight human dumbness by technology, provided a certain setting can not cause serious damage or injuries.

    I think that the Close button should be selected, by default, in order to close while hitting the Enter key . May be, the possibility to close, while hitting the ESC key would be nice, too !


    Could you give the user the opportunity to get multiple configurations ?

    I will think about it.

    Could you consider adding the SCI_SETCARETSTICKY feature

    I didn’t know that feature, but it could be useful. I will put it on my list.

    More anecdotal, you could, also, consider the SCI_SETMARGINLEFT… and SCI_SETMARGINRIGHT … settings

    I already thought about it but considered it to be “anecdotal” as well. But since Select full line is anecdotal too, I will think about including SCI_SETMARGINLEFT and SCI_SETMARGINRIGHT - equal rights for all anecdotal settings. ;-)

  • Hi, @dinkumoil, and All,

    Many thanks for your ( long !) comments, examples and for considering some of my requests !

    So, ok, the difference between Wrap mode options Word boundaries and Whitespace characters are rather particular and relative to languages !

    Regarding the Indentation guide style, I’m, now, able to easily see the differences between the 3 styles : Real indentation, Python style or Standard style

    I tested with the very small piece of C code :

    	while (1) {
    		if (result == None)
    			test = 'OK'
    		result = 2

    and an analog Python code :

        while 1:
            if result = None:
                test = 'OK'
            result = 2

    For both, there are 3 pure blank lines, before and after the if block

    I assumed that default indentation is a tabulation char of size 4 and Python one is a 4 spaces string

    Of course, @Dinkumoil, if I temporarily disable your plugin, by renaming the ..\Plugins\ExtSettings folder, we get the N++ default behavior, about Indentation guide lines ! That is to say :

    • Standard style, if current file is not a Python file

    • Python style, if current file is a Python file

    So, may be, it would be worth to add, in your plugin, a Default option, for the Indentation guide lines feature, which would let N++ decide, by itself ! What is your feeling about it ?

    This make me think of an other improvement. If, you ready to add multiple configurations, you could consider a default one, which leave all the N++ options unchanged. That is to say, with the values :

    • Backspace unindents : No

    • Folding lines : Yes

    • Indentation guide lines : Default ( New option )

    • White space style : Invisible

    • White space size : 2

    • Upper line spacing : 0

    • Lower line spacing : 0

    • Vertical Lines : None

    • Wrap mode : No line wrapping

    • End of Subline : Yes

    • Start of Subline : No

    • Line number margin : No

    • Subline end near text : No

    • Subline start near text : No

    • Highlighting style : Filled rounded box

    • Color : Green

    • Filling alpha : 100

    • Outline alpha : 50

    • Cursor beyond line endings : No

    • Wrap cursor at line start : Yes

    • Select full line : No

    • Selection alpha : 256

    • Multi Paste : Yes

    • Convert EOL on paste : Yes

    • Magnification : 0



  • @guy038 said in [New Plugin] ExtSettings:

    So, may be, it would be worth to add, in your plugin, a Default option, for the Indentation guide lines feature, which would let N++ decide, by itself !

    I think about to remove the whole indentation guide line feature from my plugin. As you already noticed, Notepad++ now (since v7.8) switches to Python style by itself when it detects that the current active tab contains a Python code file and it switches to Standard style when it detects a non-Python file. Since this Scintilla setting has global scope, Notepad++ does this decision at every tab switch. I figured out that it does that even when changing the theme. So my plugin virtually has “to fight” against the build-in Notepad++ logic and, like when changing the theme, there are cicumstances it “looses” that fight. Since I don’t like non-robust features and I don’t want to fiddle around in Notepad++ too much, it’s likely to be the best to remove that feature.

    you could consider a default one, which leave all the N++ options unchanged.

    I think that’s not a good idea because the defaults of Notepad++ could change over time, thus I would have to synchronize my plugin with the changes in Notepad++. If a user wants a default configuration he only has to delete the settings file.

  • First, thank you for your work on this plugin, I’ve found it very useful!

    I would like to report two small issues. The first is with adding vertical lines.
    Expected Behavior: I enter a column, I click “Add”, I get a new vertical line in that list in the bottom left.
    Actual Behavior: I enter a column, I click “Add”, and I get no response. I need to select a color first, even though the color picker implies that it’s defaulting to black.

    This behavior led me to believe your plugin was bugged until I looked into it more. Making this a bit more user-friendly by actually having it default to black (or grey if you’re worried about people using dark themes) would help.

    The second issue. With the Extended Settings menu open, when I alt-tab out of Notepad++, I cannot alt-tab back in.
    Expected Behavior: Open ExtSetting Menu. Alt-tab onto a window that covers Notepad++. Alt-tab back to Notepad++. Notepad++ should be the top-level window graphically and in the alt-tab menu.
    Actual Behavior. Open ExtSetting Menu. Alt-tab onto a window that covers Notepad++. Alt-tab back to Notepad++. Notepad++ is not the top-level window graphically, but IS the top-level window in the alt-tab menu.

  • @Charles-Bogel

    Thank you for your issue reports. You are absolutely right with both of them. Unfortunately I’m very busy in my job for the next months. So, don’t expect a short-time fix, sorry.

  • @dinkumoil
    Thanks for this nice plugin.
    Is it possible to add on the UI a button to apply the configuration ?


  • @cmeriaux

    You mean applying the settings without closing the dialog? I already thought about it. I agree it would be useful.

    But as I said, currently I’m so busy in my job that I’m happy to be off-keyboard late in the evenings and even at the weekends.

  • @dinkumoil yes that’s it. You perfectly got my point ;-)

    Are you on github ? Any chance that someone else can contribute ?

  • @cmeriaux

    The plugin is hosted at SoureForge in an SVN repository and is written with Delphi XE2. If you have an SourceForge account we can talk about collaboration. Another possibility would be to exchange *.patch files.

  • @dinkumoil said in [New Plugin] ExtSettings:

    Delphi XE2

    It would have been nice but I don’t know anything in Delphi XE2

  • Finally, Backspace unindents!

    Thanks OP, much appreciated

Log in to reply