how to add vertical edge(column)?



  • Hello,

    I wanded to add vertical columns in my notepad++. I found out the way that in setting-editing-show vertical edge in order to add vertical column. Through this, I was just able to add only 1 vertical line. but, I’d like to add several lines in my notepad++ at every 8 digits. Could you please help me for this, if notepad++ can support this?



  • @Minkyu-Jung

    These vertical edges are a feature of the underlying Scintilla edit component Notepad++ uses internally. In Notepad++ v7.7 Scintilla has been updated to v4.1.4, thus it is possible to have more than one edge now. Unfortunately there is no user interface in Notepad++ yet to use this new feature.

    But it is possible to activate it with the help of a scripting plugin. Have a look at >>> this topic <<< to learn how to do that with the LuaScript plugin.



  • You can also do it with NppExec on Notepad++ 7.7.

    ::Multiedge
    NPP_CONSOLE keep
    SET LOCAL COLOR = ""
    
    IF "$(ARGC)"<="1" THEN
        INPUTBOX "Color" : white
        IF "{$(INPUT)}"=="{}" GOTO END
        ENDIF
        SET LOCAL COLOR = $(INPUT)
    ELSE
        SET LOCAL COLOR = $(ARGV[1])
    ENDIF
    
    IF "$(COLOR)"=="red" THEN
        SET LOCAL COLOR = 255
    ELSE IF "$(COLOR)"=="green" THEN
        SET LOCAL COLOR = 65280
    ELSE IF "$(COLOR)"=="blue" THEN
        SET LOCAL COLOR = 16711680
    ELSE IF "$(COLOR)"=="black" THEN
        SET LOCAL COLOR = 0
    ELSE IF "$(COLOR)"=="white" THEN
        SET LOCAL COLOR = 16777215
    ELSE IF "$(COLOR)"=="yellow" THEN
        SET LOCAL COLOR = 65535
    ELSE IF "$(COLOR)"=="purple" THEN
        SET LOCAL COLOR = 16711935
    ELSE IF "$(COLOR)"=="grey" THEN
        SET LOCAL COLOR = 8421504
    ENDIF
    
    SET LOCAL COLUMN = 0
    IF "$(ARGC)">="3" THEN
        SET LOCAL COLUMN = $(ARGV[2])
    ELSE
        SCI_SENDMSG SCI_GETCURRENTPOS
        SCI_SENDMSG SCI_GETCOLUMN $(MSG_RESULT)
        SET LOCAL COLUMN = $(MSG_RESULT)
    ENDIF
    
    // Set to multiedge mode (2363) (3)
    SCI_SENDMSG SCI_SETEDGEMODE EDGE_MULTILINE
    // Add multiedge (2694)
    SCI_SENDMSG SCI_MULTIEDGEADDLINE $(COLUMN) $(COLOR)
    
    :END
    
    ::MultiedgeClear
    NPP_CONSOLE keep
    // Clear all multiedge (2695)
    SCI_SENDMSG SCI_MULTIEDGECLEARALL
    // Reset to line mode (2363) (1)
    SCI_SENDMSG SCI_SETEDGEMODE EDGE_LINE
    

    Then just call with F6 and select the “Multiedge” or “MultiedgeClear” to remove. You can also call from the NppExec console with:

    \Multiedge [color] [column]

    where color is optional and if not provided will prompt. Color can be an integer color value, not just the shortcuts in the script. Column is the column to put it at; otherwise, the vertical edge is drawn at the current cursor’s column position.



  • @Minkyu-Jung

    I wrote a plugin that can add an arbitrary number of vertical lines to Notepad++ v7.7 and higher. Its name is ExtSettings. You can download it >>> here <<<. It will also be available soon via PluginsAdmin.


Log in to reply