right click on a line to set NPL breakpoint there.
code completion support as you type.
right click to NPL goto definition.
mouse over a function to show quick info
custom Documentation/*.xml support in the project folder.
XML documetation
IntelliSense and code completion uses XML files under ${SolutionDir|ProjectDir}/Documentation/ folder. Users can add new XML files for their own applications.
See ${install path}/Documentation for examples.
Solution must be reloaded after adding new XML files.
To automatically generate XML file from a batch of source code files, please install paracraft and run command /docgen.
How to Build
Tested with visual studio 2022.
Use nuget to install dependencies like Microsoft.VisualStudio.* and Microsoft.VSSDK.BuildTools
Build the project
Upload to visual studio marketplace
Customizations
edit extension.vsixmanifest assets to include vspackage (custom command) and mefcomponent (code sense)
edit Documentation/*.xml for predefined functions, make sure they are built included in vsix.
NPLDocs.Instance is a single object that contains API for all documentation XML files.
./CodeSense folder contains platform-independent helper classes for parsing and searching documentations.
Root directory contains async interface for VsPackage like context menu commands and Mef Component like Async QuickInfo and Code completion.
The entry VsPackage defined in NPLForVisualStudioPackage.cs is configured to start when visual studio or solution is opened.