IntelliJ Shift Shift Shortcut in Visual Studio (Global Search) - visual-studio

After doing some Java I fell in love with some of IntelliJ's features. Especially the keyboard shortcut SHIFT +SHIFT which lets you jump to any other file.
This is a huge time savesaver. Now that I'm back in VS I really miss that feature when I'm editing code. Is there any way to reproduce this in Visual Studio? Perhaps a plugin of some sort?

It's became possible after the recently VS Code release(1.54.0 or above), you can update keybindings.json with following code:
[
{
"key": "shift shift",
"command": "workbench.action.quickOpen"
},
{
"key": "alt alt",
"command": "workbench.action.quickOpen"
},
{
"key": "ctrl ctrl",
"command": "workbench.action.showCommands"
}
]
Source: https://github.com/microsoft/vscode/issues/5280#issuecomment-767869212
Or install VS Code extension: shift shift

No need for ReSharper since Visual Studio 17 has already implemented a similar feature:
CTRL + T

Not exactly the same (doesn't show the last used/opened tabs), but works to jump to a file (might be VS 2013+ only):
CTRL+, then type your search terms, you can use space for different parts of the file name:
con na ex => ControlNameExplorer
I find it easier to use when disabling the Preview Tab (click on the down arrow at the right of the search box to change settings).
More details here.
EDIT
This shortcut is set when installing ReSharper, but you can manually set it to the command Edit.NavigateTo (Tools > Options > Environment > Keyboard).
EDIT for VS2017
The command is now named Edit.GoToAll. Thanks to Matt for pointing it out.

A few years later and ReSharper now has this feature in the latest version.
It's called Search Everywhere/Go to Type and is triggered with shortcut CTRL + N
https://www.jetbrains.com/help/resharper/Navigation_and_Search__Go_to_Type.html
Extremely useful feature, saves you lots of time and allows you to jump to other files while editing code. Once you try it, using Solution Explorer feels like a waste of time. I got used to it while using IntelliJ IDEA & Android Studio, glad it's now available in Visual Studio via ReSharper.

Not really sure what SHIFT-SHIFT does, does that mean holding down both SHIFT keys and pressing J?
I find I seldom need to goto a file. I put my cursor on a variable or a function, hit F12 and it goes to wherever it is defined, without me needing to remember it. If I press SHIFT-F12 it gives a list of every where it is referenced, again without needing to remember. If I want to go back to where I was at I press CTRL+- (which works in any context). I am quite comfortable with this navigation, and so like you, every time I try something new the first thing I do is try to find out how they implement what I am already used to.

Related

Is there a keyboard shortcut to quickly find and open a file in Visual Studio 2005/2008 like how they do it in TextMate?

Is there a keyboard shortcut to quickly find and open a file in Visual Studio 2005/2008 like how they do it in TextMate?
In textmate Command + T in Textmate brings up something that you can type a few key which would display all relevant files and allow you to quickly select one, Command + T back and forth also allows you to quickly alternate between 2 files most recently used. This is extremely helpful.
I am aware that there is a Ctrl + Alt + ↓ which shows a list of all open documents which is almost there but not quite.
You can hit Ctrl+D to go to the search box, then type >of filename (with autocomplete).
You can also do this and other commands in the command window or the immediate window.
Or, if you don't mind buying, ReSharper has Go to File which I highly recommend. It's Ctrl+Shift+N and it brings up a nice search dialog that supports wildcards and other shortcuts.
Sonic File Finder is a free VS plugin which is basically the same thing, and quite well-loved by most people who install it.
http://www.jens-schaller.de/sonictools/sonicfilefinder/index.htm
I think the best solution is the following
CTRL + , (comma) then type your file/class/method name
I've made an extension that works exactly like Textmate's "go to file" feature: https://github.com/maxt3r/VS-CmdT
If you go to the search box in visual studio and type ">open " and then start typing, autocomplete will come up for all the files in your solution. This is in 2008, not so sure about 2005.
Out of the box in Visual Studio, Ctrl + Tab will toggle between the two most recent files.
Ctrl+Shift+T in Resharper works just like you describe. It provides a text box in which you type the filename and it generates a live list from which you can pick from. Nice features include wildcarding (e.g. Customer*xaml) and matching on camel case filenames (e.g. SVD will match SingleValueDecomposition.cs). At my work, if people use one feature of Resharper, it will be Ctrl+Shift+T.
If you code in C++ rather than C#, then Visual Assist provides some functionality. And in my opinion, works better than Resharper.
Sara Ford has a blog post about this: Did you know... How to open a file in the solution without using either a tool window or a dialog?
All the previous responses are accurate and are mentioned in her post and the comments. In addition, another approach is to launch the command window using CTRL+ALT+A then typing in "of filename" or "open filename" in the same way mentioned for the search field.
#Adam Neal mentioned ReSharper. Another popular tool is CodeRush/Refactor! Pro and it also has a file navigation window that can be launched (and searched) via the CTRL+ALT+F shortcut.

Visual Studio (or resharper) variable and method coloring

Ok, I am not sure what the naming for this is actually called, but I would like to know if the following is possible in Visual Studio.
When I set my cursor on or highlight a variable, or method name, or string... etc, I would like the IDE to highlight all uses of it. So if I highlight variable x, then it highlights all other uses of variable x.
This is done in eclipe and Notepad++, and I have become very fond of that feature, but when I move to VS, I cannot seem to get that functionality.
I know I can use the right click and find definition, also I can use resharper to find all uses, but that is not as easy and intuitive. I am currently using VS2008, but would like it in both 2008 and 2005.
Also, if this is a feature of resharper that I just don't see, that is good too.
Thanks
With Reshaper you can press Shift+Alt+F11 when your cursor is inside a variable to highlight all usages of that variable in that file. (Then ESC to remove the highlighting)
This is not a feature of Visual Studio 2008 or previous versions. It will be a feature of Visual Studio 2010 though.
http://blogs.msdn.com/somasegar/archive/2008/12/19/code-focused-development-in-vs-2010.aspx
With ReSharper, if you're using the IDEA keybindings, use Ctrl+Shift+F7. If you're using the VS keybindings, use Shift+Alt+F11 (like Martin Harris said).
You can find the full map of keybindings here: ReSharper Feature Map
A VS plugin that I use, WholeTomato's Visual Assist X, does this. If the thing being highlighted is a variable, it will even show assignments and reads in different colors.
DevExpress Refactor or Code Rush (I have both, so I'm not sure which) will do this.
Place the cursor on a variable and hit tab; all uses of the variable that are in scope will be highlighted.
In Visual Studio, have the variable selected(you can also select methods etc.), then in the top menu go to Resharper -> Find -> Highlight Usages in File or press Shift + Alt + F11 on the keyboard.
Then if you want you can navigate down trough the usages with Ctrl + Alt + PgDn and upwards with Ctrl + Alt + PgUp.

Search stops working for "Entire Solution"

Somehow Visual Studio search has stopped working for me. Anytime I search "Entire Solution" for some text I get this result:
Find all "[Whatever I was searching for]", Subfolders, Find Results
1, "Entire Solution" No matching text found to look in. Find was
stopped in progress.
Why does it suddenly say "No files were found to look in"?
I've found a number of links on Google that say to press Ctrl + Break or Ctrl + Scroll Lock, but none of them seem to work for me.
I get that problem once in a while. One seemingly nonsensical solution I've found is to click inside the Find Results window (not the Output window). Once the blinking text cursor is visible, hit Ctrl+Break four or five times. This seems to "unblock" whatever causes the problem.
There are reports Ctrl + ScrLk may need to be used instead of Ctrl+Break . If these doesn't work then try Break alone.
Note from Codeguard: I have found an explanation and deterministic solution to this problem
Windows 7 Pro SP1 64-bit, Visual Studio 9.0.30729.1
Didn't Work:
Ctrl + Break
Ctrl + Scroll Lock
Restart of Visual Studio
Worked:
Break (in Find Result 1 & 2) (only pressed once)
Source: Comments in Gordon's link...
Bug source
This is neither Visual Studio nor Windows related bug. In fact, the bug is in your keyboard! Many keyboards from different vendors have been reported to be buggy.
Problem
If you press Ctrl+Break and release Ctrl first, then Break gets stuck on a buggy keyboard. If you ever pressed Ctrl+Break the "wrong" way, you will have this problem with search being interrupted.
Details
According to scan code specifications, Break and Ctrl+Break are special. They send "make" (press) AND "break" (release) scan codes the moment you press Break. They send nothing when you release Break. The buggy keyboard will send the following sequence:
Ctrl "make" scan code
Ctrl+Break "make" scan code
Ctrl "break" scan code
Pause "break" scan code
That is, Ctrl+Break is never released, but instead Pause is released.
Reproduction
You could for example use old good Spy++ from Visual Studio tools. Attach it to anything, for example Windows notepad, and monitor messages (I suggest that you select only keyboard messages). Press Ctrl+Break, releasing Ctrl first. Check the output from Spy++. You will see the sequence I shown in Details section.
I have tried two different keyboards on the same computer. Logitech K120 has the bug while some other Mitsumi keyboard behaves according to specifications and does not have the bug.
If you think about it, it's easy to understand that correct behavior needs special case handling, while buggy behavior is naive. This is why many different keyboards can be buggy.
Solution
Replace your keyboard :)
Workaround
You simply need to press Ctrl+Break, paying attention to releasing Break first. It doesn't matter which application is active.
This bug has been in Visual Studio a long time and it never seems to get fixed.
See this MS Connect item from 2004: http://connect.microsoft.com/VisualStudio/feedback/details/105511/find-in-files-says-no-files-were-found-to-look-in-find-was-stopped
I couldn't believe they still hadn't fixed it in VS2010 - but it's still there :(
The Connect item has been marked as Closed - Won't Fix: https://connect.microsoft.com/VisualStudio/feedback/details/718217/find-was-stopped-in-progress-while-performing-search-in-visual-studio
Ctrl+Break or Ctrl+ScrLk cancel a find operation. Try it. What has happened is that some software layer (presumably Windows) thinks those keys are still being pressed even though they are not. Pressing and releasing them clears the flag.
It could be any of these combinations:
Ctrl+Break
Alt+Break
Break
Ctrl+ScrLk
Remember that you have multiple control and alt keys on your keyboard -- try it with each of them. If it's the right Ctrl key + ScrLk, pressing the left Ctrl is not going to resolve the issue.
Here is the Connect issue which Microsoft closed as "Won't Fix".
If this is a recurring problem for you, there is a Visual Studio extension that suppresses the virtual key that causes the problem.
Ctrl + F and Ctrl + Shift + F have stopped working on Visual Studio 2015 Community Edition.
My friend told me going to:
Tools → Import and Export Settings:
Choose: Reset all settings → Next
Choose: No, just reset settings, overwriting my current settings → Next
Choose: General → Finish
In my case I had a bogus character in the "Look at these file types:" field in the search window.
Removing the character solved the problem.
Visual Studio 2017
Search solution in Visual Studio 2012 is broke. I tested this on three machines, did not work on two. What I found which does work is click on drop down arrow next to search field and select Find all. This is a bit of pain because you have to select drop down every time you search in solution.
I tried all the previous options. They didn't work for me, but reading them made me sure that this is a bug, and I will have to try some unknown ways to get it working. So, I tried a simple file search in Visual Studio 2010 in:
The current document
All the open documents
Both of which worked.
Then I tried Find in Files and woah! It started working.
Unfortunately none of these special key strokes work for me. Only restarting Visual Studio 2010 seems to work for me.
I had the same problem in Visual Studio 2013 (Update 3). None of the key combinations listed previously worked for me. I had *.cs selected in the FileTypes.
To get it working, I changed it to *.*, and then back again to *.cs - now it works.
I have been using Visual Studio 13 without this problem for couple of years now and I started having this issue after applying Update 5 or it could be a weird keys combo pressed by me unknowingly which triggered it, I don't know for sure.
Echelon_Force's solution worked for me. Thanks!
Didn't Work:
Ctrl + Break
Ctrl + Scroll Lock
Worked:
Break (in Find Result 1 & 2 window - Only pressed once)
Happy finding in files!
All of the combinations of Scroll Lock and Break didn't do anything for me. As a workaround, I added the solution directory to the Search Folders (the second ellipsis button), then changed the Look In field to the solution directory. The root problem still exists, but for me, this is functionally the same thing.
(Visual Studio 2013, Windows 8.1, x64)
I was using Visual Studio 2022 (tried with both professional and community, V 17.2.5), my search function was not working in Find in All Files, so I browsed to my solution folder, under .vs\{ProjectName} folder, there is another folder with name FileContentIndex. After closing visual studio and deleting this folder, and restarting vs, seemed to solve my problems, and my Find in All Files started functioning correctly.
I had the same problem as glenneroo today, after updating Visual Studio 2019 to 16.4.3. Found a solution that worked for me here.
Open Find Options and check if there is a (special) character in the Look at these file types text field. If so, remove it.
In Visual Studio 2013 after Update 3, I had the same problem. Before, I could just put ".cs" or ".cshtml" in the Look at these file types: and it would work. But after Update 3 I now have to put ".cs" or ".cshtml" (or whatever file types I want to search in) and it works fine.
This works for me after everything else didn't or worked only sometimes:
Do the search, and while searching, hold CRTL all the time and keep pressing Break.
If you are searching for multiple file types, they must be separated with a ; character, not a space.
This returns the correct results:
*.cs;*.vb;*.js;*.aspx
This returns nothing at all:
*.cs *.vb *.js *.aspx
This isn't the problem the original poster, but for other people who can't figure out why their search isn't working, this could be the reason.
Another late-to-the-party answer, but I found yet another "solution" for this problem.
When it looks as if the Visual Studio app has frozen on search...leave it alone. Don't close it. Don't restart it. Just let it go for about 10-15 minutes and the problem may correct itself, as it did in my specific case. I'm not sure as to why leaving it alone solved the problem, although my wholly uneducated guess is that Visual Studio is building some sort of an index to be able to search files and running into a snag. Once the 10-15 minutes are up and VS completes its search, it seems fine after that.
Probably won't apply to most situations, but what fixed it for me was turning off 'Use Regular Expressions' in the search window. I had previously been using Regular Expressions for some tricky replacements and didn't turn off when finished. I think perhaps it was interpreting part of simple replace text (see below - had some special characters) as the start of an incomplete or malformed regular expression, and so couldn't actually do any matching. Would be nice if it told you!
It only seems to lock-up if I use Ctrl + F (Find in Entire Solution) and never if I use Ctrl + Shift + F (Find in Files).
That Ctrl+Break trick worked for me for years, it's really interesting to finally understand why this happens. With VS2015 I have somewhat related problem with search: my Ctrl+Shift+F simply does not work, this key combination seems to be ignored when I press it. I tried to reinstall even VS 2015 and I still got that same broken behavior.
In case somebody has identical problem, here's what was the reason:
I turns out that for whatever random reason VS2015 shows that "find in files" dialog on another monitor that's attached to my PC. That other monitor is 4K Samsung TV that normally stays "Off" and I have no clue why VS 2015 sends that search dialog box to that monitor. Surprisingly, when I turn on my TV the search dialog moves to the primary monitor on its own!
Ctrl + Break works for Visual Studio 2008
Nothing worked for me. I use also Resharper. So I had to reset my VS key bindings and reapply Resharper shortcuts. Only this got me it working.
Reset current keyboard configuration (Tools | Options | Environment | Keyboard | Reset).
Go to ReSharper | Options | Environment | Keyboard & Menus | "Visual Studio" | Apply Scheme.
I am running Visual Studio 2012 Professional in a Virtual Machine, connecting using rdesktop from a Linux machine.
None of the other suggestions worked, but solved the problem was:
Go to the 'Find and Replace' screen. (ctrl-shift-f in my case)
Enter a search text and choose 'Entire Solution'
Hit 'Find Next', it should find a result.
Hit 'Find All', now works without aborting. (Note, i hit my Mouse really hard and some swearing was involved, too, but I don't think that has any relevance apart from a psychological one :D )
Tried all the solution, but the fixed of mine was I accidently change to another language keyboard on my windows, after I change back to English keyboard, it work, finally I can ctrl + shirt + f
I'm currently using VS2019 16.7.7, and, if I try to find something in the whole solution, VS never finds all the occurrences, sometimes only one, or none.
In some recent release of VS2019 (perhaps 16.5 or 16.6) the old "Find and replace" dialog was replaced by a new "Find in files" dialog, and this new one is failing for me. One solution that worked for me was to disable the new "Find in files" and keep using the old "Find and replace" dialog by checking Use previous Find In Files in Tools > Options > Environment > Preview features.
However, I observed that this was only failing in one of my open Visual Studio instances, so I tried the simple "close VS and open it again", enabled the new "Find in files" functionality, and it started working.
Two possible solutions, in case the simple "close and open again" fails.
The following worked for me. Visual Studio → menu Windows → Reset Window Panel. The resizing of Visual Studio made it to hide the option.
This was one of my biggest problems with Visual Studio. For me (Windows 10, Visual Studio 2015) the find in all files window got locked with a white-out, and guess what, hitting print screen solves it.
This has begun occurring for me with the update to Version 15.8.8 of Visual Studio. None of the above steps worked. There is no error. Just what appears to be a 'stuck' search.
I had recently installed ApexSQL Refactor 2018.03.0331. Uninstalling this did not resolve the issue and does not seems to be the cause. It seems to be related to Version 15.8.8 of Visual Studio update.
I completely uninstalled Visual Studio and reinstalled Version 15.8.8 again. The issue with Ctrl-Shift-F searching the Entire Solution is no longer an issue. Whatever caused the problem does resolve after uninstalling and installing.
I once again installed ApexSQL Refactor 2018.03.0331 and everything still works well.

Can Ctrl+Backspace be made to work in VS2008's Solution Explorer?

I'm working in an ASP.NET MVC Beta 1 project, and I've noticed that if I want to rename a file in the Solution Explorer pane, Ctrl+Backspace does not do what it should (delete the closest "word"), and I get a silly box character and annoyed.
I'm doing this rather a lot as I'm using jTemplates, so rather than train myself out of using this very useful key combination, is there a way to make this function as expected in VS2008?
Probably not. File a bug on connect.microsoft.com, and hope that they fix it in VS 2010.
I'm not sure if this completely works, but if you go to Tools -> Options: Environemt -> Keyboard, you can set up short cuts.
Type "Rename" in the Show commands containing textbox.
Search for "File.Rename"
Put your cursor in the "Press shortcut keys" textbox and press Ctrl+Backspace.
Press Assign and it should take over the shortcut combination.
Hope that works for you.

F6 for compiling?

I have become accustomed to using F6 to compile the current document. A third-party install appears to have turned this function off. (F6 no longer does anything.)
Can anyone tell me how to get it back?
I'm using VS2008
Tools > Options > Keybord
This dialog lets you bind keyboard shortcuts to your heart's content. BTW this is how you bind keyboard shortcuts to custom IDE macros as well.
Thanks. The dialog: Tools > Options > Keybord
Allowed me to set the keyboard back to Visual C# 2005. So far, this seems to be what I wanted.
VMware's integrated debugging tool did this to me too. You can change this back to whatever you want, but every time you restart Visual Studio your keyboard shortcuts will be changed again.
The only way I could fix this was to remove the VMware debugging tools.
Its become a habit for me to use Ctrl + Shift + B to build my solutions. I know this doesnt answer your question, but I thought I would point it out.
Another keyboard shortcut is use constantly is Alt + Shift + F10. It opens the drop menu from the little red square under a change (the autocorrect type thing, I'm not sure what its called, also works for autocorrect in all the MS apps)

Resources