Versions:
VsVim 2.4.0.0
Visual Studio 2015 Update 3
Found similar issue with GoToDefinition years back https://github.com/jaredpar/VsVim/issues/891
btw, GoToDefinition is still working correctly.
@jaredpar Thanks a lot for creating VsVim.
the write command (:w) also does this for me
I have the same issue as @connorjsmith, except it's with every command. The only thing in my .vsvimrc swaps the colon and semicolon keys.
Believe @333fred saw this too. In particular happens when the Go To operation opens a file vs. navigating to one that is already open. Looking into it.
Note that with 2.4.0 this will cause https://github.com/jaredpar/VsVim/issues/1955, so you won't be able to escape visual mode.
Additional info: If I have ReSharper installed, GoToImplementation doesn't enter visual mode.
btw, 2.4.1 fixed the escaping visual mode issue, thanks.
Versions:
VsVim 2.4.1.0
Visual Studio 2015 CE Update 3
Without ReSharper
still, puts VsVim into visual mode
I'm unable to reproduce this with the latest release (2.5.0). Tried a number of scenarios:
If this pops up again can you add the scenario I'm missing here and I'll look into it. Thanks!
@jaredpar I've been dealing with this for a while and wanted to add a few more details. F12 (Go to Definition) is working, but Ctrl+F12 (Go to Implementation, when there is only a single implementation of an interface) still activates visual mode in the next file. I haven't gone through all of the different permutations of how many implementations are defined, same file vs. different file, etc., but based on your comment I thought I'd point out that it's Ctrl+F12 rather than F12.
I looked into the Ctrl+F12 key mentioned by @jakewisse and it does not result in the expected command VSConstants.VSStd97CmdID.GotoDecl, which would be handled correctly, even though it is bound to Edit.GoToDeclaration.
It wasn't easy (because there are a bazillion commands whizzing by), but I found the command for Ctrl+F12 in the debugger (at least for C#):
+ commandGroup {b61e1a20-8c13-49a9-a727-a0ec091647dd} System.Guid
commandId 512 uint
+ variantIn 0x00000000 System.IntPtr
+ keyInput null Vim.KeyInput
kind UserInput Vim.VisualStudio.EditCommandKind
isRawText false bool
The command group is apparently a Rosyln thing and so we can't refer to them because of our ancient VS2010 references. Anyway, I added a special case (aka hard-coded) for this command in #2132.