Skip to content

feat: add Antigravity IDE external editor support - #2189

Open
CuteTechGuy wants to merge 1 commit into
playcanvas:mainfrom
CuteTechGuy:feat/add-antigravity-ide-support
Open

feat: add Antigravity IDE external editor support#2189
CuteTechGuy wants to merge 1 commit into
playcanvas:mainfrom
CuteTechGuy:feat/add-antigravity-ide-support

Conversation

@CuteTechGuy

@CuteTechGuy CuteTechGuy commented Jul 30, 2026

Copy link
Copy Markdown

What's Changed

  • Added Antigravity IDE (antigravity-ide:) as an external code editor option alongside VS Code and Cursor.
  • Added Antigravity IDE option to the Code Editor setting dropdown in user settings (editor.codeEditor).
  • Updated assets:idePath handlers to construct antigravity-ide:// protocol URLs for script assets.
  • Added "Edit/View in Antigravity IDE" options to asset context menus and inspector dropdowns.
  • Updated launch error console and toolbar editor dispatchers to handle antigravity-ide.

Checks

Screenshots:

image

@vercel

vercel Bot commented Jul 30, 2026

Copy link
Copy Markdown

@CuteTechGuy is attempting to deploy a commit to the playcanvas Team on Vercel.

A member of the Team first needs to authorize it.

@kpal81xd kpal81xd assigned kpal81xd and CuteTechGuy and unassigned kpal81xd Jul 31, 2026
@vercel

vercel Bot commented Jul 31, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
editor Ready Ready Preview Jul 31, 2026 2:40pm

Request Review

@kpal81xd kpal81xd left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for this, and nice job on the coverage. You found every site that branches on the IDE value: all three assets:idePath registrations, the launch error-console switch and its click handler, the toolbar guard, the settings dropdown, and all four context-menu visibility toggles. I went looking for a missed dispatch site and there isn't one.

Two things need to change before it can work, though, plus one thing I'd like to settle first.

1. The URL scheme is wrong, so the deep link silently does nothing

The setting value is interpolated directly as the protocol scheme, so antigravity-ide produces antigravity-ide://playcanvas.playcanvas/...:

// get asset ide path
editor.method('assets:idePath', (ide: 'cursor' | 'vscode' | 'antigravity-ide', asset?: AssetObserver) => {
const assetPath = asset ? `/asset/${asset.get('id')}` : '';
return `${ide}://playcanvas.playcanvas/project/${config.project.id}${assetPath}`;

Antigravity registers antigravity://, not antigravity-ide:// (its own extension deep links use the bare antigravity:extension/<id> form). An unregistered scheme fails silently in the browser: no error, no IDE, the click just does nothing. Renaming the value to antigravity fixes it, and I've left commit-ready suggestions on every occurrence. I've also suggested dropping "IDE" from the user-visible labels, since the product is just called Antigravity.

Could you verify against a real install before we merge? A screenshot of a script opening at the right line in Antigravity would be ideal. Worth confirming the extension resolves there too: it is published on Open VSX (the registry Antigravity ships with) so it should, but the URL hardcodes the playcanvas.playcanvas identifier and the Open VSX namespace is capitalised, so please sanity-check that the handler actually fires rather than just the IDE coming to the foreground.

2. This needs the paired backend schema change

editor.codeEditor is validated server-side against a fixed set of allowed values, so choosing the new option in the Editor settings panel will be rejected and won't persist. This is the same requirement #1676 carried in its checklist. The context-menu and inspector entries would still work, since those pass the IDE explicitly rather than reading the setting, but the dropdown wouldn't. That change isn't something you can make from this repo, so we'll handle it on our side.

3. Worth settling: this doesn't scale to the next fork

Each new VS Code fork now costs an eight-file change here plus a backend update, and Windsurf, Trae and Kiro are all plausible next requests. Two shapes I'd prefer: hoist the IDE list into a single shared constant with a derived type, so the next addition touches one file instead of eight; or drop the enum entirely in favour of one "custom URL scheme" text field that covers every fork permanently.

To be clear, that isn't a criticism of this PR, which faithfully follows the pattern #1676 established. But I'd rather resolve it before we add a third hardcoded entry. Happy to take either direction here, or to land the rename first and refactor separately. Let me know which you'd prefer.

Comment thread src/editor/inspector/settings-panels/editor.ts
Comment thread src/editor/assets/assets.ts
Comment thread src/launch/assets/assets.ts
Comment thread src/code-editor/assets/assets.ts
Comment thread src/editor/toolbar/toolbar-code-editor.ts
Comment thread src/launch/viewport/viewport-error-console.ts
Comment thread src/launch/viewport/viewport-error-console.ts
Comment thread src/editor/assets/assets-context-menu.ts
Comment thread src/editor/inspector/asset.ts
@CuteTechGuy

CuteTechGuy commented Jul 31, 2026

Copy link
Copy Markdown
Author

Just a quick question, do you use Mac Os or Windows ? With Antigravity 2.0 google split the ide and agent part. Right now there is two different app in Mac OS, Antigravity 2.0(Agent Interface) and Antgiravity IDE. Thats why I used the antigravity-ide: prefix because antigravity: forwards to the agent app and does nothing 😢

@kpal81xd

Copy link
Copy Markdown
Contributor

Just a quick question, do you use Mac Os or Windows ? With Antigravity 2.0 google split the ide and agent part. Right now there is two different app in Mac OS, Antigravity 2.0(Agent Interface) and Antgiravity IDE. Thats why I used the antigravity-ide: prefix because antigravity: forwards to the agent app and does nothing 😢

Ahh thats bad design but yes I see the split - I was wondering where there ide bit was when downloading for Mac :)

@kpal81xd

Copy link
Copy Markdown
Contributor

Once you are ready just request me to review the PR for you @CuteTechGuy

@CuteTechGuy
CuteTechGuy force-pushed the feat/add-antigravity-ide-support branch 2 times, most recently from af9fa03 to 78d7d57 Compare August 2, 2026 14:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants