CodeShift — AI Code Converter for VS Code
Convert code between programming languages instantly using Claude AI — directly inside your editor.
What it does
Select any block of code, hit Ctrl+Shift+Alt+K, pick your target language, and CodeShift converts it. The result opens in a side panel so you can compare and copy what you need.
No backend, no data collection. Your code goes directly from your editor to the Anthropic API using your own API key.
Supported conversions
| From |
To |
| Python |
TypeScript / JavaScript |
| JavaScript |
TypeScript |
| TypeScript |
JavaScript / Python |
| PHP |
Python |
| COBOL |
Python |
| SQL |
Python (SQLAlchemy) |
More pairs can be added — open an issue or PR.
Installation
Install from the VS Code Marketplace (coming soon)
or install manually: download getcodeshift.vsix from Releases and run:
code --install-extension getcodeshift.vsix
Open VS Code settings and set:
codeshift.apiKey — your Anthropic API key (sk-ant-...)
codeshift.model — Claude model to use (default: claude-sonnet-4-6)
codeshift.licenseKey — your CodeShift license key
On first use you'll be prompted for your license key automatically.
Usage
| Action |
Shortcut |
| Convert selected code |
Ctrl+Shift+Alt+K (Windows/Linux) |
| Convert selected code |
Cmd+Shift+Alt+K (Mac) |
| Via right-click menu |
Right-click → CodeShift: Convert Code |
| Via command palette |
Ctrl+Shift+P → CodeShift: Convert Code |
Models
| Model |
When to use |
claude-haiku-4-5 |
Simple conversions, fastest & cheapest |
claude-sonnet-4-6 |
Recommended — best balance |
claude-opus-4-7 |
Complex legacy code (COBOL, enterprise SQL) |
Project structure
codeshift/
├── src/
│ ├── extension.ts # VS Code entry point, activation & command handler
│ ├── converter.ts # Claude API streaming conversion logic
│ ├── license.ts # Lemon Squeezy license activation & validation
│ ├── ui.ts # Language picker, output panel, prompts
│ └── types.ts # Shared types (SupportedLanguage, ConvertConfig, etc.)
├── test/
│ ├── converter.test.ts
│ └── license.test.ts
├── dist/ # Bundled output (esbuild)
├── esbuild.js # Build config
└── package.json
Development
npm install
npm run build # one-shot build → dist/extension.js
npm run watch # rebuild on change
npm test # vitest unit tests
npm run package # produce getcodeshift.vsix
Requires Node.js 20+.
License
MIT — see LICENSE.