Skip to content

feat: Add Antigravity IDE support and Cross-Platform SyncHelper Script - #4

Open
npg418 wants to merge 11 commits into
fabric0de:mainfrom
npg418:main
Open

feat: Add Antigravity IDE support and Cross-Platform SyncHelper Script#4
npg418 wants to merge 11 commits into
fabric0de:mainfrom
npg418:main

Conversation

@npg418

@npg418 npg418 commented Jun 13, 2026

Copy link
Copy Markdown

This PR includes the following features and improvements:

Features

  • Antigravity IDE Support: Added support for Antigravity and Antigravity IDE paths.
  • PowerShell Profile Sync: Added PowerShell profile sync helper for Windows (ProfileSyncHelper).
  • Localization: Implemented ProfileSyncHelper localization support.
  • Profile Extensions: Support syncing profile extensions as objects without location metadata, preserving VS Code's native object format.

Refactoring & Fixes

  • Followed PSUseApprovedVerbs Rule.
  • Reordered Antigravity and AntigravityIDE case statements.
  • Fixed prettier and eslint styling errors.

npg418 added 7 commits June 11, 2026 15:41
- Implement `profile-sync-helper.ps1` based on the existing bash script
- Support detached profile sync and relaunch strategy for Windows environments
- Add EditorType.AntigravityIDE to enum and identity resolution
- Map 'Antigravity IDE' to proper user data directories across platforms (macOS, Windows, Linux)
…ation metadata

Previously, syncing only an array of extension IDs worked fine for the default
profile, but caused errors in custom profiles because VS Code natively expects
an array of objects (with `identifier.id`, etc.) for profile `extensions.json`.

This commit updates the profile extension synchronization to preserve
VS Code's native object format while excluding environment-specific
metadata (such as `location` and `relativeLocation`) from the sync payload.

- `config.ts`: Allow `extensions` to be an array of objects (`any[]`)
- `ConfigReader`: Strip `location` and `relativeLocation` from parsed objects
- `ConfigWriter`: Re-inject existing local location data or reconstruct it dynamically via the `vscode.extensions` API when restoring profiles
- `SyncManager`: Handle extraction of extension IDs from both strings and objects prior to global installation
- Sort imports alphabetically in ProfileSyncHelper.ts
- Break down long lines to resolve prettier warnings
@npg418

npg418 commented Jun 13, 2026

Copy link
Copy Markdown
Author

This PR also solves #3

@npg418
npg418 marked this pull request as draft June 13, 2026 09:09
- Replaced OS-specific shell scripts (.ps1, .sh) with a unified `profile-sync-helper.js` script to resolve Windows PowerShell detached spawning issues.
- Updated `ProfileSyncHelper.ts` to execute the helper script using `process.execPath` with `ELECTRON_RUN_AS_NODE=1`, ensuring reliable and transparent background execution.
- Fixed process detection in the helper script to explicitly exclude its own PID, resolving a timeout bug where the script waited indefinitely for itself to close.
- Fixed the application relaunch sequence by removing the `ELECTRON_RUN_AS_NODE` environment variable before spawning VS Code, ensuring it launches with the standard UI instead of running as a headless Node.js process.
@npg418
npg418 marked this pull request as ready for review June 14, 2026 01:42
@npg418 npg418 changed the title feat: Add Antigravity IDE and PowerShell profile sync, fix profile extensions feat: Add Antigravity IDE support and Cross-Platform SyncHelper Script Jun 14, 2026
@npg418

npg418 commented Jun 14, 2026

Copy link
Copy Markdown
Author

PowerShell scripts have specific behaviors that make them unsuitable for helper scripts on Windows, so I have switched to cross-platform scripts using JS.
Since I do not own a MacOS device, I cannot test the behavior on MacOS, so I would appreciate it if you could verify it.

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.

1 participant