Turn off auto-collapsing for VB.NET in Visual Studio? - vb.net

The auto-collapse feature for code properties is neat AFTER you've got your properties all worked out, but while you're still editing them I find the feature to be REALLY annoying.
How can you disable it?
(I'm in VS2008 if it makes a difference)
Edit: I'm not talking about the Property Window... I'm talking about properties in code.
Private _firstName As String
Public Property FirstName() As String Implements IPerson.FirstName
Get
Return _firstName
End Get
Set(ByVal value As String)
_firstName = value
End Set
End Property
displays as
Public Property FirstName()...

From the EDIT menu, choose OUTLINING, STOP OUTLINING. You can also use the keyboard shortcut CTRL+M, CTRL+P.

This seems to be a "feature" of DevX Refactor for VB, which I also find terribly annoying. I found this thread on their forum which provides a couple of suggested solutions:
Add a key to the registry to make the DevExpress menu visible in VS and then go to the options page to disable auto-collapse or
Install a newer version of the add-in (Release 9.1.4 or above) which apparently doesn't behave this way anymore.

The stop outlining option never works for me. Also the Ctrl+M, Ctrl+M option only seems to work if I have the region collapsed highlighted. Ctrl+M, Ctrl+P does nothing for me. I went into options and unchecked the enter Outlining mode, but that didn't do anything either. At one point, when I had VS 2005 (now I have 2008), I managed to turn it off through a regedit hack. Though once I had to re-install VS 2005 and forgot the hack, so I've been living with this ever since. It's ultra annoying when you are looking for something where you are looking for a pattern of code and not the specific words of the code. I don't know why it is, but I do that a lot. Any helpwould be appreciated. Ty.

When the window is open, click on the pin in the upper right hand corner (the middle icon between the X and the down arrow). When you're done, click it again to enable auto hide again.

Related

How to keep IntelliSense Complete Word option off?

IntelliSense has a mode where if you hit the spacebar, it will automatically type out the suggested auto-complete word. In order to prevent this from happening, you can hit the Escape key before pressing Space. This will close the autocomplete popup, so that the suggested word is not automatically typed.
I prefer the alternative setting, where I actually have to hit the Enter key to accept the suggested autocompletion. If I just type Space, I want a space to follow the characters that I actually typed.
I know that I can toggle between the undesired mode and the second mode I describe, which I do want. To do this, I click Edit -> IntelliSence -> Toggle Completion Mode.
My problem is that this setting never sticks. It constantly reverts to the wrong mode. I'm not sure exactly when it's changing, but it seems to revert back several times a day. If I change this for one Solution, it won't apply to my other Solutions. Even if I apply it to a solution, close VS, reopen, and start working again, it will have reverted.
Does this happen to everyone else, or is this unique to me? Is there some global setting that forces this feature to stay off always? Do I have a corrupted file somewhere that's causing this?
No, this is normal behavior and this setting behaves like what you described in the previous VS versions.
However, thanks to those members who is reporting this issue and Microsoft has fixed this behavior in the latest VS2019 version.
Since VS2015 is not supported by Microsoft so far, so this behavior cannot be fixed on VS2015 and I suggest you could install the latest VS2019 Community and get what you want.
Once you click the Toggle Completion Mode under Edit-->Intellisense, no matter you close VS, create a new project or a solution, use other c# file editor, it will never revert back.

How do I jump to matching brace in VS 2019?

As best as I can tell, Visual Studio 2019 completely removed the ability to jump to matching brace.
I tried the hotkey I've been using for years (Ctrl-]) and it changes indent instead (why would I need that? This is C#, not Python). I also tried looking up the KeyMap (Environment->Keyboard) setting and searching for match, and there was nothing relevant. As far as I can tell, Microsoft has completely removed this feature, but I wanted to confirm that Fattie and I are not the only ones with this problem.
(for reference, here is the question for VS 2008 whose answer no longer works because the default keyboard shortcut has changed.)
EDIT: The setting still exists, but has been renamed to not contain the all-important keyword "match". See accepted answer.
The control is still there.
Go to Tools -> Options -> Environment -> Keyboard and lookup Edit.GotoBrace to see the current key combination for this feature:
You can set the key combination from the pictured menu.
just for the ones among us with non-us keyboard. On my keyboard, I need to press 'AltGr' to access "]". Therefore Ctrl+] doesn't work. Interestingly, VS has already compensated for that problem and changed the hotkey to Ctrl+`, which works nicely for me. You just need to know the hotkey has changed (depending on your keyboard).
Hope this saved a few minutes of your time ;)
Regards,
Eleusius.
On a Finnish/Swedish keyboard the Edit.GotoBrace field is mapped to Ctrl+Å

