Static [[contributes.fileIcons]] entries match file names only, so a plugin could not tell a Helm chart folder, its templates or a Kustomize overlay from any other YAML file or folder. API 1.8 adds decorations.set-file-icon and the batched set-file-icons (up to 10,000 paths per set, requires project.read): a plugin assigns one of its declared file icons to an exact file or plain-folder path, shown in the project tree and editor tabs after the user's own file type icons. Under engines.openidea = "^1.8" a fileIcons entry may omit patterns, for icons used only this way. Both WIT copies, the SDK (host functions and mock), the plugins README and the bundled components are updated. Co-authored-by: dengliu <5108773+dengliu@users.noreply.github.com>
container-runner — API 1.4 example
Put this directory on PATH before installing/granting the plugin, so
process:openidea-example-wrapper resolves to the included executable. Run
Example: Register Container Wrapper in a trusted project. It registers a
project run target, opens a keyed terminal, writes an Output channel and sets
a window status item. The owned terminal-exited event updates that window.
Disable withdraws the target; terminal/output lifetimes follow the host rules.
The fake wrapper just executes argv locally and exits its demo terminal.
To adapt it to DDEV, declare process:ddev, change program to ddev,
args to ["exec"], and use command overrides such as
("composer", ["composer"]). For Lando declare process:lando and supply its
CLI's command prefixes. Only approved executables run; selecting one in
Settings › Plugins reapproves/pins it. No shell command strings are evaluated.
For mapped working directories set container_root and workdir_args using
your wrapper's documented argv convention (for example --cwd {cwd}), or let
the wrapper manage cwd. Environment forwarding also belongs to that wrapper.
Build from the repository root:
plugins/build.sh official/container-runner
cargo test --manifest-path plugins/official/container-runner/Cargo.toml
cargo run -p ide-host --bin openidea-plugin -- check plugins/official/container-runner
Install the built package folder through Settings › Plugins › Install from Disk. See the plugin guide and official/community policy.
On Windows, supply an equivalent approved executable; the included demo script requires a POSIX shell. The host API itself is cross-platform.