Stata 19 MP with Antigravity IDE

Install Antigravity IDE (VS Code fork) and mirror your VS Code Stata workflow on Ubuntu 24.04-based Linux.

Intermediate Verified Working Updated 7 min read Tested on Linux Mint 22.3 Cinnamon (Ubuntu 24.04 Noble base); also tested on Zorin OS 18.1 Pro Hardware Lenovo ThinkPad L14 Gen 2 (Intel i5-1135G7, 16GB RAM, Intel Iris Xe, 1366x768)

What This Guide Achieves

Antigravity IDE is a VS Code fork — it uses the same config format, same extension system, same task runner. This guide mirrors your working VS Code Stata setup so both editors behave identically.

FeatureStatus
Antigravity IDE installed via tarball at /opt/antigravity-ideVerified
VS Code settings, keybindings, and tasks mirrored verbatimVerified
2 Stata-pipeline extensions installed (no bloat)Verified
Open .do files with Stata syntax highlightingVerified
Ctrl+Enter runs current .do file in Stata GUIVerified
Shift+Enter runs selected Stata code in Stata GUIVerified
Reuses existing stata_run_do.sh and stata_run_selection.shVerified

This guide does not reinstall Stata. Complete the Stata 19 MP Complete Installation and VS Code Integration guide first.


Installing Antigravity IDE

Antigravity IDE is a standalone tarball download.

  1. Download from antigravity.google/product/antigravity-ide (Linux x64 or ARM64).

  2. Extract and install to /opt:

cd ~/Downloads
tar -xzf Antigravity-IDE.tar.gz
sudo mv Antigravity-IDE-x64 /opt/antigravity-ide
sudo ln -s /opt/antigravity-ide/antigravity-ide /usr/local/bin/antigravity-ide
  1. Launch once to initialize config folders:
antigravity-ide

Then close it.


Tested Setup

command -v antigravity-ide
# /usr/local/bin/antigravity-ide

ls -la $(command -v antigravity-ide)
# /usr/local/bin/antigravity-ide -> /opt/antigravity-ide/antigravity-ide

Config paths:

~/.config/Antigravity IDE/User/     → settings.json, keybindings.json, tasks.json
~/.antigravity-ide/extensions/      → only 2 extensions (stata-enhanced, multi-command)

Note the space in Antigravity IDE — Antigravity IDE creates its config folder with a space, not a hyphen. ~/.config/Antigravity-IDE/ (hyphen) does not exist.

The working settings.json on the tested system:

{
    "claudeCode.preferredLocation": "panel",
    "editor.minimap.enabled": false,
    "workbench.settings.applyToAllProfiles": [],
    "redhat.telemetry.enabled": true,
    "python.analysis.typeCheckingMode": "standard",
    "chat.viewSessions.orientation": "stacked"
}

The above is the resulting Antigravity IDE settings.json after copying from VS Code and having the IDE automatically strip keys that reference extensions not present in Antigravity IDE (e.g., yaml.schemas pointing to a VS Code extension, workbench.iconTheme for an extension you didn’t copy). Copy VS Code’s settings.json verbatim — Antigravity IDE will ignore unknown keys gracefully.


Prerequisites

RequirementVerify
Stata 19 MP installedls /usr/local/stata19/xstata-mp
X11/Xorg sessionecho $XDG_SESSION_TYPE prints x11
Automation toolswhich wmctrl xdotool xclip
Runner scriptswhich stata_run_do.sh and which stata_run_selection.sh
Antigravity IDE installedcommand -v antigravity-ide
sudo apt install wmctrl xdotool xclip

Mirroring VS Code to Antigravity IDE

Since Antigravity IDE is a VS Code fork, copy config files verbatim. Only copy the 2 extensions needed for the Stata pipeline — copying all VS Code extensions causes errors from incompatible or missing dependencies.

1. Copy VS Code config files

