My question is there code completion for Visual studio like in Netbeans where you cycle the buffer with ctrl+k, when you type something?
There's now a nice extension called Simple Autocomplete which adds one command simpleAutocomplete.next that you can map to a shortcut of your choice.
No, there isn't a similar feature in Visual Studio.
The traditional Visual Studio autocomplete is using intellisense.
When you start typing, intellisense may bring up a drop down with suggestions. In that case you can tab to complete using the current suggestion or use the arrow keys to choose another.
Ctrl-Space (or Alt-Right arrow) will bring up this intellisense menu if it's not up.
I find it does a pretty good job overall.
Some extensions like Resharper or Visual Assist offer their own code completion or other similar features (like Suggestion List for Visual Assist).
I know it's been ages since I asked this question but I found the next best thing to do this. What I would suggest is to use VsVim extension and to use Vim's anyword completion; however, in order for this work, what must be resolved is the keyboard shortcuts that conflict:
Go to "Tools options" in Visual Studio.
Then go to VsVim category(alternatively you can search "VsVim" and
should bring the options) and click keyboard.
As far as I know vim deals with this type of completion with these keys
CTRL+P and CTRL+N so what we do is to let Visual Studio give up
these keybindings and let VsVim deal with it by Selecting from the drop
down of the keys(CTRL+P and CTRL+N) and let it be "Handled by VsVim".
I hope this has helped someone out.
Related
I have a lot of experience as an Intellij developer where the enter key will always insert the first auto-complete suggestion. In visual studio with resharper however, the enter key will create a new line instead of inserting the first intellisense suggestion. Can anyone suggest a way to allow the enter key to replicate the Intellij behavior? I know pressing the tab key behaves as expected by my muscle memory keeps pressing enter without me thinking about it.
Can anyone suggest a way to allow the enter key to replicate the
Intellij behavior? I know pressing the tab key behaves as expected by
my muscle memory keeps pressing enter without me thinking about it.
In your side, you have installed Resharper, so you have two ways to use Intellisense: Visual Studio Intellisense which is the default way for Visual Studio, Resharper Intellisense.
1) If you use Visual Studio Intellisense(make sure you choose Visual Studio by the top menu ReSharper-->Options-->Environment-->Intellisense-->General) and face this issue, please try this:
choose Never add new line on enter by Tools-->Options-->Text Editor-->C#(please choose the corresponding development language)-->Intellisense-->Enter Key Behavior.
2) If you use Resharper Intellisense(make sure you choose Resharper by the top menu ReSharper-->Options-->Environment-->Intellisense-->General), you will not face this issue.
Note: if you face this issue in Resharper Intellisense, l think it is the issue about some changes in Resharper Option.You can try to reset Resharper settings by Resharper-->Manage Options-->Reset all settings.
Hope it could help you.
Just a quick update for the previously posted answer as I noticed the location has changed slightly as of now. I found this option (using Visual Studio Intellisense) under:
Tools menu > Text Editor > C/C++ (or whatever language you are using) > Advanced > IntelliSense section > set Member List Commit Aggressive to True.
When I'm debugging in Visual Studio (up to 2012) and hovering over a variable to explore all the properties, I explicitly need to press the Expanding the Results View will enumerate the IEnumerable button on IEnumerables.
As I am inherintly lazy a superefficient coder I was hoping there was some kind of shortcut, like double clicking or a hotkey. Is there any?
Update
#Alex Essilfie has created a suggestion on Uservoice. Follow this link to vote it up before the VS2013 release!
You could install a commercial extension I created for Visual Studio called OzCode, which enhances the VS debugging experience and replaces Visual Studio's UI for the on-hover DataTip, and since I'm also a super-lazy coder, I decided not to require the user to click a separate button before he/she can expand the "Results View" node.
Another solution, which is not really more efficient but does not require using the mouse, is to hit Shift+F9 (to pop up the QuickWatch window) and then type in "cats,results" and then hit enter.
There may not be a default keyboard shortcut for this in VS, but if you go to Tools/Options then Environment/Keyboard, you can add a shortcut of your own for any command - if you can figure out which one you need...
I was curious if there is/are tools that can be used to embed so the the function name in C# can have a link in order to jump to its definition. In this case no need to right click and select 'go to definition' or F12. I was having hard time explaining what i meant. Hope someone can understand. Thanks a lot.
Ctrl + Left Mouse Button does the trick. Just Ctrl+Click the name of the function.
(assuming you are using Visual Studio with JetBrains ReSharper plugin).
Not sure if I understand what you are after, but ReSharper from JetBrains is an incredibly powerful addin to Visual Studio.
One of the functions is a replacement of the Go to Definition function.
There is an extention in the visual studio gallery which allows Ctrl+Click Navigation
http://visualstudiogallery.msdn.microsoft.com/4b286b9c-4dd5-416b-b143-e31d36dc622b?SRC=VSIDE
In the Delphi IDE, you can hold control and click on a method to jump to its definition. In VS2008, you have to right-click and select "Go To Definition".
I use this function quite often, so I'd really like to get VS to behave like Delphi in this regard - its so much quicker to ctrl+click.
I don't think there's a way to get this working in base VS2008 - am I wrong? Or maybe there's a plugin I could use?
Edit: Click then F12 does work - but isn't really a good solution for me.. It's still way slower than ctrl+click.
I might try AutoHotkey, since I'm already running it for something else.
Edit: AutoHotkey worked for me. Here's my script:
SetTitleMatchMode RegEx
#IfWinActive, .* - Microsoft Visual Studio
^LButton::Send {click}{f12}
Not for Visual Studio 2008, but if you upgrade to Visual Studio 2010, you can use the free
Visual Studio 2010 Pro Power Tools from Microsoft to achieve this.
You could create an Autohotkey script that does that. When you ctrl-click a word, send a doubleclick then a F12.
I don't have AHK handy so I can't try and sketch some code but it should be pretty easy; the AHK recorder should have enough features to let you create it in a point 'n' click fashion and IIRC it is smart enough to let you limit this behaviour to windows of a certain class only.
When you have your script ready just run the script in the background while you code. It takes just an icon in the Notify bar.
Visual Studio 2008 defaults this to F12, but you can set it in Tools | Options | Environment | Keyboard, and change Edit.GoToDefinition - however, I'm not sure how you can get it to CTRL+mouseclick.
Resharper does that but it's not free.
Highly recommended plugin though, most experienced .NET developers use it.
Just a quick note that the following AutoHotkey script works for me in Visual C++ 2010 Express.
SetTitleMatchMode 2
#IfWinActive, Microsoft Visual C++ 2010 Express
^LButton::Send {click}{f12}
I also changed the shortcuts for View.NavigateForward and View.NavigateBackward to Alt+Right/Left Arrow since I am used to Eclipse.
Yes, both Resharper (a must have!) and Productivity Power Tools have this feature.
Interesting quirk, though.
If you just go with the defaults on both tools (if you install both tools) you can experience a frequent double-jump problem (jump to definition from where you first click and then jump again from what your cursor is above upon getting to that first definition) until you turn off one of the Ctrl-Click features of these add-ons.
Put the mouse cursor on the method name or any identifier, and press F12
I'm trying to bind the following shortcut: Ctrl + W to close tabs
How can you customize VS to add/change shortcuts? Also, what are the most useful shortcuts you guys have found?
Tools > Options > (Show all settings), then Environment > Keyboard.
Here, rebind the key “File.Close” to Ctrl+W.
VS 2005/2008 Keybinding posters:
Visual C# 2008 Keybinding Reference
Poster
Visual C# 2005 Keyboard
Shortcut Reference Poster
Visual Basic 2008 Keybinding
Reference Poster
Visual Basic
2005 Keyboard Shortcut Reference
Poster
These don't cover customizations but they're good reference materials and definitely helpful for finding new shortcuts.
I keep a link to Jeff's shortcuts page, and refer to it to learn the shortcuts for all tasks I find myself regularly doing. I also use VisualAssist, and use a lot of:
toggling between .h and .cpp files (yes, I code in C++ :) ) (Alt-o);
going to the definition of something (Alt-g).
Tools > Options > Environment > Keyboard
I find most of them useful TBH!
Commenting, Bookmarking, Incremental Search, etc etc.
The one you want to override by the way is Window.CloseDocumentWindow which defaults to CTRL+F4
Ctrl-Shift-Space shows the syntax/overloads for the current function you are typing parameters for.