QodeAssist Updater

May 27, 2026 · View on GitHub

Utility for automatically updating the QodeAssist plugin for Qt Creator with automatic version detection and checksum verification.

Installation

# From source
go mod download
go build -o qodeassist-updater

# Or download pre-built binary
# https://github.com/Palm1r/QodeAssistUpdater/releases

Usage

./qodeassist-updater --version        # Show version information
./qodeassist-updater --status         # Check status and available updates
./qodeassist-updater --install        # Install the plugin (latest version)
./qodeassist-updater --update         # Update to latest version
./qodeassist-updater --update --yes   # Update without confirmation (non-interactive)
./qodeassist-updater --remove         # Remove the plugin
./qodeassist-updater --remove --yes   # Remove without confirmation (non-interactive)
./qodeassist-updater --list-versions  # List all available versions (>= 0.5.9)
./qodeassist-updater --help           # Show help

List available versions

You can list all available plugin versions starting from 0.5.9 with their supported Qt Creator versions:

./qodeassist-updater --list-versions

This will display each plugin version along with the Qt Creator versions it supports, for example:

• 0.8.1  → Qt Creator: 16.0.2, 17.0.2, 18.0.0
• 0.8.0  → Qt Creator: 16.0.2, 17.0.2, 18.0.0
• 0.7.1  → Qt Creator: 16.0.2, 17.0.2

Install specific version

You can install or update to a specific plugin version:

./qodeassist-updater --install --plugin-version 0.8.1
./qodeassist-updater --update --plugin-version 0.8.0
# Or with 'v' prefix:
./qodeassist-updater --install --plugin-version v0.8.1

Checksum verification (optional)

./qodeassist-updater --install --checksum abc123...
./qodeassist-updater --update --checksum abc123...
# With specific version:
./qodeassist-updater --install --plugin-version 0.8.1 --checksum abc123...

Updating while Qt Creator is running

When the updater is launched from inside Qt Creator (e.g. via a detached QProcess from the plugin), pass the Qt Creator PID so the updater waits for it to exit before touching plugin files, then optionally relaunches it:

./qodeassist-updater --update --yes \
    --qtc-path /path/to/Qt\ Creator --plugin-path /path/to/plugins \
    --wait-pid <qtc-pid> --restart-qtc
  • --wait-pid <pid> — polls until the process exits before install/update/remove. Required on Windows (the plugin DLL is locked while Qt Creator runs). Recommended on macOS/Linux too — the running instance otherwise keeps the old plugin in memory.
  • --wait-timeout <sec> — how long to wait for the PID to disappear (default 30).
  • --restart-qtc — launch Qt Creator again after a successful install/update.

Non-interactive mode

For automated scripts and CI/CD pipelines, use the --yes or -y flag to skip confirmation prompts:

./qodeassist-updater --update --yes
./qodeassist-updater --remove -y

Custom config path

./qodeassist-updater --config /path/to/config.yaml --update

Running without config.yaml

You can pass paths directly on the command line. When --qtc-path or --plugin-path is given, config.yaml is neither read nor created — any path you omit is auto-detected.

./qodeassist-updater --status --qtc-path ~/qtcreator-19.0.1
./qodeassist-updater --update --qtc-path ~/qtcreator-19.0.1 --plugin-path ~/path/to/plugins

Qt Creator is also auto-detected via the qtcreator executable on PATH, so a standard installation usually needs no paths at all.

Configuration

On first run, config.yaml is created:

qtcreator_path: "/path/to/Qt Creator"
plugin_path: "/path/to/plugins/{qtc_version}/petrmironychev.qodeassist"

Important: Use the {qtc_version} variable in plugin_path — it will be automatically replaced with your Qt Creator version.

You can also use {qtc_version} in qtcreator_path. There it acts as a version wildcard: the updater globs for matching installations and picks the newest one. This is useful for the official Linux installer, which installs into a versioned directory such as ~/qtcreator-19.0.1:

qtcreator_path: "~/qtcreator-{qtc_version}"

Typical plugin paths

  • Linux: ~/.local/share/QtProject/qtcreator/plugins/{qtc_version}/petrmironychev.qodeassist
  • macOS: ~/Library/Application Support/QtProject/Qt Creator/plugins/{qtc_version}/petrmironychev.qodeassist
  • Windows: %APPDATA%\QtProject\qtcreator\plugins\{qtc_version}\petrmironychev.qodeassist

Notes

  • Close Qt Creator before updating
  • Restart Qt Creator after installation/update

License

GPLv3