Skip to content
f19af3a
Compare
Choose a tag to compare
Pre-release
  • Latest release as of 2021 Jan
  • Edited NppPlugin.DllExport.targets to support new Notepad++ plugins dir
  • Update Visual Studio Project Template C#/PluginInfrastructure/DllExport
  • Add wakatime plugin to the list of plugins
  • improved README
  • Updated ScintillaSynchronizer script
  • Updated Demo and ScintillaGateway to use basic int instead of properties
  • Updated Scintilla source files using updated synchronizer script(cs.py)
  • Definition updates using notepad_hfiles_synchronizer
  • Print diagnostic msg when nothing has changed - interface generator python script
  • Fixed problem with the color bits
  • Improved how to install
  • Demo Plugin cleanup
  • x64 fix [ClikeStringArray.cs] + improved Exception Handling
Compare
Choose a tag to compare

The project type (x86 or x64) decides where to copy the plugin and which notepad++ to build for
path has been updated to vs2017

Compare
Choose a tag to compare

More 64bit support thanks to @lipnitsk

More documentation in the readme thanks to @nea

Compare
Choose a tag to compare

Fixing problems when using the plugin pack with 64 bit. See more info on #18

Thanks to Christian Grasser

Compare
Choose a tag to compare
  • A lot of enum definitions from the notepad++ resource.h, preference.h
  • Win32.SendMessage api now accepts uint rather than NppMsg
  • Added A new Gateway NppResource
  • Added more convenience methods to ScintillaGateway
Compare
Choose a tag to compare
  • Added documentation
  • Added notepadgateway functionality
  • Added scintillagateway functionality
Compare
Choose a tag to compare
  • Position class extended with compare and min/max operators
  • bugfix GetSelectionLength()
  • Added a way to easily get ScintillaFactory instances
  • Upgraded to .Net 3.5
  • Added InsertTextAndMoveCursor
  • Uppercased properties of ScNotification to follow C# naming conventions
Compare
Choose a tag to compare
  • Position class extended with compare and min/max operators
  • bugfix GetSelectionLength()
  • Added a way to easily get ScintillaFactory instances
  • Upgraded to .Net 3.5
  • Added InsertTextAndMoveCursor
  • Uppercased properties of ScNotification to follow C# naming conventions
Compare
Choose a tag to compare

Writing plugins for Notepad++ using C#/.Net has never been easier with this new plugin pack.

Highlights

  • Based on UFO's dated plugin pack
  • Upgraded with more than 5000 lines of code - making interaction with Notepad++ and Scintilla less low-level.
  • Interfaces have been introduced so you can not unit test your plugins.
  • Future upgrades of the package is ensured to be simple

The main contribution in this release is the introduction of the classes NotepadPlusPlusGateway and ScintillaGateWay. These gateways provide a much nicer interaction with Notepad++ for the plugin writer.

The old architecture of plugins were something similar to the below picture:

       +-----------+ +-----------+
       | scintilla | | Notepad++ |
       +-----------+ +-----------+
            ^             ^
            |             |
            +-------------+                   
                    |              
               +-----------+ 
               | Win32     |
               +-----------+ 
                    ^
                    |
               +-----------+ 
               | plugin    |
               +-----------+ 

Plugins would interact with a "Win32" lowlevel api to do calls.

The new architecture:
The new one

               +-----------+ +-----------+
               | scintilla | | Notepad++ |
               +-----------+ +-----------+
                    ^             ^
                    |             |
           +---------------------+-------------+                   
           |                 |                 |
 +------------------+ +----------------+ +-----------+ 
 | scintillaGateway | | NotepadGateway | | Win32     |
 +------------------+ +----------------+ +-----------+ 
      ^                     ^                ^        
      |                     |                |        
      +-----------------+--------------------+                   
                        |              
                   +-----------+ 
                   | plugin    |
                   +-----------+ 

So as you can see, you still have access to the low-level stuff as you are used to, while at the same time being able to use the nice gateway classes.

Compare
Choose a tag to compare