Welcome to the DejaOS Debug Plugin for VSCode!
Visual .ui editor (initial framework)
Files ending in .ui are opened with the DejaOS visual editor. Use the command
DejaOS: Create UI File inside a workspace containing app.dxproj, or create a
.ui file manually and open it.
The first format version is JSON and supports view, button, label, and
image nodes. Positions are absolute and relative to the direct parent. The
default canvas is 800 x 1280 and can be changed in the toolbar. Control IDs must
be unique JavaScript identifiers so a future dxui.loadUi() implementation can
expose descendants as properties such as root.view1.button2.
The editor currently provides single and multiple selection, marquee selection,
drag/resize, copy/paste/duplicate/delete, and same-project clipboard sharing
between two open .ui editors. Image and TTF choices are restricted to the
directory containing app.dxproj and its descendants. Image previews retain the
original pixel size and clip overflow from the top-left.
The Webview application is bundled locally with Vue 3 and Moveable; it does not
load scripts from a CDN. Run npm run build:ui after changing src/ui-editor.
Parent changes by dragging, layer reordering, cross-project resource rebasing,
precise TTF rendering, device-model canvas presets, and dxui.loadUi() remain
explicit TODOs.
Plugin Introduction
This plugin is designed for the DejaOS development IDE, mainly to support an IDE environment for embedded firmware development using JavaScript. In addition to basic code synchronization and start/stop capabilities, the plugin offers the following main features:
Main Sidebar Features
- Create New Project: Used to create and build projects, making it easy to manage and organize your development work.
: Downloads components referenced in app.dxproj to the project's dxmodules.
: Builds the project into an upgrade package, saved as .temp/dist.zip.
: Two states: Not connected — click to connect the device; Connected — click to reconnect the device.
: Starts the application. Logs are printed in the terminal window.
: Stops the application.
: Syncs only the changes since the last sync. Fast and efficient.
: Syncs all files and data to ensure complete consistency.
Shortcuts
Ctrl + Shift + T : Quickly runs the full code flow (sync, stop, run). Very convenient and highly recommended!!!
Ctrl + Shift + Y : Executes the run button to run the code.
Ctrl + Shift + U : Executes the stop button to stop the code.
Ctrl + Shift + O : Executes the sync button to sync the code.
Terminal Window
- Logs reported by the application are printed in the
Terminal Output window to help developers track and analyze runtime information.
Problems Solved
The DejaOS debug plugin addresses several issues found in traditional smart device development:
- Developer Customization: Provides powerful tools to define and modify features, enabling developers to easily customize smart device functionality.
- Decoupled Architecture: Through layering and standardization, firmware development is clearly separated from business logic, simplifying the development process.
User Guide
- Install the Plugin: Search for "DejaOS" in VSCode to install.
- Project Management: Create new projects using the plugin or visit the Official Website to download project templates.
- USB Connection: Connect the device via USB.
- Code Synchronization: Use the sync feature to ensure code on the device matches your project.
- Start/Stop Control: Use the status bar buttons to start, stop, or restart the application.
- Log Reporting: View logs in the output window to help track and analyze runtime behavior.
Ecosystem Development
The DejaOS debug plugin is committed to building a robust ecosystem:
- Open Capabilities: Continually expanding customization capabilities for released devices and gradually supporting third-party devices.
- Examples and Resources: Offers rich examples and development resources to help developers implement business logic quickly.
- Documentation and Support: Provides detailed documentation, videos, online forums, WeChat groups, and more to help developers resolve issues.
We welcome you to join the DejaOS debug plugin developer community and help build a more powerful ecosystem. If you have any questions or suggestions, feel free to contact us through the following channels:
Let’s work together to build a smarter, more open development ecosystem for smart devices!