Prerequisites
Before you begin, ensure you have the following installed:- Docker installed and running
- Visual Studio Code
- Dev Containers extension for VS Code
The project uses VS Code Dev Containers to provide a consistent development environment with all necessary dependencies pre-configured.
Getting Started
Reopen in Container
When prompted, click Reopen in Container. If you don’t see the prompt:The Dev Container will automatically run
- Press
F1to open the command palette - Type
Dev Containers: Reopen in Container - Select the command
The container uses the
mcr.microsoft.com/devcontainers/typescript-node:1-22-bookworm image with Node.js 22 and TypeScript pre-installed.npm install after creation to install all dependencies.Start the Development Server
Once the container is built and running, open a terminal in VS Code and start the development server:The development server will start on port 5173.
Development Workflow
Project Structure
The project is organized as follows:src/components/- Vue components for managing subscriptions:SubscriptionManager.vue- Main component for adding/removing object subscriptionsObjectSubscription.vue- Displays and manages subscriptions for a single objectPropertySubscription.vue- Individual property subscription with live value displayPropertyInput.vue- Input component for adding new property subscriptionsResourceInfo.vue- Displays resource-specific information
src/App.vue- Main application componentsrc/main.ts- Application entry pointsrc/liveupdate_tester.py- Python module for autocomplete functionality
Making Changes
Make Your Changes
Edit the source files in the
src/ directory. The Vite development server will automatically reload when you save changes.Test Your Changes
Test your changes in the browser with a running Designer instance. The plugin requires an active Designer session to function properly.
Key Libraries
The project uses the following key dependencies:- @disguise-one/vue-liveupdate - Core library for LiveUpdate functionality
- @disguise-one/designer-pythonapi - Python API integration for Designer
- Vue 3 - Progressive JavaScript framework
- json-editor-vue - JSON editor component for property values
- Vite - Build tool and development server
Hot Module Replacement
The development server uses Vite’s HMR (Hot Module Replacement) to provide instant feedback:- Vue component changes are reflected immediately
- The application state is preserved when possible
- Full page reload occurs only when necessary
Tips for Contributors
- The project uses TypeScript for type safety
- Vue Volar extension is pre-configured in the Dev Container for enhanced Vue 3 support
- Use the browser’s Developer Tools to debug LiveUpdate connections and subscriptions
- Check the console for Python module registration messages