cc ide
Manage IDE writer plugins — list registered writers and run one-time setup for the active workspace.
Usage
cc ide [action] [flags]Arguments
| Argument | Description |
|---|---|
action | One of list, setup. Defaults to list. |
Flags
| Flag | Description |
|---|---|
--path PATH | Override the workspace path (defaults to the active version's path) |
Actions
cc ide list
Shows every registered IDE writer (built-in + plugins) and which ones are active for the current workspace.
$ cc ide list
Registered IDE writers
vscode ● active
cursor ○ inactive
workspace: /Users/jane/odoo/worktrees/17.0A writer is active when:
- the
cc.idesetting isauto(the default) AND the writer'sdetect()returns True for the workspace, OR - the
cc.idesetting explicitly names it (e.g.cc.ide = vscode,cursor)
cc ide setup
Writes one-time editor templates for the active version's path. This is the only legitimate path that touches files like launch.json (for VSCode). cc switch never edits them.
$ cc ide setup
✓ vscode templates written → /Users/jane/odoo/worktrees/17.0Run this:
- After installing cc, once per workspace
- After updating cc — to pick up new template entries in the latest version
- Manually any time you want to re-apply the templates
If cc.ide is set to none or no writer matches, this command exits with a warning.
What gets written
VSCode / Cursor
| File | When | What |
|---|---|---|
.vscode/launch.json | cc ide setup (and only then) | Debug configurations CC: Odoo and CC: Odoo [test], merged with your existing entries |
.vscode/settings.json | Every cc switch | cc.odooBin, cc.port, cc.database, cc.addonsPath, cc.modules, cc.upgradePath, cc.initMode, python.defaultInterpreterPath |
The launch.json entries reference settings.json keys via ${config:cc.X} indirection — so on each switch, the debugger picks up the new database / addons / modules without launch.json itself ever changing.
Examples
# Inspect what's registered + which writers will run on next switch
cc ide list
# Write VSCode/Cursor templates for the active workspace
cc ide setup
# Set up a different workspace explicitly
cc ide setup --path ~/odoo/worktrees/18.0
# Disable IDE integration entirely (terminal-only setup)
cc config # set IDE → None (no editor integration)
# Force a specific writer (skip auto-detection)
cc config # set IDE → CursorPlugin development
Writing your own writer for an editor cc doesn't ship out of the box — see IDE Writers for the interface, discovery mechanism, and a minimal example.
See also
- IDE Writers — concept and plugin authoring
cc switch— invokeswriter.apply()on every switchcc workspace—cc workspace addprompts to runcc ide setupautomatically