I'm using Visual Studio 2008. I'm currently working with WPF and I'm using
Edit->Format Document
to format my source code.
The problem is that I want to have formatting set total differently for style and for Controls themselves.
Which means that I have to switch formatting logic every half an hour through this menu:
Tools->Options->Text Editor->XAML
Is there any way to define these 2 formatting logic and switch between them more effectively ?
Thank you !
Write a macro to modify your settings, add a toolbar button to invoke it. easy peasy. ;-)
Erm, Nope.
Tools like resharper offer their own kind of formatting (through 'code cleanup') but I'm not sure that helps you.
Related
Intellisense working when I open a tag
But I want to use Intellisense without opening a tag. Like in the picture.
I am able to do this with ctrl + Space combination. Is there any way to do it automatically?
I think you cannot get what you want so far. And XAml Intellisense is special and it should work with < and >. So invoke the Intellisense should be with them. There is no such automatic way as you wished by default.
After all, it is not the type of c# or c++ code that can type some word to invoke Intellisense. And Xaml Intellisense is not flexible as you expected.
VS does not design that by default and there is no such vs extensions I found to realize so far.
If you still want your feature, you could suggest a feature on the DC Forum and then share the link here when you finish it. Anyone who is interested in it including us will vote it to help get the feedback from the Microsoft as soon as possible.
Writing C# code in Visual Studio 2019. The constant popups as you type or position the mouse are very distracting. In Tools > Options > Text Editor > All Languages (or your language), you can disable all popups as you type by untciking Auto list members, but this is not what I need. Firstly I don't want to disable them completely and secondly this doesn't affect popups when you hover over a variable.
Ideally, I'd like popups more sparingly and only after a long-ish delay (say 1000ms). Currently they appear nearly instantly whenever I type any character or move the mouse over the code.
Can the delay be configured?
Update
According to a comment to this question, Visual Studio does not currently support a delay. But the experience for C# coding can be improved at Tools > Options > Text Editor > C# > Intellisense. Find the option Show completion list after a character is typed and untick it.
Actually, VS does not such feature to make a delay for code Intellisense.
Suggestion
So my suggestion is that you can disable the option Show completion list after a character is typed just as you said.
And then if you want to invoke Intellisense, you should type Ctrl + Space manually to invoke the Intellisense.
In this way, you can invoke the Intellisense anytime based on your needs.
Besides, if you still want this requirement, I suggest you could suggest your feature on our DC Forum.
Also, you can share the link here and anyone including us will vote it so that it will get more Microsoft's attention.
Update 1
I already suggested the feature for you and you can check the link.
You can vote on it and add any comments if I did not describe the issue in detail. Hope the Team will consider the idea carefully and give us a satisfactory reply.
Since the process would take a long time, so you have to use my workaround manually so far.
I am wondering, if it is possible, to have some kind of automatic code-clean-up in Visual Studio 2010.
Especially interesting would be:
Auto-Indent
Remove tailing empty lines
Remove unused usings
at special cases, e. g. on save of the file.
I haven't found anything in the options, but maybe I was just kinda blinded... ...afaik in eclipse it was at least possible to intend on save. There should be something like that in Visual Studio?
UPDATE: Thanks for the fast replies, the thing is that I am ware of the keyboard-shortcuts (but nevertheless thanks for mentioning), but I am working through tons of foreign code by now and it would be awesom not having to do it manually for every file :)
Auto-indent can be done with Edit/Advanced/Format Document, or equivalent keyboard shortcut (Ctrl-K, Ctrl-D for me, YMMV).
Tailing empty lines I'm not aware of an automatic solution for, though there may be an extension available (or you could write your own).
Removing unused usings is a built in VS refactoring, and also available in tools like Resharper or DevExpress. (Right click code, then Organize Usings/Remove and sort.)
I'm not aware of a standard way to have these happen automatically for every document save, but you could probably write a macro or VS extension that would make this happen.
Some of the above already exist directly in Visual Studio:
Ctrl - K - D will reformat the document (Edit -> Advanced -> Format Document).
There is a refactoring that deals with using statements (right click in the code, there is an option for "Organise Using").
As for empty lines, I don't know of anything built in.
But tools like Resharper do have code cleanup capabilities that deal with all of the above and more (Resharper menu -> Tools -> Cleanup Code).
None of the above will execute on save by default, but you should be able to write a macro that runs on the save event.
You could try CodeMaid. Its an open source solution for what you are describing.
To Auto-indent you can ue ctrl+k+d pretty much like ctrl+shift+f in eclipse. But for unused usings I dont know any.
Is there a built-in feature or available add-on for Visual Studio 2010 that will clean up spacing in C++ code so that annoying blocks like this:
RandomVar=RandomList.RandomMethod();
will become
RandomVar = RandomList.RandomMethod();
(Same goes for spacing in loops, etc.)
...or do I need to do this myself with find/replace and regex?
I think You are looking for Edit->Advanced->Format document. This will re-format your current document according to settings in Tools->Options->Text Editor->c/c++->Formatting.
It's keyboard shortcut Ctrl+E+D in my case.
Although originally for C code formatting lint has been modified to cover C++ and ported to many platforms.
Some lint variants only report inconsistent layout, others can fix it for you. some are free others paid for versions.
This would be an outside the IDE fix as this is a sperate tool (at least traditionally it is!)
This wikipeadia article lists a few possible sources for lint tools
(this was a footer in my orginal question, but as that posed two solutions I extracted it here so you can accept a specifc answer should you find one apropriate)
This is not a proper "Solution" but a possible work-around without the need for finding external tools
In the "Tools" menu pick "Options..."
In this dialog navigate to
"Text Editor -> C/C++ -> Formatting"
Set the layout options as you
would like your code to look.
Click OK.
Now in a unit with "bad"
formatting from the menu select "Edit->Advanced->Format document" and the IDE wil reformat the
document to match your settings.
For C#, VB etc the "Formating" option has several sub nodes that provide a fine grain of control for the sort of spacing options you ask for. The list for C/C++ is flat and very limited by comparison. I suspect there is not enough flexability for the layout you want.
So you probably cannot get the formatting you want directly. How about...
Set the spacing rules you want for C++ in the C# settings
Temporarily adding a C# project to your solution
adding a class to that
emptying it.
paste the C++ in (causing a reformat)
copy back to the original file
rinse and repeat
remove the temporary C# project
I have to say this is not pretty, but given the syntactical similarities between C++ and C# its probably a close match.
The auto-formatting settings for C++ in Eclipse are more extensive than in Visual Studio, so I ended up using that instead.
I have to turn in a hard copy of some code with an assignment. Is there any way in Visual Studio 2010 to print C# source code with syntax highlighting?
PS: The assignment is solving a math problem, so the choice of language isn't important and the teacher doesn't need to compile and run the program. She just wants to see our approach and results.
There is an extension now :) Visual Studio 2010 Color Printing Extension
Works well! :)
The best way I've found to accomplish this is to copy from Visual Studio and paste into something like MS Word or OpenOffice Writer.
This gives you full source code, with syntax highlighting. You can then print from Word (including adding your intro documentation before the code, etc).
Just to let everyone know, unfortunately printing in color was cut from Visual Studio 2010 because of resource constraints. Since we've rewritten the editor from scratch in WPF, we didn't have time to reimplement everything so we had to sacrifice this feature. We will try to implement this in the next version of Visual Studio. For now, copy to clipboard and paste into other app such as Microsoft Word is the recommended solution for printing code with color.
If you go to Tools -> Options -> Environment -> Fonts and Colors you can change settings to print with syntax highlighting (change 'Show settings for' dropdown to 'Printer'). But you will need to change all the individual settings to match your IDE (I don't know of a way to make it automatic)
Edit: you can use that "Use..." button next to the dropdown to copy settings from the Text Editor
Simplest of all copy code to clipboard and paste into MS-Word is the way I do and it works...
Have a look at VS.NETcodePrint 2010 availabe from www.starprinttools.com. You will be able to print and export the color coded output to PDF.
Joginder Nahil
Due the fact MSVS does not support it anymore I think the best way is really to copy the code and paste it into WinWord.
The advantages are listed below. You can
set the font/size exactly how you want it.
set the format of line numbers.
have your own header/footer.
remove #region from printing.
add a watermark to the output.
For me - I print once in 2 months a source code - it is a very comfortable way which I never could achieve with any 3rd party extension.