Refactored "MySettings" to "Settings" on accident. Cannot revert back to normal

I was trying to troubleshoot why my default settings. Settings values weren't updating. Visual Studio showed me a recommended fix of refactoring "MySettings" to "Settings" and now every reference to My.Settings is broken and the word settings has turned green (used to be white).
I tried just hitting the undo button, and then closing without saving. But it didn't fix anything. Makes me think it isn't a project issue but a VS2016 issue.
My.Settings.ActiveDrive = My.Settings.Default.ActiveDrive
My.Settings.Save()
This is the code I was altering. I was trying to error proof my code and reset the value to the default to simulate a new user with no saved settings yet. Then I switched Settings to MySettings to see if that'd do anything and VS asked if I wanted to refactor MySettings to just Settings. I said yes... And now the code is broken.
I just want Settings to go back to normal. The way it worked before I hit "refactor MySettings".
I was actually able to figure it out.
For anyone out there that runs into this issue in the future (Since I found 0 results on google about this), you simply go to your solution explorer in the top right, click the drop down icon next to Settings.settings, double click on Settings.Designer.vb, ctrl+f and search for "settings" and rename any class designated "Settings" result back to "MySettings". Don't rename the other "Settings" appearances otherwise it'll break again.
Then your code will go back to having a read-only "settings" option and a class option called "MySettings".

Visual Studio 2013 VB intellisense

Apologies upfront if this is a silly question, but it's annoying me to no end and I can't figure it out.
I'm using Visual Studio 2013 Professional, and I usually code in C# where when using the Intellisense, when I press Enter to select a method or something it adds my selection and I can continue typing on the same line.
But at the moment I'm working on a project which is in VB.NET, and when I use the Intellisense in the same way it puts my cursor in the next line, i.e. I press Enter to select whatever, it adds my selection and starts a new line, so I have to press the Backspace to go back to the previous line. It's so annoying!
Is there a way to change this behaviour so the cursor doesn't go to the next line? I've looked at the settings available in Tools > Options but can't figure it out, and searching Google for anything similar hasn't been successful.
Found it here (paragraph List Members)
You have toggled to suggestion mode instead of completion mode.
You can also change to suggestion mode, in which only the text you type is inserted into the code. For example, if you enter an identifier that is not in the list and press TAB, in completion mode the entry would replace the typed identifier. To toggle between completion mode and suggestion mode, press CTRL+ALT+SPACEBAR or click Edit/IntelliSense/Toggle Completion Mode.
So, either use TAB/SPACEBAR (as I said in the comment) or press CTRL+ALT+SPACEBAR to switch back to completion mode.
EDIT: I've found out that whenever you type Stri (String will show highlighted in the list now) and you press . (dot) it will autocomplete and stay at the same line.
I think your way of doing this in C# isn't possible in Visual Basic.
I had the same problem and discovered that Auto list members was not enabled on my machine. It's under Tools > Options > Text Editor > Basic > General. This gave me the intellisense I was looking for.
Simple thing which can be used when you face this kind of issue is to press
tab key instead of Enter key when the IntelliSense provided me prediction list.

vb.net and ContextMenuStrip?

I'm using winforms and vb.net.
When I right click on a textbox I get the copy/paste/etc popup menu. This is ok. But How can I add something to this menu, and where/how would I intercept the event when one would click on the Item I add to it?
This context menu is baked into Windows, there is no documented way to alter it. Nor is there a message that you could trap to hack the menu. Replacing it is certainly an option, check my answer in this thread for sample code.
Be careful with this, stuff gets added to this menu in different Windows versions. Like "Insert Unicode character" in Win7. You definitely want to avoid this if it is likely that your product will run in an Eastern Asian country.
You'll have to add your own menu if you don't want to use the default.
You'll have to replace the existing default functions with your own code.