This project contains core classes to perform actions with method's code, partial classes and load project's configuration.
The namespace provides PackageInfo
class that encapsulates logic for building the correct package structure.
This namespace contains set of classes that help to generate and operate with CSharp code of the Methods.
There are two main classes here:
CSharpCodeItemProvider
provides infromation about allowed code elements that can be processed by the plugin (classes, methods, enums, etc.).CSharpCodeProvider
provides following functionality:- new source code generation.
- code elements extraction within partial class or to a separate file.
- add and remove special attributes (
PartialPathAttribute
,ExternalPathAttribute
) for the code elements.
The class provides possibility to load method templates from the method-config.xml
file and use them for the code generation process.
The namespace contains class structure of the configuration model of a VSMP project. Aras.Method.Libs.Configurations.ProjectConfigurations.ProjectConfiguraiton
is a root class of the configuration. Here is an information about last connections, last user search and data about currently loaded methods in the project.
The Aras.VS.MethodPlugin
is the main project of the solution. Here is an entry poit of the plugin: Aras.VS.MethodPlugin.ArasMainMenuCmdPackage
class where all components and commands are created and initialized.
Provides classes to load data about available methods from Aras Innovator server.
In this namespace you can find classes that are responsible for user authentication. Note, that each method project contains its own IOM.dll
file (for specific Innovator version). The IOM classes are loaded dynamically by Aras.VS.MethodPlugin.IOMWrapper
.
The plugin provides set of the commands that are accessible from main menu, toolbars or context menu of the code editor. All commands are derived from the Aras.VS.MethodPlugin.Commands.CmdBase
class. Another abstract class Aras.VS.MethodPlugin.Commands.AuthenticationCommandBase
represents a base for the commands that require connection to the Aras Innovator.
Implemented commands:
ConnectionInfoCmd
shows 'Connection Info' dialog.CreateCodeItemCmd
creates and places a new file with a new code item (interface, class, etc.). More information More information.CreateMethodCmd
creates new method. More information.DebugMethodCmd
starts debug session for the method. More information.ImportOpenInVSActionCmd
imports 'Open in VS' action to the Aras Innovator. More information.MoveToCmd
moves a code element to the partial class or external file. More information.OpenFromArasCmd
opens method from Aras Innovator. More information.OpenFromPackageCmd
opens method from AML Import package. More information.SaveToArasCmd
saves a method to the Aras Innovator.SaveToPackageCmd
saves a method to the AML Import package.UpdateMethodCmd
updates existing method in a VS project with the latest version from the Aras Innovator.
Provides access to the global configuration file (stored in My Documents
folder).
This namespace contain all UI components of the plugin (Views, View-Models, Controls and Styles).
Contains implementaion of the Aras Innovator search functionality for the Search Dialog window.
Provides classes that support 'Open in VS' action functionality. A method can be opened in an existing or new project. Visual Studio uses custom protocol openinvs
.
The PackageManager
is responsible for getting and updating information about the methods' package elements in 'Package Definitions'.
This folder contains zipped project templates for each supported Aras Innovator version.
The namespace provides following classes to control a solution structure:
ProjectManager
provides possibility to operate with project items (files, documents, etc.), execute commands and control text editor operations.EventListener
controls subscription to the events related to the Visual Studio (project item removed, renamed, selected).
Contains detailed information about plugin's assets and installation.
Defines where buttons or menu items for commands should be placed.
MethodLauncher
project contains special console application that executes compiled Method localy. It is used to start execution process and attach to it Visual Studio to enable debugging session. The applicaiton crate connection to the Aras Innovator, loads a library with the Server Method and calls entry method with appropriate parameters.
MethodLauncherNetCore
is the same application as MethodLauncher
, but it is updated to support .NET Core for Innovator of 14+ versions.