Add option to change Code's window title according to Vim's current mode
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 15.2k
- Forks
- 1.5k
- Avg merge
- 3d 18h
- Merged PRs (30d)
- 6
Description
Is your feature request related to a problem? Please describe.
Actually, yes: Vim is mutually exclusive to AutoHotKey, a decent scripting language for Windows. Among other things, AutoHotKey allows the user to set "hotstrings", or text expansions that are triggered when predefined abbreviations are typed. Virtually all other text-expanding solutions work the same way: the program runs continually and monitors typed keys until a known sequence is typed. When it is, the program hits backspace the amount of letters in the abbreviation and replaces with the expanded text. Example:
::btw::by the way
The above is the syntax to define a hotstring in which when the sequence b t w is typed (3 letters), then the program will quickly hit Backspace 3 times and write "by the way" for you.
A clear and concise description of what the problem is.
So, if the expansion contains keys sensitive to Vim such as r or u, it could potentially lead to a disaster:
:c*:KK::runas /profile /user:Administrador
So when the sequence "KK" is typed, instead of erasing the 2 characters and replacing with "runas /profile /user:Administrador", it will trigger the replace mode (r) and writeover "unas /profile /user...", which is undesired.
AutoHotKey, however, is a powerful program and programming language: it can be set to work contextually, especially when certain windows are active. For instance, if "Notepad" is within the title of the active window, then the expansions can work, but not if the current window contains "Calc" (Windows Calculator). It looks at the window title to determine if it should replace text or not.
In Visual Studio Code's case, the window title can be:
● [Filename] • Untitled-1 - [Working folder] - Visual Studio Code
That way, the AutoHotKey script can contain some lines like this, to check the title of the active window:
#IfWinActive, - Visual Studio Code
::btw::by the way
#IfWinActive
...so that the "btw" abbreviation will only trigger the expansion if the current window contains "- Visual Studio Code" in its title.
Describe the solution you'd like
To be added a simple option to the Vim Extension in VS Code so that the window title, not just the status bar is altered when Vim's modes are changed. Examples:
When in Normal (command) mode:
● [Filename] • Untitled-1 - [Working folder] - Visual Studio Code - COMMAND MODE
When in Insert mode:
● [Filename] • Untitled-1 - [Working folder] - Visual Studio Code - INSERT MODE
Describe alternatives you've considered
There aren't. A theoretical way would be to have AutoHotKey monitor pixels in a portion of the screen (the status bar), but this is highly unreliable and the involved delay would make it impractical.
Additional context
Here is a screenshot of how the window title could be:

Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the VS Code Vim extension's mode-change handling and its existing status-bar integration. Trace how the extension can affect the VS Code window title, then define the option's behavior for Normal and Insert modes. Done means the configured title suffix changes reliably with the current Vim mode and leaves the existing title intact.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript, vscode
- Domain
- developer-experience, tooling
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100