Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>GCL+ Modern EditorNew to Visual Studio Code? Get it now.
GCL+ Modern Editor

GCL+ Modern Editor

MHC Solutions GmbH

|
1 install
| (0) | Free
Modern Delta Controls GCL+ code editor with EnteliWEB integration
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

GCL+ Enhanced Editor

VS Code extension for editing GCL+ with EnteliWEB legacy integration.

Current State (May 2026)

Implemented and usable:

  • GCL+ syntax highlighting, snippets, hover and completion support
  • EnteliWEB device and object browsing
  • Program download from controllers into local files
  • Program compile validation against EnteliWEB compiler
  • Program run and halt actions from editor title buttons
  • Program object creation on controller through legacy endpoint
  • Local index synchronization for device program files

Partially implemented or pending:

  • Upload code package (placeholder)
  • Generic create object from template (placeholder)
  • Marketplace publication

EnteliWEB Views

The extension contributes two tree views in the activity bar container:

  • Devices

    • Site -> controller -> program objects
    • Controller context actions:
      • Download All Program Files
      • Add Program File
    • View action:
      • Resync Program Indexes
  • EnteliWEB Explorer

    • Site -> controller -> all objects
    • Intended for exploration/inspection

Program Workflow

Download

  • Downloads program objects from selected controller
  • Creates stable local controller folder names with device number prefix
  • Writes local files as:
    • PG_.gcl-p
  • Writes metadata index:
    • devices//objects/program-index.json

Create Program

From Devices tab, Add Program File now:

  1. Creates the remote PG object through:
    • POST /enteliweb/wsbac/createobject
  2. Creates local .gcl-p file
  3. Updates local program-index.json

Compile / Run / Halt

For active .gcl-p file with metadata:

  • Compile uses EnteliWEB compile endpoint and publishes diagnostics into Problems
  • Run/Halt uses EnteliWEB legacy Web UI request flow

Controller targeting is resolved from file metadata in objects/program-index.json, not from folder display names.

Diagnostics Behavior

  • Local lint diagnostics are disabled
  • Diagnostics shown in editor come from EnteliWEB compile response
  • Save-triggered validation is enabled for mapped .gcl-p files

Local Index Sync

Automatic sync:

  • Watches devices/**/*.gcl-p
  • Rebuilds corresponding objects/program-index.json on create/change/delete
  • Ensures objects folder exists when syncing

Manual sync:

  • Devices view title button: Resync Program Indexes

Naming warning:

  • Files not matching PG_Name.gcl-p are skipped from index mapping
  • Warning is shown and details are written to output channel:
    • GCL+ Program Index

Commands

Registered commands:

  • GCL+: Download Objects from Device
  • GCL+: Upload Code Package
  • GCL+: Open GCL+ Settings
  • GCL+: Create Object from Template
  • GCL+: Refresh EnteliWEB Explorer
  • GCL+: Configure EnteliWEB Credentials
  • GCL+: Debug EnteliWEB Name Payload
  • GCL+: Download All Program Files
  • GCL+: Add Program File
  • GCL+: Resync Program Indexes
  • GCL+: Run Program
  • GCL+: Halt Program
  • GCL+: Compile Program

Configuration

Key settings:

  • gclplus.enteliweb.url
  • gclplus.enteliweb.username
  • gclplus.workspace.autoFormat
  • gclplus.diagnostics.enabled

Note: credentials are stored securely via VS Code secret storage when entered via command prompts.

Build

From repository root:

npm install
npm run build

Workspace Layout

Expected local workspace shape:

<workspace>/
    devices/
        <device-folder>/
            PG1_Example.gcl-p
            PG2_Example.gcl-p
            objects/
                program-index.json

Known Gaps

  • Upload code package command is not implemented yet
  • Template object creation command is not implemented yet
  • Legacy node-fetch typing warning may appear in tooling depending on local setup

License

MIT

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft