Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>Cybus Connectware Extension (Beta)New to Visual Studio Code? Get it now.
Cybus Connectware Extension (Beta)

Cybus Connectware Extension (Beta)

Cybus GmbH

|
10 installs
| (2) | Free
YAML Language Support by Cybus, with built-in Cybus Connectware Service Commissioning files syntax support
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Cybus Connectware Extension (Beta)

YAML language support with built-in validation for Cybus Connectware Service Commissioning Files

Demo

✨ Key Features

Feature Description
🔍 Validation Real-time schema and syntax checking — errors appear in the Problems panel
💡 Autocomplete Context-aware suggestions for YAML elements and attributes Windows Linux: Ctrl+Space, Mac: Option+Esc
📖 Hover Documentation Instant descriptions with links to official Cybus docs
📝 Snippets Ready-to-use templates for common configurations

🚀 Getting Started

  1. Install from the VS Code Marketplace
  2. Open any .scf.yaml or .cw.yaml file
  3. Start typing — autocomplete and validation work automatically

⌨️ Keyboard Shortcuts

Action Windows / Linux Mac
Trigger autocomplete Ctrl+Space Option+Esc
Open Command Palette Ctrl+Shift+P Cmd+Shift+P
Quick Fix Ctrl+. Cmd+.
Open Problems panel Ctrl+Shift+M Cmd+Shift+M
Show hover info Ctrl+K Ctrl+I Cmd+K Cmd+I

📝 Snippets

Type these prefixes and trigger autocomplete:

Service Templates — template:<protocol>:<type>:<action> | Prefix | Description | |--------|-------------| | template:opcua:bridge:read | OPC UA read bridge | | template:modbus:bridge:read | Modbus read bridge | | template:s7:bridge:read-write | S7 read/write bridge | | template:mqtt:bridge:publisher-tls | MQTT TLS publisher | | template:influxdb:app:deploy | InfluxDB deployment | | template:grafana:app:deploy | Grafana deployment |

Resource Snippets — snippet:<protocol>:resource:<type> | Prefix | Description | |--------|-------------| | snippet:opcua:resource:connection | OPC UA connection | | snippet:modbus:resource:connection | Modbus connection | | snippet:mqtt:resource:endpoint-subscribe | MQTT subscribe endpoint |

💡 Type template: or snippet: and browse all options with autocomplete.

💡 Tips & Tricks

Reference Resources with !ref

connection: !ref myOpcuaConnection

String Substitution with !sub

topic: !sub 'devices/${deviceId}/data'

Get Object Examples (not just properties)

Position your cursor after a space following the colon, then trigger autocomplete:

Examples:

Anyobject: # ← cursor here, then Ctrl+Space → shows full object examples

Properties:

Anyobject:
    # ← cursor here, then Ctrl+Space → shows availabe object properties

🎯 Best Practices: Recommended Workflow

The fastest way to create a Connectware service is to start from a template and customize it.

Step-by-Step Workflow

1. CREATE       →  2. CUSTOMIZE     →  3. VALIDATE      →  4. DEPLOY
Start from         Add/remove          Fix errors          Upload to
a template         resources           as you go           Connectware

1️⃣ Start with a Template

  1. Create a new file with .scf.yaml extension
  2. Type template: and trigger autocomplete (Ctrl+Space)
  3. Choose a template matching your use case (e.g., template:opcua:bridge:read)
  4. The template includes a complete working example with all required sections

2️⃣ Customize the Service

Remove what you don't need:

  • Delete unused endpoints, mappings, or parameters
  • The linter will flag any broken references

Add new resources:

  • Type snippet: to add individual resources (connections, endpoints, mappings)
  • Use autocomplete inside resources: to see available resource types
  • Reference existing resources with !ref resourceName

Modify values:

  • Update connection parameters (IP addresses, ports, credentials)
  • Adjust endpoint configurations (topics, node IDs, registers)
  • Customize mappings for your data flow

3️⃣ Validate Continuously

  • Watch the Problems panel (Ctrl+Shift+M) for errors
  • Hover over red underlines to see error details
  • Use Quick Fix (Ctrl+.) for suggested corrections
  • Ensure all !ref references point to existing resources

4️⃣ Example: Building an OPC UA to MQTT Bridge

# 1. Started from: template:opcua:bridge:read
# 2. Customized: Changed IP, added second endpoint, modified mapping

description: OPC UA to MQTT Bridge

parameters:
  opcuaHost:
    type: string
    default: '192.168.1.100'      # ← Modified for my PLC

resources:
  opcuaConnection:
    type: Cybus::Connection
    properties:
      protocol: Opcua
      connection:
        host: !ref opcuaHost
        port: 4840

  temperatureEndpoint:              # ← Kept from template
    type: Cybus::Endpoint
    properties:
      protocol: Opcua
      connection: !ref opcuaConnection
      subscribe:
        nodeId: ns=2;s=Temperature

  pressureEndpoint:                 # ← Added using snippet
    type: Cybus::Endpoint
    properties:
      protocol: Opcua
      connection: !ref opcuaConnection
      subscribe:
        nodeId: ns=2;s=Pressure

  temperatureMapping:
    type: Cybus::Mapping
    properties:
      mappings:
        - subscribe:
            endpoint: !ref temperatureEndpoint
          publish:
            topic: 'plant/sensors/temperature'

💡 Pro tip: Keep the template comments initially — they help you understand what each section does. Remove them before deploying.

📁 Supported File Patterns

The extension automatically activates for:

  • *.scf.yaml / *.scf.yml / *.scf
  • *.cw.yaml / *.cw.yml
  • */connectware/scf*/*.yaml

🔒 Privacy

This extension does not collect or transmit any telemetry data.

📬 Feedback & Support

Questions or issues? Contact: support@cybus.io

📄 License

MIT

MIT, See LICENSE for more information.

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