Toggle the case of a selected word: fully uppercase becomes lowercase, fully lowercase becomes uppercase, and mixed-case words are normalized to match the case of their first character.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
CasePilot is a lightweight VS Code extension that toggles the case of a word — the selected word, or the word under your cursor — with a single keyboard shortcut.
Features
Smart case detection — automatically figures out whether a word is fully uppercase, fully lowercase, or mixed case, and applies the right transformation.
Works without selecting text — if nothing is selected, CasePilot operates on the word your cursor is currently inside.
Multi-cursor support — works across all active selections/cursors at once.
One shortcut, zero clicks — bound to Ctrl+P by default.
Right-click menu entry — available from the editor context menu.
Command Palette support — also available as the "Toggle Case" command.
No configuration required — install and go.
Rules
Input word type
Result
Fully UPPERCASE
Converted to lowercase
Fully lowercase
Converted to UPPERCASE
Mixed case
Every character normalized to match the first character's case
Examples
Before
After
Why
HELLO
hello
Fully uppercase → converted to lowercase
hello
HELLO
Fully lowercase → converted to uppercase
HeLLo
HELLO
Mixed case, first letter H is uppercase → whole word upper
hELLo
hello
Mixed case, first letter h is lowercase → whole word lower
tEST
test
Mixed case, first letter lowercase → whole word lower
In action:
Cursor placed inside: WORLD
Press Ctrl+P
Result: world
Selected text: JavaScript
Press Ctrl+P
Result: JAVASCRIPT (first character "J" is uppercase)
Usage
Select a word (or just place the cursor inside one) and press Ctrl+P.
Or right-click in the editor and choose "Toggle Case".
Or run "Toggle Case" from the Command Palette (Ctrl+Shift+P).
Shortcut
Command
Key
casePilot.toggle
Ctrl+P
Note:Ctrl+P is VS Code's default shortcut for Quick Open (jump-to-file). Binding CasePilot to the same key overrides Quick Open while the editor has focus. If you rely on Quick Open, rebind CasePilot via Keyboard Shortcuts (Ctrl+K Ctrl+S) → search casePilot.toggle.
Project structure
src/
casePilot.js - core toggle logic (pure functions, unit-tested)
extension.js - VS Code extension activation & command wiring
test/
casePilot.test.js - test suite for the toggle logic
Changelog
[0.0.4]
Fixed outdated src/caseToggle.js / test/caseToggle.test.js file references in CHANGELOG.md to match the current casePilot.js naming.
[0.0.3]
Renamed src/caseToggle.js → src/casePilot.js and test/caseToggle.test.js → test/casePilot.test.js for naming consistency.
[0.0.2]
Version bump for Marketplace publish (0.0.1 was already taken).
Added Features, Rules, Examples, and Usage sections to the README.
Added extension icon.
[0.0.1] - Initial build
Implemented Task 1: fully uppercase → lowercase.
Implemented Task 2: fully lowercase → uppercase.
Implemented Task 3: mixed case → normalized to first character's case.
Implemented Task 4: packaged as a VS Code extension.
Implemented Task 5: bound to a keyboard shortcut.
Added a persistent test suite (test/casePilot.test.js).
Added .vscodeignore to keep the packaged .vsix lean.
Added category and right-click context menu entry for the command.
See CHANGELOG.md for the full commit-level history.