Skip to content

Latest commit

 

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ide-switcher

npm version Homebrew tap

Instantly switch your default IDE for all file extensions. Stop opening .md in the old IDE while .ts opens in the one before that.

Install

Via bunx (recommended — no install required):

bunx ide-switcher

Via Homebrew (macOS / Linux):

brew tap jelias/tap
brew install ide-switcher

Note: To completely uninstall including preferences, run ide-switcher --reset before brew uninstall ide-switcher.

Via npm:

npm install -g ide-switcher

Usage

ide-switcher

Interactive flow — detects installed IDEs, lets you pick one, select file extensions, and applies changes.

ide-switcher cursor           # Skip IDE selection
ide-switcher --list           # See detected IDEs
ide-switcher --dry-run        # Preview without applying
ide-switcher --reset          # Clear saved preferences
ide-switcher --help           # Full usage

How it works

macOS: Uses duti to set file associations via bundle IDs. Installed automatically via Homebrew if missing.

Linux: Uses xdg-mime (part of xdg-utils) to set MIME type defaults via .desktop files.

Supported IDEs

Auto-detected: Cursor, VS Code, Zed, Windsurf, WebStorm, IntelliJ IDEA, PyCharm, GoLand, RubyMine, Rider, CLion, Sublime Text, Nova, BBEdit, Xcode, Fleet, Emacs

Terminal editors (sets $EDITOR / $VISUAL instead): Neovim, Vim, Helix, Nano

Saved preferences

After your first run, preferences are saved to ~/.ide-switcher.json. Your extension selection is pre-checked on subsequent runs. Delete with ide-switcher --reset.

You can also add custom IDEs to the config manually:

{
  "preferredExtensions": [".ts", ".tsx", ".md", ".json"],
  "customIDEs": [
    {
      "name": "My Custom Editor",
      "bundleId": "com.example.editor",
      "cliPath": "/usr/local/bin/myeditor"
    }
  ]
}

Requirements

  • macOS or Linux
  • Bun (for bunx usage)
  • duti on macOS (auto-installed)
  • xdg-utils on Linux (sudo apt install xdg-utils)

License

MIT

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages