Skip to content

Commit c7e0333

Browse files
authoredNov 21, 2024
Documentation review and updates (#25)
* Documentation updates. Mostly plugin -> plug-in * Update README for the HelloWorld C# example * Update screenshot for Edit Layout * Update doc line-length * Use < and > * Update Switch Executive example README * Mention InstrumentStudio Pro license
1 parent 1bad9b5 commit c7e0333

File tree

7 files changed

+113
-77
lines changed

7 files changed

+113
-77
lines changed
 

‎.github/ISSUE_TEMPLATE/user_story.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,6 @@ title: '(Fully descriptive title)'
55
labels: 'user story,triage'
66
---
77

8-
<!-- Ensure the title can be understood without the parent item's context, e.g. "csharp instrumentstudio plugin example" rather than just "plugin example" -->
8+
<!-- Ensure the title can be understood without the parent item's context, e.g. "csharp instrumentstudio plug-in example" rather than just "plug-in example" -->
99

1010
## User Story

‎README.md

+11-5
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,20 @@
11
# instrumentstudio-plugins
22

3-
The instrumentstudio-plugins repository contains documentation and examples for writing InstrumentStudio plugins.
4-
InstrumentStudio plugins can be written in C# and in LabVIEW.
3+
The instrumentstudio-plugins repository contains documentation and examples for
4+
writing plug-ins for NI [InstrumentStudio](https://www.ni.com/en/shop/electronic-test-instrumentation/application-software-for-electronic-test-and-instrumentation-category/instrumentstudio.html).
5+
InstrumentStudio plug-ins can be written in C#
6+
and in LabVIEW.
7+
8+
**NOTE** : InstrumentStudio plug-ins require the 'InstrumentStudio Professional'
9+
license. [More
10+
information](https://www.ni.com/en/shop/electronic-test-instrumentation/application-software-for-electronic-test-and-instrumentation-category/instrumentstudio/select-edition.html)
511

612
## C# Plugins
713

8-
Documentation and examples for writing C# plugins can be found under the
14+
Documentation and examples for writing C# plug-ins can be found under the
915
[csharp](https://github.com/ni/instrumentstudio-plugins/tree/main/csharp) directory.
1016

11-
## LabVIEW Plugins
17+
## LabVIEW Plug-Ins
1218

13-
Documentation for writing LabVIEW plugins can be found under the
19+
Documentation for writing LabVIEW plug-ins can be found under the
1420
[labview](https://github.com/ni/instrumentstudio-plugins/tree/main/labview) directory.

‎csharp/docs/Creating A CSharp Plugin.md

+27-27
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
# Creating a C# Plugin for InstrumentStudio
1+
# Creating a C# Plug-In for InstrumentStudio
22

3-
This tutorial walks you through creating a simple C# plugin for InstrumentStudio from scratch. This plugin
4-
has minimal functionality and is intended just to get you to a point where your plugin shows up and can
5-
be put into a panel in InstrumentStudio. The plugin has no real functionality - the intent is to get you to
6-
the point where you have a plugin that is building and running correctly as quickly as possible.
3+
This tutorial walks you through creating a simple C# plug-in for InstrumentStudio from scratch. This plug-in
4+
has minimal functionality and is intended just to get you to a point where your plug-in shows up and can
5+
be put into a panel in InstrumentStudio. The plug-in has no real functionality - the intent is to get you to
6+
the point where you have a plug-in that is building and running correctly as quickly as possible.
77

88
## Overview of the steps
99

@@ -15,8 +15,8 @@ the point where you have a plugin that is building and running correctly as quic
1515
- [Implement the `PanelPlugin` Class](#implement-the-panelplugin-class)
1616
- [Implement the `IPanelPluginFactory` Class](#implement-the-ipanelpluginfactory-class)
1717
- [Optional: Delete the Class1.cs file](#optional-delete-the-class1cs-file)
18-
- [Install the plugin](#install-the-plugin-assembly-into-instrumentstudio)
19-
- [Test the plugin](#test-the-plugin)
18+
- [Install the plug-in](#install-the-plug-in-assembly-into-instrumentstudio)
19+
- [Test the plug-in](#test-the-plug-in)
2020

2121
## Install InstrumentStudio
2222

@@ -26,25 +26,25 @@ InstrumentStudio with at least version 22.3.0.383-0+d383.
2626
## Get the .NET SDK
2727

2828
You will need the .NET SDK and its command-line features in order to create the C# project
29-
for the plugin. Install the latest Microsoft .NET 6.0 SDK from [this location](https://dotnet.microsoft.com/en-us/download).
29+
for the plug-in. Install the latest Microsoft .NET 6.0 SDK from [this location](https://dotnet.microsoft.com/en-us/download).
3030

3131
## Create a C# Solution and Project
3232

33-
### Create a folder and a solution to contain your plugin
33+
### Create a Folder and a Solution to contain your Plug-In
3434

3535
For this tutorial, we'll use **c:\myplugin** for this folder. From the command-line in **c:\myplugin**, run this command to create a solution
3636

3737
`dotnet new sln`
3838

39-
### Create a WPF library for the plugin
39+
### Create a WPF Library for the Plug-In
4040

4141
`dotnet new wpflib`
4242

43-
### Add the plugin library to the solution
43+
### Add the Plug-In Library to the Solution
4444

4545
`dotnet sln add .\myplugin.csproj`
4646

47-
Run `dotnet build` to ensure the plugin project is buildable at this point.
47+
Run `dotnet build` to ensure the plug-in project is buildable at this point.
4848

4949
## Add Project References
5050

@@ -79,7 +79,7 @@ Your .csproj file should look something like this:
7979
</Project>
8080
```
8181

82-
Run `dotnet build` to ensure the plugin project is buildable at this point.
82+
Run `dotnet build` to ensure the plug-in project is buildable at this point.
8383

8484
## Add the ParticipatesInComposition Attribute
8585

@@ -94,14 +94,14 @@ using NationalInstruments.Composition;
9494
[assembly: ParticipatesInComposition]
9595
```
9696

97-
Run `dotnet build` to ensure the plugin project is buildable at this point.
97+
Run `dotnet build` to ensure the plug-in project is buildable at this point.
9898

9999
## Implement the `PanelPlugin` Class
100100

101101
Create a new class in the project that inherits from `PanelPlugin`. This is the central class for
102-
the plugin and an instance of it will be returned from the `IPanelPluginFactory` class in the next step.
103-
The `PanelContent` property represents the main UI for your plugin. It can be any WPF [`FrameworkElement`](https://docs.microsoft.com/en-us/dotnet/api/system.windows.frameworkelement?view=windowsdesktop-6.0) - in this example,
104-
we are simply returning a `TextBlock` as the minimal user interface element of our plugin.
102+
the plug-in and an instance of it will be returned from the `IPanelPluginFactory` class in the next step.
103+
The `PanelContent` property represents the main UI for your plug-in. It can be any WPF [`FrameworkElement`](https://docs.microsoft.com/en-us/dotnet/api/system.windows.frameworkelement?view=windowsdesktop-6.0) - in this example,
104+
we are simply returning a `TextBlock` as the minimal user interface element of our plug-in.
105105

106106
```csharp
107107
using NationalInstruments.InstrumentFramework.Plugins;
@@ -122,17 +122,17 @@ namespace NationalInstruments.InstrumentStudio.HelloWorldPlugin
122122
}
123123
```
124124

125-
Run `dotnet build` to ensure the plugin project is buildable at this point.
125+
Run `dotnet build` to ensure the plug-in project is buildable at this point.
126126

127127
## Implement the `IPanelPluginFactory` Class
128128

129129
Create a new class in the project the implements the `IPanelPluginFactory` interface. The key elements here are:
130130

131-
- The class is decorated with the `ExportPanelPlugin` attribute. This tells the framework about the plugin
131+
- The class is decorated with the `ExportPanelPlugin` attribute. This tells the framework about the plug-in
132132
in general terms including its 'DisplayName' and other 'metadata' information.
133133
- The class implements the `IPanelPluginFactory` interface. This interface contains the `CreatePlugin` method.
134134
- The `CreatePlugin` method is called by the framework and returns an instance of your class that inherits from the `PanelPlugin` abstract base class.
135-
- The GroupName and PanelType determine how the plugin appears in the Edit Layout dialog in InstrumentStudio. See the images below.
135+
- The GroupName and PanelType determine how the plug-in appears in the Edit Layout dialog in InstrumentStudio. See the images below.
136136

137137
![GroupName](images/EditLayoutGroupName.png)
138138

@@ -146,8 +146,8 @@ namespace NationalInstruments.InstrumentStudio.HelloWorldPlugin
146146
[ExportPanelPlugin(DisplayName, UniqueName, GroupName, PanelType, SupportedPresentations)]
147147
public class MyPanelPluginFactory : IPanelPluginFactory
148148
{
149-
public const string DisplayName = "My First Plugin";
150-
public const string UniqueName = "NI | CSharpPlugin | My Plugin";
149+
public const string DisplayName = "My First Plug-In";
150+
public const string UniqueName = "NI | CSharpPlugin | My Plug-In";
151151
public const string GroupName = "NI InstrumentStudio";
152152
public const string PanelType = "Example";
153153
public const PanelPresentation SupportedPresentations = PanelPresentation.ConfigurationWithVisualization | PanelPresentation.ConfigurationOnly;
@@ -158,25 +158,25 @@ namespace NationalInstruments.InstrumentStudio.HelloWorldPlugin
158158
}
159159
```
160160

161-
Run `dotnet build` to ensure the plugin project is buildable at this point.
161+
Run `dotnet build` to ensure the plug-in project is buildable at this point.
162162

163163
## Optional: Delete the Class1.cs file
164164

165165
When the library was created, .NET put an initial Class1.cs file into the project directory.
166166
This file is unneeded and can be deleted if you wish.
167167

168-
## Install the plugin assembly into InstrumentStudio
168+
## Install the Plug-In assembly into InstrumentStudio
169169

170170
Copy the myplugin.dll from the built assembly directory (bin\Debug\net6.0-windows) to the Addons folder of InstrumentStudio
171171
(C:\Program Files\National Instruments\InstrumentStudio\Addons). It can be anywhere under this directory including a sub-folder.
172172

173-
## Test the Plugin
173+
## Test the Plug-In
174174

175-
Run InstrumentStudio. NOTE: Relaunch InstrumentStudio if it is already running to detect new plugins. From the lobby screen in InstrumentStudio, click the 'Manual Layout' button. You will see the 'Edit Layout' dialog with your new plugin listed there:
175+
Run InstrumentStudio. NOTE: Relaunch InstrumentStudio if it is already running to detect new plugins. From the lobby screen in InstrumentStudio, click the 'Manual Layout' button. You will see the 'Edit Layout' dialog with your new plug-in listed there:
176176

177177
![Edit Layout Dialog](images/MyPluginEditLayout.png)
178178

179-
Create a large panel for the plugin and click OK. You will see a soft front panel with your plugin UI in it
179+
Create a large panel for the plug-in and click OK. You will see a soft front panel with your plug-in UI in it
180180
similar to this:
181181

182182
![Large Panel](images/MyPluginLargePanel.png)

‎csharp/examples/helloworld/README.md

+34-18
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,59 @@
1-
# Hello World C# InstrumentStudio Plugin
1+
# Hello World C# InstrumentStudio Plug-In
22

3-
This is a minimal example of a C# plugin for InstrumentStudio.
3+
This is a minimal example of a C# plug-in for InstrumentStudio.
44

55
## Dependencies
66

7-
This plugin requires InstrumentStudio 2022 Q3 or later.
7+
This plug-in requires InstrumentStudio 2022 Q3 or later.
88

9-
Building this plugin requires the Microsoft .NET 6.0 SDK. You can download the
10-
latest from [this location](https://dotnet.microsoft.com/en-us/download).
9+
Building this plug-in requires the Microsoft .NET SDK. You can download the
10+
latest from the link below.
11+
12+
| InstrumentStudio Version | .NET SDK Version | Link |
13+
|--------------------------------|------------------------|------|
14+
| 2022 Q3 - 2024 Q3 | 6.0 | [https://dotnet.microsoft.com/en-us/download/dotnet/6.0](https://dotnet.microsoft.com/en-us/download/dotnet/6.0) |
15+
| 2024 Q4 - 2025 Q1 | 8.0 | [https://dotnet.microsoft.com/en-us/download/dotnet/8.0](https://dotnet.microsoft.com/en-us/download/dotnet/8.0) |
16+
17+
You also need to change the `TargetFramework` element in
18+
HelloWorld.NetCore.csproj to match the required .NET SDK Version. For example,
19+
to target InstrumentStudio 2024Q4 or greater, change the .csproj element like
20+
this.
21+
```xml
22+
<TargetFramework>net8.0-windows</TargetFramework>
23+
```
1124

1225
## Building
1326

14-
To build the plugin, run this command from the 'csharp/examples/helloworld' directory:
27+
To build the plug-in, run this command from the 'csharp/examples/helloworld'
28+
directory:
1529

1630
```
1731
dotnet build
1832
```
1933

2034
The default project settings assume that InstrumentStudio is installed in the
21-
default location. If InstrumentStudio is installed in a custom location or is not installed, you
22-
can specify a custom path to the InstrumentStudio assemblies by setting the
23-
`InstrumentStudioDirectory` environment variable or editing the corresponding variable in
24-
`HelloWorld.NetCore.csproj`.
35+
default location. If InstrumentStudio is installed in a custom location or is
36+
not installed, you can specify a custom path to the InstrumentStudio assemblies
37+
by setting the `InstrumentStudioDirectory` environment variable or editing the
38+
corresponding variable in `HelloWorld.NetCore.csproj`.
2539

26-
Building InstrumentStudio C# plugins requires the following assemblies from the
27-
InstrumentStudio directory:
40+
Building InstrumentStudio C# plug-ins requires at least the following assemblies
41+
from the InstrumentStudio installation directory:
2842

2943
- `NationalInstruments.Core.dll`
3044
- `NationalInstruments.InstrumentFramework.Plugins.dll`
3145

32-
## Installation
46+
## Installation of the Plug-In
3347

34-
Copy the built assembly (`NationalInstruments.HelloWorldPlugin.dll`) into the InstrumentStudio `Addons`
35-
directory, which is `C:\Program Files\National Instruments\InstrumentStudio\Addons` by default.
48+
Copy the built assembly (`NationalInstruments.HelloWorldPlugin.dll`) into the
49+
InstrumentStudio `Addons` directory, which is `C:\Program Files\National
50+
Instruments\InstrumentStudio\Addons` by default.
3651

37-
You may optionally install the plugin assembly into a subdirectory of the `Addons` directory
38-
in order to isolate it from other plugins.
52+
You may optionally install the plug-in assembly into a subdirectory of the
53+
`Addons` directory so its contents do not conflict with other plug-ins.
3954

40-
If the plugin is installed correctly, it will appear in the Edit Layout dialog in InstrumentStudio:
55+
If the plug-in is installed correctly, it will appear in the Edit Layout dialog
56+
in InstrumentStudio:
4157

4258
![Hello World In Edit Layout Dialog](images/HelloWorldInEditLayout.png)
4359

Loading

‎csharp/examples/switch-executive/README.md

+23-7
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,33 @@
1-
# Switch Executive InstrumentStudio Plugin
1+
# Switch Executive InstrumentStudio Plug-In
22

3-
This plugin allows users to use Switch Executive to connect/disconnect routes from within InstrumentStudio.
3+
This plug-in allows users to use Switch Executive to connect/disconnect routes from within InstrumentStudio.
44

55
## Dependencies
66

7-
This plugin requires InstrumentStudio 2022 Q3 or later and NI Switch Executive.
7+
This plug-in requires InstrumentStudio 2022 Q3 or later and NI Switch Executive.
88

9-
Building this plugin requires VisualStudio 2022. You cannot build this plugin using `dotnet build`
9+
Building this plug-in requires VisualStudio 2022. You cannot build this plug-in using `dotnet build`
1010
because the .NET Core version of MSBuild does not support resolving COM references.
1111

12+
Building this plug-in requires the Microsoft .NET SDK. You can download the
13+
latest from the link below.
14+
15+
| InstrumentStudio Version | .NET SDK Version | Link |
16+
|--------------------------------|------------------------|------|
17+
| 2022 Q3 - 2024 Q3 | 6.0 | [https://dotnet.microsoft.com/en-us/download/dotnet/6.0](https://dotnet.microsoft.com/en-us/download/dotnet/6.0) |
18+
| 2024 Q4 - 2025 Q1 | 8.0 | [https://dotnet.microsoft.com/en-us/download/dotnet/8.0](https://dotnet.microsoft.com/en-us/download/dotnet/8.0) |
19+
20+
You also need to change the `TargetFramework` element in
21+
SwitchExecutive.Plugin.csproj to match the required .NET SDK Version. For example,
22+
to target InstrumentStudio 2024Q4 or greater, change the .csproj element like
23+
this.
24+
```xml
25+
<TargetFramework>net8.0-windows</TargetFramework>
26+
```
27+
1228
## Building
1329

14-
To build the plugin, do one of the following:
30+
To build the plug-in, do one of the following:
1531
- In VisualStudio, right click on the solution and select `Build`.
1632
- From a command prompt:
1733
- cd to the directory containing `SwitchExecutive.Plugin.sln`.
@@ -31,11 +47,11 @@ the `InstrumentStudioDirectory` and `NISwitchExecutiveDirectory` environment var
3147
Copy the built assembly (`SwitchExecutive.Plugin.dll`) into the InstrumentStudio `Addons`
3248
directory, which is `C:\Program Files\National Instruments\InstrumentStudio\Addons` by default.
3349

34-
You may optionally install the plugin assembly into a subdirectory of the `Addons` directory
50+
You may optionally install the plug-in assembly into a subdirectory of the `Addons` directory
3551
in order to isolate it from other plugins.
3652

3753
See [this forum post](https://forums.ni.com/t5/InstrumentStudio/SwitchExecutive-Hosted-Application/gpm-p/3998692?profile.language=en)
38-
for more details about the Switch Executive plugin.
54+
for more details about the Switch Executive plug-in.
3955

4056
## Testing
4157

+17-19
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
# LabVIEW Plugins In InstrumentStudio
1+
# LabVIEW Plug-Ins In InstrumentStudio
22

3-
## Registering a Plugin
4-
In order to register a plugin, put a .gplugindata into the Addons directory under the InstrumentStudio installation directory. The .gplugindata file is an XML file that tells InstrumentStudio the properties of the plugin and how to find the code that implements it.
3+
## Registering a Plug-In
4+
In order to register a plug-in, put a .gplugindata into the Addons directory under the InstrumentStudio installation directory. The .gplugindata file is an XML file that tells InstrumentStudio the properties of the plug-in and how to find the code that implements it.
55

66
### .gplugindata format
77
The .gplugindata file is an XML file. The easiest way to understand it is to look at an example.
@@ -10,11 +10,11 @@ The .gplugindata file is an XML file. The easiest way to understand it is to loo
1010
<GPluginMetadata xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.ni.com/InstrumentStudio/GPluginMetadata">
1111
<Plugins>
1212
<PluginData
13-
UniqueName="National Instruments|Example G Plugin"
13+
UniqueName="National Instruments|Example G Plug-In"
1414
DisplayName="Example InstrumentStudio 2021"
1515
PanelType="Examples"
1616
GroupName="NI Example Plugins"
17-
VIPath="NI Example G Plugin.vi"
17+
VIPath="NI Example G Plug-In.vi"
1818
SupportedPanelSizes="LargeAndSmall"
1919
ApplicationContext="Unique" />
2020
</Plugins>
@@ -23,16 +23,14 @@ The .gplugindata file is an XML file. The easiest way to understand it is to loo
2323

2424
* The `GPluginMetadata` element is the root element containing all of the data to be registered with InstrumentStudio. You must specify the namespace for the schema as shown in the example above.
2525
* The `Plugins` element contains the list of plugins
26-
* Each `PluginData` element registers a single plugin and lists its properties. Attributes of the plugin are expressed as attributes of the `PluginData` element. The attributes recognized are:
27-
* UniqueName (required) - a unique string identifying this plugin. It should be globally unique across all registered plugins. It is recommended that you use a Guid or some other globally unique identifier which may include the company name to make it unique
28-
* DisplayName (required) - a name that will be displayed to the user for the plugin in all places in InstrumentStudio
29-
* SupportedPanelSizes (required) - set this to "Large", "Small", or "LargeAndSmall" to indicate which size layouts this plugin supports.
26+
* Each `PluginData` element registers a single plug-in and lists its properties. Attributes of the plug-in are expressed as attributes of the `PluginData` element. The attributes recognized are:
27+
* UniqueName (required) - a unique string identifying this plug-in. It should be globally unique across all registered plugins. It is recommended that you use a Guid or some other globally unique identifier which may include the company name to make it unique
28+
* DisplayName (required) - a name that will be displayed to the user for the plug-in in all places in InstrumentStudio
29+
* SupportedPanelSizes (required) - set this to "Large", "Small", or "LargeAndSmall" to indicate which size layouts this plug-in supports.
3030
* GroupName - The name of a group which will appear in the Edit Layout dialog. All plugins with this group name will be shown together in the dialog
31-
* PanelType - A string to categorize this plugin. It can be used to filter plugins (show only plugins of this type) in
31+
* PanelType - A string to categorize this plug-in. It can be used to filter plugins (show only plugins of this type) in
3232
the Edit Layout dialog
33-
* StepTypeName - The name of the step type that will be added to the sequence by the IO Configuration in TestStand. If you do not specify a step type name, the default step will be added by TestStand and the `StepTypeConfigurationPropertyPath` will be ignored.
34-
* StepTypeConfigurationPropertyPath - The property path to a property where TestStand will store the variable property path of the variable that contains the plugin's configuration. This could be the property path to a parameter in the step type that is expecting the configuration.
35-
* VIPath (required) - a path to the top-level VI to load for the plugin. A relative path can be
33+
* VIPath (required) - a path to the top-level VI to load for the plug-in. A relative path can be
3634
specified, in which case the path is considered to be relative to the gplugindata file's location. If culture
3735
specific gplugindata files are installed underneath culture specific folders, the relative path is considered
3836
to be relative to the folder above the culture specific folder.
@@ -42,28 +40,28 @@ The .gplugindata file is an XML file. The easiest way to understand it is to loo
4240
specified, in which case the path is considered to be relative to the gplugindata file's location. If culture
4341
specific gplugindata files are installed underneath culture specific folders, the relative path is considered
4442
to be relative to the folder above the culture specific folder.
45-
* DebuggingEnabled (defaults to false) - Set this to true to make the application context of the plugin visible to LabVIEW as a debuggable context.
43+
* DebuggingEnabled (defaults to false) - Set this to true to make the application context of the plug-in visible to LabVIEW as a debuggable context.
4644
* ReentrantExecutionEnabled (defaults to true) - Set this to false to better support debugging. Currently in LabVIEW 2020 and earlier there are some issues when debugging
4745
a VI that is running reentrantly that might be addressed in a future version of LabVIEW that you can use this setting to workaround, as follows:
4846
* The first issue is that there is no way to get at the reentrant VI from the debug session after it starts running. This generally means you have to save a breakpoint in the source VI before the clone is created and starts running.
4947
* However, the saved breakpoint in the clone also isn't being honored and the clone never breaks.
5048
* Similarly, if you set a breakpoint in a non-reentrant VI called by the clone and then try to step out/up into the reentrant VI, it just steps over and effectively does a resume running command.
5149
* ApplicationContext (required) - This is an enum value that can be either "Project", "Global", or "Unique"
52-
* Project - This allows you to share state between multiple plugins, or multiple instances of a plugin implemented within the same lvproj. If you use this option, you also need to specify the ProjectPath attribute.
50+
* Project - This allows you to share state between multiple plug-ins, or multiple instances of a plug-in implemented within the same lvproj. If you use this option, you also need to specify the ProjectPath attribute.
5351
* Global - This allows you to share state between plugins globally, but there is a greater risk of conflict with plugins from other developers.
54-
* Unique - A unique context will be created for each instance of the plugin. This avoids the risk of the state of your VI conflicting with other plugins or instance of your plugin, but it also makes sharing data between plugins and plugin instances more difficult.
52+
* Unique - A unique context will be created for each instance of the plug-in. This avoids the risk of the state of your VI conflicting with other plugins or instance of your plug-in, but it also makes sharing data between plugins and plug-in instances more difficult.
5553

5654
## Relative Versus Absolute Paths
5755
While there might be some use cases for absolute paths, such as enabling debugging of loose VIs without having to build a source distribution or PPL for it to find all of its
5856
dependencies by setting an absolute path to an installed LabVIEW's vilib folder under the AdditionalVISearchPaths setting, in general you should never ship
59-
a gplugindata file with absolute paths because that makes it harder to make a plugin that can work at any possible install location for InstrumentStudio.
57+
a gplugindata file with absolute paths because that makes it harder to make a plug-in that can work at any possible install location for InstrumentStudio.
6058

61-
## Adding <vilib>, <userlib>, and <instrlib>
59+
## Adding &lt;vilib&gt;, &lt;userlib&gt;, and &lt;instrlib&gt;
6260
Our recommendation is to create lvlibp files or source distributions when distributing your plugins to end users. However, in order to support
6361
using loose, unpackaged VIs during development that can still reference VIs in the LabVIEW IDE's search paths, there is an option on the Preferences
6462
dialog under the Plugins category to automatically include the search paths for these folders if you have the correct version of the LabVIEW IDE
6563
installed. Note that G plugins always use the latest version of the backwards compatible LabVIEW runtime on the machine, so you will need to have
6664
the corresponding version of LabVIEW on your machine to debug VIs and to support this option.
6765

6866
## Troubleshooting
69-
If your plugin doesn't appear in the Edit Layout dialog, ensure the .gplugindata file is under the Addons directory of InstrumentStudio. If there is an error reading this file, InstrumentStudio will display a message box with details about the error.
67+
If your plug-in doesn't appear in the Edit Layout dialog, ensure the .gplugindata file is under the Addons directory of InstrumentStudio. If there is an error reading this file, InstrumentStudio will display a message box with details about the error.

0 commit comments

Comments
 (0)
Please sign in to comment.