cp ~/.config/Code/User/settings.json    ~/.config/Antigravity\ IDE/User/settings.json
cp ~/.config/Code/User/keybindings.json ~/.config/Antigravity\ IDE/User/keybindings.json
cp ~/.config/Code/User/tasks.json       ~/.config/Antigravity\ IDE/User/tasks.json

The backslash before the space (Antigravity\ IDE) escapes it in the shell. Alternatively, quote the path: ~/"config/Antigravity IDE/User/settings.json".

2. Copy only the 2 Stata-pipeline extensions

cp -r ~/.vscode/extensions/kylebarron.stata-enhanced-* ~/.antigravity-ide/extensions/
cp -r ~/.vscode/extensions/ryuta46.multi-command-*      ~/.antigravity-ide/extensions/

3. Rebuild extensions.json

python3 << 'PYTHON'
import json, os

ext_dir = os.path.expanduser('~/.antigravity-ide/extensions')
extensions = []

for item in sorted(os.listdir(ext_dir)):
    if item.endswith('.json') or not os.path.isdir(os.path.join(ext_dir, item)):
        continue
    item_path = os.path.join(ext_dir, item)

    parts = item.rsplit('-', 1)
    if len(parts) == 2 and parts[1].replace('.', '').isdigit():
        ext_id, version = parts[0], parts[1]
    else:
        ext_id, version = item, '0.0.0'

    publisher = ext_id.split('.')[0] if '.' in ext_id else 'unknown'

    extensions.append({
        "identifier": {"id": ext_id, "uuid": None},
        "version": version,
        "location": {"$mid": 1, "path": item_path, "scheme": "file"},
        "relativeLocation": item,
        "metadata": {
            "installedTimestamp": 1716570000000,
            "pinned": False, "source": "gallery", "id": None,
            "publisherId": publisher,
            "publisherDisplayName": publisher,
            "targetPlatform": "undefined",
            "updated": False, "private": False,
            "isPreReleaseVersion": False,
            "hasPreReleaseVersion": False,
            "preRelease": False
        }
    })

with open(os.path.join(ext_dir, 'extensions.json'), 'w') as f:
    json.dump(extensions, f, indent=2)

print(f'Registered {len(extensions)} extensions')
PYTHON

Expected output:

Registered 2 extensions

How It Works

KeybindingWhat Happens
Ctrl+EnterRuns current .do file through stata_run_do.sh
Shift+EnterCopies selection via clipboard, writes to /tmp/stata_selection_run.do, runs in Stata

The scripts live in ~/.local/bin/ and are shared with VS Code. Antigravity IDE uses the same scripts because it mirrors VS Code’s tasks.json verbatim. See the Stata 19 MP Complete guide for the full script contents and how they work.

Note: stata_run_do.sh has EDITOR_WMCLASS="code" which only matters if you uncomment the focus-return lines. To return focus to Antigravity IDE instead of VS Code, change it to EDITOR_WMCLASS="Antigravity-IDE".

File Locations

FilePath
Antigravity IDE binary/opt/antigravity-ide/antigravity-ide
Symlink/usr/local/bin/antigravity-ide
Config directory~/.config/Antigravity IDE/User/
Extensions directory~/.antigravity-ide/extensions/
Desktop file~/.local/share/applications/antigravity-ide.desktop
Whole-file runner (shared)~/.local/bin/stata_run_do.sh
Selection runner (shared)~/.local/bin/stata_run_selection.sh
Temp do-file/tmp/stata_selection_run.do

Verification

ItemValue
Commandantigravity-ide
Binary/opt/antigravity-ide/antigravity-ide
Settings~/.config/Antigravity IDE/User/settings.json (VS Code copy, IDE autotrims unknown keys)
Keybindings~/.config/Antigravity IDE/User/keybindings.json (identical to VS Code)
Tasks~/.config/Antigravity IDE/User/tasks.json (identical to VS Code)
Extensions~/.antigravity-ide/extensions/ (2 extensions only)
Stata extensionkylebarron.stata-enhanced@1.6.1
Multi-commandryuta46.multi-command@1.6.0

