• Login
Community
  • Login

New built-in Plugin Admin (Plugin Manager) is ready

Scheduled Pinned Locked Moved Notepad++ & Plugin Development
117 Posts 22 Posters 94.2k Views
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • D
    dinkumoil
    last edited by dinkumoil Nov 4, 2018, 2:55 PM Nov 4, 2018, 2:52 PM

    @donho

    When digging in PowerEditor/src/MISC/PluginsManager/Notepad_plus_msgs.h I became aware that there is a problem with NPPM_GETPLUGINSCONFIGDIR. Its API documentation is very rudimentary. It is not clear if the function can handle paths longer than MAX_PATH (I guess not) and how it handles buffers with insufficient size.

    Wouldn’t it be good to review the code of this function and possibly change its implementation in a way that it can handle paths longer than MAX_PATH and that it is possible to query the needed file path buffer size? Before you ask me: I’m not able to do that because I’m not a C++ dev.

    1 Reply Last reply Reply Quote 0
    • D
      dinkumoil
      last edited by Nov 4, 2018, 3:21 PM

      @donho
      I’ve seen that you already changed plugin loading behaviour for the next Npp release (commits 7e555b6 , e9a489c and 1132125 ).

      I think it would be a good idea if the installer of the upcoming version would warn users that they can not use all old-style plugins anymore if they continue installation. Otherwise I’m afraid that a lot of angry users will flood the support forum with complains á la “New Npp version is destroying my workflows and productivity!”.

      1 Reply Last reply Reply Quote 1
      • D
        dail
        last edited by Nov 4, 2018, 8:45 PM

        @donho

        I came up with an easier way than re-releasing etc all my plugins for 64 bit…here is the entries for the 64 bit list I would appreciate if you could test to make sure they work since I’m currently unable to test it. Thanks.

        	{
        		"folder-name": "BetterMultiSelection",
        		"display-name": "BetterMultiSelection",
        		"version": "1.3",
        		"id": "e030a73278798df62c9f956f493e2baff1bb1ac8816c6a42e53a12c178ba56bc",
        		"repository": "https://github.com/dail8859/BetterMultiSelection/releases/download/v1.3/BetterMultiSelection_v1.3_x64_PA.zip",
        		"description": "Provides better cursor movements when using multiple selections.",
        		"author": "Justin Dailey",
        		"homepage": "https://github.com/dail8859/BetterMultiSelection"
        	},
        	{
        		"folder-name": "DoxyIt",
        		"display-name": "DoxyIt",
        		"version": "0.4.3",
        		"id": "8b63b3905b595795f263ed81340cf42bfcb0a42e8dabac78872c1bd72cdf59e8",
        		"repository": "https://github.com/dail8859/DoxyIt/releases/download/v0.4.3/DoxyIt_64_PA.zip",
        		"description": "Support for creating Doxygen comments.",
        		"author": "Justin Dailey",
        		"homepage": "https://github.com/dail8859/DoxyIt"
        	},
        	{
        		"folder-name": "ElasticTabstops",
        		"display-name": "ElasticTabstops",
        		"version": "1.3",
        		"id": "c5c9642b0c1b0bb8e59b1922346c3c4f434b29594b2630818eb7b288771e007b",
        		"repository": "https://github.com/dail8859/ElasticTabstops/releases/download/v1.3/ElasticTabstops_64_PA.zip",
        		"description": "Support for Elastic Tabstops.",
        		"author": "Justin Dailey",
        		"homepage": "https://github.com/dail8859/ElasticTabstops"
        	},
        	{
        		"folder-name": "LuaScript",
        		"display-name": "LuaScript",
        		"version": "0.8",
        		"id": "96d4eeafe46fa93434b7e4e70140691048c24cb5e40acba93aa1e10a57b19e7e",
        		"repository": "https://github.com/dail8859/LuaScript/releases/download/v0.8/LuaScript_v0.8_x64_PA.zip",
        		"description": "Adds Lua scripting capabilities. This provides control over all of Scintilla's features and options with a light-weight, fully-functional programming language.",
        		"author": "Justin Dailey",
        		"homepage": "https://github.com/dail8859/LuaScript"
        	},
        	{
        		"folder-name": "SurroundSelection",
        		"display-name": "SurroundSelection",
        		"version": "1.1",
        		"id": "f31a113cf30fdb286fd4d2dc40d2bfe4e66d0c0567dc5384d84e06635aeb8423",
        		"repository": "https://github.com/dail8859/SurroundSelection/releases/download/v1.1/SurroundSelection_64_PA.zip",
        		"description": "Automatically surround the selection in quotes/brackets/parenthesis/etc.",
        		"author": "Justin Dailey",
        		"homepage": "https://github.com/dail8859/SurroundSelection"
        	}
        
        D 1 Reply Last reply Nov 5, 2018, 12:08 AM Reply Quote 0
        • D
          donho @dail
          last edited by Nov 5, 2018, 12:08 AM

          @dail
          64-bit plugins passed. commited and merged.

          D 1 Reply Last reply Nov 5, 2018, 12:27 AM Reply Quote 1
          • D
            dail @donho
            last edited by Nov 5, 2018, 12:27 AM

            @donho said:

            64-bit plugins passed. commited and merged.

            Thanks! Much appreciated.

            1 Reply Last reply Reply Quote 1
            • D
              donho
              last edited by Nov 7, 2018, 12:14 AM

              @dinkumoil said:

              Query full plugin DLL file path by message sent to Npp

              How about “Query full plugins home path by message sent to Npp” ?
              Since there is only one location of plugin from 7.6 version, the plugins home path\pluginUniqueName\pluginUniqueName.dll is full plugin DLL file path.

              1 Reply Last reply Reply Quote 2
              • D
                dinkumoil
                last edited by Nov 7, 2018, 12:40 AM

                @donho said:

                How about “Query full plugins home path by message sent to Npp” ?

                Would be good too and would reduce the parameters to 2 (pointer to buffer and pointer to buffer length), thus no additional struct neccessary. Would be great if you would implement it this way.

                1 Reply Last reply Reply Quote 2
                • D
                  donho
                  last edited by Nov 7, 2018, 1:21 AM

                  @dinkumoil Then it will be:

                  #define NPPM_GETPLUGINHOMEPATH (NPPMSG + 97)
                  // BOOL NPPM_GETPLUGINHOMEPATH (size_t strLen, TCHAR *str)
                  // Get plugin home root path.
                  // where str is the allocated TCHAR array by user,
                  //  strLen is the allocated array size by user
                  // The return value is TRUE when get generic_string operation success
                  // Otherwise (allocated array size is too small) FALSE
                  

                  What do you think ?

                  1 Reply Last reply Reply Quote 1
                  • D
                    dinkumoil
                    last edited by dinkumoil Nov 7, 2018, 8:28 AM Nov 7, 2018, 8:27 AM

                    @donho

                    Better would be:

                    #define NPPM_GETPLUGINHOMEPATH (NPPMSG + 97)
                    // INT NPPM_GETPLUGINHOMEPATH(size_t strLen, TCHAR *pluginRootPath)
                    // Get plugin home root path.
                    // Returns the number of TCHAR copied/to copy.
                    // Users should call it with pluginRootPath be NULL to get the required
                    // number of TCHAR (not including the terminating nul character), allocate
                    // pluginRootPath buffer with the return value + 1, then call it again to
                    // get the path.
                    
                    D 1 Reply Last reply Nov 8, 2018, 1:49 AM Reply Quote 2
                    • D
                      donho @dinkumoil
                      last edited by Nov 8, 2018, 1:49 AM

                      @dinkumoil

                      Done:
                      https://notepad-plus-plus.org/pluginListTestTools/

                      1 Reply Last reply Reply Quote 5
                      • D
                        dinkumoil
                        last edited by Nov 8, 2018, 8:20 AM

                        @donho

                        Thank you, much appreciated!

                        1 Reply Last reply Reply Quote 0
                        • C
                          chcg
                          last edited by Nov 8, 2018, 8:09 PM

                          @donho What do you think about plugin entries regarding we know the plugin, but it could currently not be automatically installed and the user need to do it manually. And later one a hint for installed plugins not known to the PA so the user can report them at https://github.com/notepad-plus-plus/nppPluginList .

                          1 Reply Last reply Reply Quote 0
                          • S
                            SinghRajenM moderator
                            last edited by Nov 9, 2018, 7:06 PM

                            @donho,
                            I have a quick question here.
                            What if there are more that two users on a PC. Only one Admin user and rest are standard users. How PA will work?

                            Consider a case:
                            Admin installed Npp, so will standard or any other user be able to access PA? I feel ‘nppPluginList.dll’ should go to %allusersprofile% instead of %appdata% or can it be kept in %programfiles% itself?

                            1 Reply Last reply Reply Quote 2
                            • K
                              Karl-Heinz Tuchner
                              last edited by Nov 14, 2018, 1:16 PM

                              Have the following problem:
                              Where can I find the plugin admin in v. 7.6? In the menu bar, I find no entry plugins

                              M 1 Reply Last reply Nov 14, 2018, 1:37 PM Reply Quote 0
                              • D
                                dinkumoil
                                last edited by Nov 14, 2018, 1:32 PM

                                @Karl-Heinz-Tuchner said:

                                Where can I find the plugin admin in v. 7.6? In the menu bar.

                                In the german locale there is in the main menu bar an entry Erweiterungen. In its drop down menu you will find an entry Plugin Admin.

                                1 Reply Last reply Reply Quote 1
                                • M
                                  Meta Chuh moderator @Karl-Heinz Tuchner
                                  last edited by Nov 14, 2018, 1:37 PM

                                  @Karl-Heinz-Tuchner

                                  not being able to see plugins or not even the plugin menu normally only happens under the following cases:
                                  you have installed from the installer and selected the installer option “don’t use %APPDATA%” when you installed it
                                  or
                                  you are using the portable release npp.7.6.bin.zip which does not include plugins admin at the moment
                                  or
                                  you have put the portable np++ into the Program Files (x86) folder

                                  could you post your debug info here so we can see how it has been installed ?
                                  (menu bar > ? > debug info > copy debug info to clipboard)

                                  1 Reply Last reply Reply Quote 1
                                  • K
                                    Karl-Heinz Tuchner
                                    last edited by Nov 14, 2018, 2:08 PM

                                    @Meta-Chuh

                                    Here the debug info:

                                    Notepad++ v7.6 (64-bit)
                                    Build time : Nov 13 2018 - 00:12:05
                                    Path : C:\Program Files\Notepad++\notepad++.exe
                                    Admin mode : ON
                                    Local Conf mode : OFF
                                    OS : Windows 10 (64-bit)
                                    Plugins : none

                                    I think I found the mistake.
                                    I used the option “do not use% APPDATA%”.
                                    How can I undo this?

                                    M 1 Reply Last reply Nov 14, 2018, 2:20 PM Reply Quote 1
                                    • M
                                      Meta Chuh moderator @Karl-Heinz Tuchner
                                      last edited by Nov 14, 2018, 2:20 PM

                                      @Karl-Heinz-Tuchner

                                      normally it should be enough to reinstall np++ over the current installation without selecting “do not use% APPDATA%”

                                      but i see something strange in your case:
                                      this option just puts an empty DoLocalConf.xml inside the Notepad++ directory which changes the behavior of np++ if it is present.
                                      but in your log it says “Local Conf mode : OFF” which indicates that DoLocalConf.xml is not present.

                                      maybe you’ll have to uninstall notepad++ completely,
                                      then remove %LOCALAPPDATA%\Notepad++ and %PROGRAMFILES%\Notepad++ before reinstalling
                                      (enter %LOCALAPPDATA% in your explorer adress bar and delete the Notepad++ folder, repeat the same in %PROGRAMFILES%)
                                      and then reinstall np++ 7.6 64 bit

                                      hope this helps

                                      1 Reply Last reply Reply Quote 0
                                      • K
                                        Karl-Heinz Tuchner
                                        last edited by Nov 14, 2018, 3:03 PM

                                        @Meta-Chuh

                                        Now it´s all OK!
                                        Thank you for help!

                                        1 Reply Last reply Reply Quote 1
                                        • C
                                          Chris Hult
                                          last edited by Nov 20, 2018, 10:12 PM

                                          I am also having the problem where I do not see a way to access the Plugin Admin. I do not see any plugin admin in the menu bar. Any help would be much appreciated!

                                          screen print: https://www.screencast.com/t/CBLiIsR7x

                                          Debug Info:
                                          Notepad++ v7.6 (64-bit)
                                          Build time : Nov 13 2018 - 00:12:05
                                          Path : C:\Program Files\Notepad++\notepad++.exe
                                          Admin mode : OFF
                                          Local Conf mode : OFF
                                          OS : Windows 10 (64-bit)
                                          Plugins : none

                                          1 Reply Last reply Reply Quote 1
                                          83 out of 117
                                          • First post
                                            83/117
                                            Last post
                                          The Community of users of the Notepad++ text editor.
                                          Powered by NodeBB | Contributors