VSCodeVim / VSCodeVim/Vim

VIM Extension with VS Code - Does not preserve values on SHIFT+I

Open
#8,514 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
15.2k
Forks
1.5k
Avg merge
3d 18h
Merged PRs (30d)
6

Description

Hi, I am posting this issue on behalf of @ahanusa https://github.com/microsoft/vscode/issues/188263. The issue is as follows:


  • VS Code Version: June 2023
  • OS Version: MacOS Ventura (Intel)

Steps to Reproduce:

  1. Install VIM extension installed (vscodevim)
  2. Create and open a C# app
  3. Create a class and a constructor with a single argument, let's call it foo
  4. Inside constructor, type the following line: foo = foo;
  5. Immediately after ending the above line, hit ESC, then SHIFT + I, then type this.
  6. Notice that foo is removed.

All previous versions would preserve foo as this is how VIM is supposed to work.

You can also repro this behavior by performing bulk insert commands (CTRL + V and down arrow to bulk select, followed by SHIFT + I)

Please fix, this is absolutely crippling behavior. Thank you!


Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the behavior in the VS Code Vim extension using the reported C# constructor example on macOS Ventura. Compare ESC, SHIFT+I, and the CTRL+V bulk-insert flow, then verify that typing this. preserves the existing foo value in both cases.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
devtools
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.