Test the Workflow

antigravity-ide /path/to/your/stata/project
TestExpected Result
Open .do fileStata syntax highlighting appears
Press Ctrl+EnterCurrent .do file runs in Stata GUI
Select lines, press Shift+EnterSelection runs in Stata GUI
Code with backticks/globalsRuns correctly via temp .do file

Desktop Launcher

Antigravity IDE does not create a desktop file. Add one:

Get an icon

curl -sL "https://antigravity.google/assets/image/brand/antigravity-icon__full-color.png" -o /opt/antigravity-ide/antigravity-ide.png

Install to hicolor theme

for size in 16 24 32 48 64 128 256; do
    sudo mkdir -p /usr/share/icons/hicolor/${size}x${size}/apps
    sudo cp /opt/antigravity-ide/antigravity-ide.png /usr/share/icons/hicolor/${size}x${size}/apps/antigravity-ide.png
done
sudo gtk-update-icon-cache -f -t /usr/share/icons/hicolor

Create .desktop file

cat > ~/.local/share/applications/antigravity-ide.desktop << 'EOF'
[Desktop Entry]
Version=1.0
Terminal=false
Type=Application
Name=Antigravity IDE
Comment=Google Antigravity IDE (VS Code fork)
Exec=/usr/local/bin/antigravity-ide %F
Icon=antigravity-ide
Categories=Development;IDE;
StartupNotify=true
StartupWMClass=Antigravity-IDE
EOF
chmod +x ~/.local/share/applications/antigravity-ide.desktop
update-desktop-database ~/.local/share/applications

Press Alt+F2, type r, Enter. Antigravity IDE appears under Development.

Verify

desktop-file-validate ~/.local/share/applications/antigravity-ide.desktop
ls /usr/share/icons/hicolor/*/apps/antigravity-ide.png

Antigravity CLI (Replaces Gemini CLI)

Google has transitioned from Gemini CLI to Antigravity CLI. If you previously used gemini, replace it with the Antigravity CLI.

Install

curl -fsSL https://antigravity.google/cli/install.sh | bash

This downloads and installs the antigravity binary to ~/.local/bin/ and adds it to your PATH via ~/.bashrc.

After installation, restart your terminal or run:

source ~/.bashrc

Then verify:

antigravity --version

The binary is currently a staging build — automatic updates are planned. For now, re-run the install script to get the latest version.

Note: Antigravity CLI runs as a daemon by default (keeps your session alive for follow-up commands). If you prefer one-off commands, use antigravity --no-daemon.

Removal

rm -f ~/.local/bin/antigravity
rm -rf ~/.antigravitycli

Troubleshooting

ProblemFix
Ctrl+Enter does nothingVerify tasks.json was copied to the correct directory: diff ~/.config/Code/User/tasks.json ~/'config/Antigravity IDE/User/tasks.json'
Shift+Enter does nothingVerify multi-command extension folder exists in ~/.antigravity-ide/extensions/
No Stata highlightingVerify stata-enhanced extension folder exists
Task opens terminal but not Statawhich stata_run_do.sh stata_run_selection.sh
Stata doesn’t receive pasteecho $XDG_SESSION_TYPE must be x11
Extensions not loadingDelete ~/.antigravity-ide/extensions/extensions.json and rebuild with the Python script
”Unable to read file …/package.json” errorStale extension folders without matching package.json
Config changes don’t take effectWrote to wrong directory (Antigravity-IDE with hyphen)
Config changed but behavior did notWindow needs reload

Removal

sudo rm -rf /opt/antigravity-ide
sudo rm /usr/local/bin/antigravity-ide
rm -f ~/.local/share/applications/antigravity-ide.desktop
update-desktop-database ~/.local/share/applications

Clean user data (optional):

rm -rf ~/.config/Antigravity IDE
rm -rf ~/.antigravity-ide

Discussion