VigIDE - Integrated Development Environment for Embedded Devices
VigIDE is a powerful Visual Studio Code extension designed to streamline the development experience for the VisionG embedded device. It transforms VS Code into a complete remote IDE, integrating seamless file management, code execution, real-time status monitoring, and powerful visual debugging tools, all within your familiar environment.
✨ Features
VigIDE offers a comprehensive suite of tools tailored for embedded development:
🚀 One-Click Connectivity & Management
- Connect to your remote device via SSH with a single click.
- Provides default connection settings for a quick start, with support for custom credentials.
- Automatically initializes the device upon connection, including time synchronization and rogue process cleanup.
🗂️ Remote File Explorer
- Browse the remote device's filesystem directly in the VS Code sidebar.
- Full CRUD functionality: create, rename, and delete files and folders.
- Easily upload/download individual files or entire directories with a visual progress bar.
- Sort your workspace by file name, modification date, or size.
- File-type specific icons and color-coding for better readability.
✍️ Seamless Remote Editing
- Open remote files in VS Code with a simple double-click.
- Files are transparently downloaded to a local temporary cache for a native and fluid editing experience.
- Sync on Save: Just press
Ctrl+S , and your changes are instantly and automatically uploaded back to the device.
👁️ Real-Time Monitoring & Control
- System Stats: View live CPU usage, memory usage, and core temperature of your device in the sidebar.
- Video Stream: Toggle a real-time video stream from the device's camera, displayed in a dedicated panel that scales automatically with the window size.
- Remote Terminal: Open a web-based terminal for direct command-line access to your device.
🎨 Powerful Visual Debugging Toolkit
- Frame Capture & Threshold Tuner: While the video stream is active, capture the current frame with a single click.
- An interactive debugger panel opens, allowing you to adjust LAB color space thresholds in real-time.
- View the original image and the resulting binary mask side-by-side for easy comparison.
- Click on the original image to auto-select a color and generate an initial threshold range.
- Copy the final threshold parameters to your clipboard with one click, ready to be pasted into your computer vision code.
▶️ Remote Code Execution
- Run the currently open Python script directly on the device by clicking the "Play" button in the editor's title bar.
- Stop the running script at any time.
- All script output (
stdout and stderr ) is streamed back to the VS Code "Output" panel in real-time.
🚀 Getting Started
- Install: Search for and install
VigIDE from the VS Code Marketplace.
- Open VigIDE: Click the VigIDE icon in the VS Code Activity Bar on the left.
- Connect to Device:
- Click the "Connect" icon (
🔌 ) at the top of the VigIDE sidebar.
- The extension will first attempt to connect using default credentials (
root@172.32.0.70 ).
- If the default connection fails, you will be prompted to enter the device's IP address, username, and password.
- Start Developing:
- Once connected, the remote file explorer and system stats will be populated.
- Right-click on files or directories in the explorer to access options like Download, Upload, Rename, Delete, etc.
- Double-click a file to open and edit it.
- Click the
Toggle Video Stream item in the sidebar or the camera icon ($(device-camera) ) in the status bar to start/stop the video feed.
- While the video is active, click the
Tune Threshold icon ($(color-mode) ) in the status bar to capture a frame and open the tuner.
📋 Requirements
- Visual Studio Code v1.80.0 or newer.
- An SSH server running on the target remote device.
- (For video streaming) A camera installed on the device, and a script capable of pushing video frames via UDP to the host.
📄 License
This is a proprietary software, copyrighted by Salieri_x (Salierix).
Reproduction, modification, distribution, or commercial use in any form is strictly prohibited without permission. For detailed terms, please refer to the LICENSE.md file in the project root.
| |