ADITO Standalone ToolsThis VS Code extension takes care of the tools that are needed to deploy ADITO applications, so you never have to download or update them by hand. Once your workspace contains an ADITO project (a Features
Generated
|
| Command | Where | Description |
|---|---|---|
Download all standalone tools |
Command palette | Downloads all configured tools and keeps them up-to-date. |
Show standalone tool information |
Command palette | Shows an overview of the stored tools, their versions, and their storage location in the output channel. |
Start Deployment |
Command palette + status bar | Asks the deploy inputs, prepares the project, and shows the dry run result in the tree view. |
Revalidate DB connections |
Tree view title bar | Refreshes the availability of every cached database connection. |
Deploy selected files |
Tree view (group context menu) | Deploys the changed files of one connection group. |
Collect deployable files again |
Tree view (group context menu) | Reruns the dry run of one connection group with the same connection and options. |
Deploy selected files and Collect deployable files again are tree view actions only (inline buttons and context
menu entries of the group elements). They are hidden from the command palette because they need the
clicked group as their input.
Tasks
The extension contributes tasks under the ADITO Standalone Tools task source: ADITO: Transpile (Full), ADITO: Convert (AOD), ADITO: Convert (YAML), and ADITO: Collect Deployable Files (Dry Run). Run them
from the command palette (Tasks: Run Task) or bind them in tasks.json.
How it works
- You open a workspace that contains a
.aditoprjfolder. - The extension reads its settings and asks the tools webservice which versions of the configured tools are available.
- For every tool whose offered version differs from the stored one (or that is not stored yet), the tool binary is downloaded and stored in the global storage of VS Code.
- The extension logs the result to the ADITO Standalone Tools output channel and repeats steps 2 and 3 whenever the settings change or you run the Download all standalone tools command.
Extension API for other extensions
Other extensions can call the standalone tools and the project model information of the transpile
daemon through a typed API (AditoStandaloneToolsApi): transpile and convert runs, deploy with
availability check and dry run, and the daemon endpoints (daemonStart, onDaemonReady,
resolveModelsViaDaemon, and more). The contract is published as the types-only npm package
@aditosoftware/standalone-tools-api; see docs/EXTENSION_API.md in the extension repository for
how to consume it, what is required, and code examples.
Troubleshooting
If a tool is not downloaded or behaves unexpectedly, there are two places to look:
The output channel
Every download, update, and error is written to the ADITO Standalone Tools output channel. Open
it via View → Output (or Ctrl+Shift+U) and select ADITO Standalone Tools from the dropdown on
the right. You will find there:
- which tools were downloaded and which version each tool has,
- when the tools were last refreshed,
- why a tool was not downloaded (for example, when the webservice has no information about it or the webservice is unreachable).
Alternatively, run the Show standalone tool information command (Ctrl+Shift+P). It opens the
output channel and shows the overview directly.
The global storage
The downloaded tools are stored in the global storage of VS Code, under
adito.adito-standalone-tools:
| Platform | Path |
|---|---|
| Windows | %APPDATA%\Code\User\globalStorage\adito.adito-standalone-tools |
| Linux | ~/.config/Code/User/globalStorage/adito.adito-standalone-tools |
| macOS | ~/Library/Application Support/Code/User/globalStorage/adito.adito-standalone-tools |
Each tool lies there as a single file (transpile.exe on Windows, otherwise under its plain name).
The overview of the Show standalone tool information command shows the exact location on your
machine as well.
Tip: you can open the folder directly from VS Code by running the command
Open Extensions Folder(Ctrl+Shift+P). The global storage is a sibling of theextensionsfolder.
If the output channel shows a download error and the tool is missing in the global storage, the download failed. Check the error message in the output channel (for example, an unreachable webservice or a checksum mismatch) and run Download all standalone tools again once the problem is fixed.
The transpile task stays at "Rendering eligible files into ..."
If a transpile task seems to hang forever with its last visible output line looking like this:
[INFO ] Rendering eligible files into c:\projects\your-project\dist...
the transpile itself is in most cases already finished: check the dist folder of your project
(file dates no longer change), and you will find the output completely written there. What hangs is
the reporting of the task, not the transpile.
The cause is the flood of file events that the freshly written dist folder triggers in VS Code
(watcher and search indexing). When the extension host is busy processing this flood, it never
receives the exit of the transpile process, so the task never reports its completion. The extension
therefore excludes dist from the watcher and the search by default (see
Generated dist folder).
If you still run into it:
- Verify that the
distfolder is really complete (its files stopped changing), so the transpile result is usable even though the task is still shown as running. - Check your workspace or user settings for overrides of
files.watcherExcludeorsearch.excludethat re-includedist(for example"**/dist/**": false) and remove them. - Restart VS Code so that the defaults take effect.