Bug caused by non printable character embedded by Visual Studio - ide

I have some cross platform code that I regularly share between Visual Studio and Xcode (and Vim).
At some point, I modified a string in this code, using Visual Studio. That string somehow ended up with an errant '^H' control character (ASCII 0x08) embedded in it.
The trouble is, this control character is non-printable. It wasn't visible in Visual Studio, nor was it visible in Xcode.
Viewing the source in Vim, I could clearly see the problem. Vim helpfully displays the control character, and problem solved.
Interestingly, when viewing the source via Xcode I can navigate through the string with the cursor - it clearly knows the character is there, as the cursor remains in the same location when traversing over the non-printable character.
So..
How can I prevent Visual Studio from inserting errant control characters in the first place? I presume this is a bug and should never happen.
Is there any way to have Visual Studio display such control characters, without also showing spaces/tabs?
Is there any way to have Xcode display such control characters, without also showing spaces/tabs?
Both environments have an equivalent 'Editor->Show Invisibles' but it's a bit of an all or nothing.. It's not something I want on all the time.

Related

Visual Studio Intellisense constantly popping up

Using VB.NET in Visual Studio 2019. Type a single space character anywhere in the codebase and a popup displays a long list of options. You have to constantly click away or press ESC. This quickly gets annoying.
Tools > Options > Text Editor > Basic > General > Auto list members stops these unwelcome popups...but now "member of" functions are not listed at all! For example:
Dim test As String = "fred"
test. ' Nothing is displayed when the dot is typed, but expected `Length`, etc
Is it possible to get Intellisense for "member of" only, but otherwise switched off and no other automatic listing (so nothing would be displayed when you are just typing away).
What a shambles to do so much with a single setting. If someone from Microsoft is reading this, check out how Borland's Delphi 7 handled this...an IDE of speed and beauty.
Very annoying that it distracts you that much. Im sorry to hear that.
Unfortunately, the final answer is that it cannot be solved, because microsoft would never consider an unpopular opinion.
The 'popup' is one of the most important features why people moved away from notepad in the first place. Every IDE will have it, and if they dont, they soon might. it is rarely unwelcomed.
With that in mind, microsoft didnt intend visual studio to be used without it.

Form designer missing controls after installing VS 2017 update

Today, VS 2017 Community Edition recommended I take a small update, which I did.
Now any VB.NET solution that I open shows a blank form (as if adding a new form). However, in examining the files, all of the controls and the associated code are present in the files. It just appears that the VB.NET Form Designer is not happy with something in a file.
Is there anything I can do to kick the Form Designer to display the form correctly or is there anything I can examine to ascertain some specific error it might be throwing so that I can look in the right place for resolution.
I figured it out and thought the solution might be useful for others. For some reason, the new version was converting every VB Form control from this (for example) Me.labelFrequency.Location = New System.Drawing.Point(113, 197) to this Me.labelFrequency.Location = New System.Drawing.Point(-32768, 197)(Note the italicized invalid coordinate). It did this for EVERY control in the project. The negative coordinate was throwing off the Designer (obviously). I cleared the VSTS cache and restored a version of the xyzzy.Designer.VB file with the correct values and it stopped doing this. Left this here in case anyone else found this useful.

Visual Studio Code going down to line automatically

I am using Brackets at the moment i want to switch to Visual Stuido Code but some features of Brackets are very usefull.
One of them, i use the editor narrowly, Brackets going under line automatically if it is not fit the line, but Visual Studio Code does not.
And second one also is when i design a html i can see the differences in live preview, is it possible to see it in Visual Stuido Code also?
Visual Studio Code
Brackets
You want to enable the Word Wrap in Visual Studio Code.
Go to View -> Toggle Word Wrap.
Live Preview is actually possible in every editor you use. Today's devs use task automators like Gulp or Grunt, so they are not attached to specific editor like Brackets.
Using Gulp (or Grunt) you can set up a task that will watch your files for changes and then do specific actions, like reload the page, recompile Sass files etc.
You can find more here:
https://www.youtube.com/watch?v=r5fvdIa0ETk

VS 2010 adding spaces at line end in AssemblyInfo.vb

I'm working in VB in Visual Studio 2010, trying to keep the lines in my AssemblyInfo.vb file clear of extra whitespace at the end. I track my projects with git using GitHub's Windows client and the powershell environment it ships with, so when I do a git diff I get red marks wherever there's erroneous whitespace.
Basically what I've found is that if I remove the whitespace in Visual Studio and save the file, it comes back. If I remove it in Notepad++, save, and reopen it in Visual Studio, the whitespace stays gone. After that, as soon as I change anything on a line, Visual Studio adds a space to the end of each line that I've changed which happens to end with > otherwise. If I change the end of the tag to />, it doesn't add the space, but of course that doesn't compile.
I've dug through the Text Editor settings for Basic, XML, and All Languages, but don't see any setting specific to this. Is there one I'm missing, or should I plan on using notepad for version changes? I'll also mention that I have Visual Studio 2012 on my personal machine, and it doesn't seem to do this there.
Is there any reason why you cannot use project properties?
Ah, found it. For future reference, it's part of "Pretty listing (reformatting) of code" in Text Editor > Basic > VB Specific. Thought I had that turned off already.

Move line Up/Down shortcut in Visual Studio 2012

In VS2010 I had a shortcut set up Alt+Up/Down to move lines of code up or down, just like I used to have in Eclipse in my Java days.
Now since Power Tools and macros (which is how I set up this shortcut in VS2010) are not available in VS2012, how do I get this to work?
I've seen somebody mentioned that Resharper can do this, but for the love of fire and water, I can't find the command names in the list of commands that can do that.
I have tried ReSharper_MoveUp/MoveDown and that does not move lines up/down:
This moves blocks of text up and down. I just want line-by-line up or down, no fancy logic there.
Before
After ALT+Up (when cursor is on WriteLine line) I would like to see this:
I have seen these threads: What's the equivalent for eclipse's ALT+UP/DOWN (move line) in Visual Studio?, Visual Studio: hotkeys to move line up/down and move through recent changes, but none of the suggested solutions work in VS2012.
Any other ideas?
UPD 7 Nov 2012: . Extensions are catching up with Visual Studio 2012. Now I know at least 3 extensions that provide this functionality:
MoveLine Extension. Link provided by Carl G
Move Line Extension with modifications to 2010 version. By gius
Productivity Power Tools 2012. Have not actually tried this, but this blog post states it does the line move up/down
UPD 15 Nov 2012: Just stumbled across another extension that claims it does what is required here. Have not tried it though: LineMan Extension
UPD 10 May 2015 Just installed VS2015 RC and this is built-in already:
For those who arrived on this question using Visual Studio 2013 or above, the feature is built right into the program. Just use AltUp and AltDown to move the line with your cursor—or the selected lines—up and down.
If you wish to rebind it in Tools > Options > Environment > Keyboard, the keys are Edit.MoveSelectedLinesUp and Edit.MoveSelectedLinesDown. You may need to remove your new combination from other existing keys first.
Update: huzzah, Productivity PowerTools VS2012 is now available and offers this functionality (along with another personal favorite, Tools.AddEndTokenAtTheEnd.)
MoveLine Extension (compatible with VS 2012; I had to manually restart my VS in order to see the commands in VS's keyboard shortcut tool.)
Install ReSharper.
Open Tools -> Options -> Environment -> Keyboard (as shown in a picture)
Find "ReSharper.ReSharper_MoveUp"
In "Use new shortcut in:" choose: "Text Editor"
Click in "Press shortcut keys:" and press your shortcut (for example Alt+ArrowUp)
Press "Assign" button
Same with with "ReSharper.ReSharper_MoveDown"
P.S. Works fine for single lines and multiple selected lines, but removes selection after moved 1 line. Hope there are way to move multiple lines multiple times in one selection.
If you have Resharper, then you can hit Ctrl + Shift + Alt + ↑ to move the current line up. or Ctrl + Shift + Alt + ↓ to move one line down.
This works in VS 2012 Premium with Visual Studio keyboard scheme in Resharper 7 (7.0.97.60 to
be precise).
Edit: This is mapped to 'ReSharper.ReSharper_MoveUp'/'MoveDown' commands.
In Visual Studio 2017(atleast) I have below
You can use Move Line Command extension.
Just follow formula349's comment:
I was able to get this working with 2012 as-is.
Rename the package to .zip and unzip all files into a folder. Edit the extension.vsixmanifest file and look for the SupportedProducts XML node. Change the Version="10.0" to Version="11.0".
Re-zip the folder contents and rename back to .vsix. Works great!
While a lot of people seem to be recommending misc. Visual Studio Extensions and Resharper, I would like to point out there is a native hotkey that accomplishes this goal. I came to this question trying to find the answer, as my Resharper replaced my default hotkeys with their MoveUp and MoveDown versions.
And while Resharper's hotkeys do move things up and down, they are not what the original poster are looking for, and they are not what I wanted. These hotkeys move methods and blocks of code, not individual lines.
Visual studio has two hotkey commands to move your selected lines upwards or downwards.
These hotkeys are:
Edit.MoveSelectedLinesDown
Edit.MoveSelectedLinesUp
I am using Visual Studio 2013 however, so I am unaware if these exist in an older version. If 2012 does not have these hotkeys then perhaps an extension is the only solution.
Either way, I had an issue locating the exact hotkey within visual studio's list and it took me a good while to find these, so I hope that my solution manages to help someone else in a similar situation to my own.
Shift+Del and then Ctrl+V
Shift+Del does the cut (same as Ctrl+X) operation on the current line on which cursor is positioned.
Then you can use Ctrl+V to paste it at any place you like.
Good thing is that you don't need to select the complete current line, just the cursor needs to be positioned on the line.
One downside to using this shortcut is that you won't be able to see the line moving ( up or down ) lively in front of your eyes.
ReSharper's move up and move down shortcuts are smart - instead of just moving the current line (which can easily result in broken code), it will move the current statement up and down in the list of statements that make up the method body. This is much more powerful than just moving a single line of code.
But this doesn't help you get your statement inside the if block. Here you need to do one of two things.
Firstly, move the statement above the if block, then use Ctrl+Shift+Alt+Right to push it down in scope. The statement will now be inside the if block, and you can use up and down to move it around in there. You can also use Ctrl+Shift+Alt+Left to pull it up in scope, outside of the if block.
Alternatively, you can put the text caret on the outside of the closing brace of the if block and use Ctrl+Shift+Alt+Down to move the brace down, stepping over following statements, including them inside the if block.
These keys can do a lot more than just move a single statement. If you put the text caret on a method or class declaration, Up and Down will move the entire method or class declaration up and down. If you put the text caret in the parameter list of a method, Left and Right will rearrange individual parameters (and then Alt+Enter can invoke the Change Signature refactoring).
More details in the help pages.