Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>NEP Embedded Test System SupportNew to Visual Studio Code? Get it now.
NEP Embedded Test System Support

NEP Embedded Test System Support

NEP AB

|
134 installs
| (0) | Free
Speeds up development of sequence packages for NEP Embedded Test System.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

NEP Embedded Test System Extension for VS Code

A set of features for VS Code that speeds up development of sequence packages for the NEP Embedded Test System.

Sequence File Preview

Much like the built-in Markdown Preview extension, this one previews ETS Sequence Files. The goal is to provide an overview of the sequence file which takes less vertical space than the XML file does.

Preview can be activated automatically (default false), via the Command Palette or by clicking the preview icon in the editor title menu (next to tabs).

Most of the structure of this part of the extension is inspired by (stolen) from vscode-markdown-preview-enhanced. Many improvements can be made.

Sequence File Preview

Jump to Source Line

Jump to source can be achieved by either clicking the step title or by clicking the line number in the gutter.

Jump to source line GIF

Editable Fields

Many fields in the preview are editable. Simply click them to change the value, click outside the field or press Enter / Esc to commit the change.

Editable Fields GIF

Toggle Breakpoint

By clicking in the gutter of the preview, to the left of the line number, breakpoints can be toggled for supported step types.

Toggle Breakpoint GIF

Comments and Dividers

By default, XML comments will be rendered in the preview. This can be disabled in settings.

To logically separate parts of the sequence, use dividers by adding either <!-- divider --> or <!-- separator --> in the Sequence XML File.

Divider

Optional: Automatic Preview and Live Update

If enabled in settings, the Sequence File Preview will open automatically when a supported document is opened. If the source document is modified, the preview is updated in real-time.

Sequence File Module Language Features Support

The extension will parse the package.xml file and download the defined modules from the MyGet feed. If the modules have .XML documentation, language support will be added to the Sequence <Module> tags.

AutoComplete

Auto completion is supported by the Module tag. Start typing in a supported tag or invoke the keyboard shortcut for IntelliSense to get started.

For Module Function the Parameter tags will be inserted automatically if none are already defined. Use the VS Code Command "Insert Module Function Parameters" to overwrite any already defined parameters.

AutoComplete GIF

Hover

Hover defined values in the Module tag to see information from the Module's XML Documentation.

Hover GIF

Diagnostics

If incorrect values are used in the Module tag, the extension will mark these lines with an error. The problems will also appear in the "Problems" pane.

Diagnostics GIF

Snippets

To accelerate the development of new sequence files, a couple of snippets have been added.

This list may be outdated, for an up to date version have a look at snippets/ete-sequence.json in the repository:

Shortcut Description
action Inserts an Action step
measurement Inserts a Measurement step
measurementNumeric Inserts a MeasurementNumeric tag for use in Measurement steps
measurementString Inserts a MeasurementString tag for use in Measurement steps
if Inserts an If step
while Inserts a While step
subsequence Inserts a SubSequence step
parameter Inserts a new Parameter for use with Module Functions or Scripts
scripts Inserts a Scripts tag for use in steps with predefined Pre, Condition, Post, Final tags
stepModule Inserts a Module tag for use in steps
sleep Inserts an Action step with the Utility.Sleep (EngineCoreModule) function predefined
module Inserts a new Module definition (package.xml format)
divider / separator Inserts a divider/separator which produces a horizontal line in the Sequence File Preview
re1-re42 Converts relay number to csvChannel format for use with ETSDriverModule Relay Open/Close functions, e.g. re1 -> 1x1

.csx Embedded Test Engine IntelliSense

The extension will download the latest release (configurable) of the Embedded Test Engine from the MyGet feed and construct an .rsp file which allows the .csx files to have full IntelliSense support for Engine objects.

Requirements

  • C# Extension by Microsoft
  • NEP MyGet Feed has to be added to NuGet
  • (Optional) NEP GitLab NuGet Feed has to be added to NuGet
  • Recommended XML Extension by Red Hat

Known Issues / Bug Fixes ToDo

  • General

    • Running diagnostics on each change is probably not a good idea, change to on open / on save only
  • Sequence File Preview:

    • No indication of error is displayed when parsing fails (sometimes).
    • No proper exception handling which means a mistake in one tag can cause the whole preview to fail.
  • package.xml Parser:

    • Submodules cannot have submodules.
    • No caching implemented, not sure if this is a problem though.
  • Language Features:

    • Support for overloaded methods is very basic, it only checks number of parameters.

Roadmap

Suggestions of features:

  • Language Features
    • Add diagnostics support for package.xml
    • Add support for exported Functions / Conditions / Classes from .csx
    • Globals completion when typing $(
    • Improve support for overloaded methods - match functions based on parameter names and types instead of just parameter count.
    • Fix globals support for Module parameter values
  • Sequence Preview:
    • Reorder steps by drag n drop
    • Collapse / Expand support for even more compact view (table view?)
    • Links for SubSequence steps which opens the referenced XML file
    • Export to PDF
  • Debug support of sequence package in ETE (Some combination of Remote Development and calling ETE Cli?) - Stepping in XML file would be cool!
  • Some kind of helper for the repetetive tasks when writing sequence files (FL)
  • Add some indicator to the statusbar that the extension is active

Development

Start by reading up on the documentation.

Test the extension directly from VS Code by starting the debugger.

Release

Before making a new release, a Personal Access Token needs to be acquired from the NEP Azure DevOps organization. First request an invite to the organzation by an admin (Fredrik Karlsson / Fredrik Larsson), then follow the instructions. Skip the create publisher step and go directly to logging in with vsce login NEP.

To make a new release:

  • Update the version number in package.json
  • Run vsce package to make a new .vsix file.
  • Run vsce publish to publish the extension to the VS Code MarketPlace.
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft