Related: link
As I work with some legacy VB6, I wonder, is there a solution to use TAB-indentation within VB6 IDE? I tried to find something for tab-indentation, and I could find only the following within the VB6 IDE,
The "Tab Width" allows one to define how many spaces to put for indentation. I guess one solution is to use one-space per tab for the future. But is there any way to use TAB-indentation within VB6 IDE instead of spaces? Perhaps an IDE add-on or a dirty hack?
Try with this two plugins:
mz-tools:
https://www.mztools.com/v8/onlinehelp/MZTools8Help.html
VBTools AddIn - Auto indent
http://www.vbforums.com/attachment.php?attachmentid=58305&d=1184763794
Related
If I made the same mistake several times in the same code. Is it possible for me to change all the mistakes at once rather than finding each mistake and correcting it.
For Ex:- If I have written prnt instead of print several times at different places can I change it at once and apply it for all others rather than going at each place and correcting it manually.
You can use the Find and Replace feature in Visual Studio to find prnt and replace it with print. Use Ctrl+Shift+H as a quick shortcut to find and replace.
visual studio support multiple edit.
You can use Shift+ALT+; to edit all the same words in current file.
For this blog: Visual Studio Tips and tricks: Multi-line and multi-cursor editing you can get more infomation.
You can also change it in for the whole solution.
Use Ctrl+Shift+H on visual studio set the word you want to replace, type in the new word to be replaced, set whether it should be replaced for the entire solution or for that document alone. click replace.
Cool right?
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.
Background
I have a macro AttachToRemoteProcess that I use to attach the debugger to a running process on a remote computer. The macro use hard coded names for the process and the computer. I use the macro from a toolbar button on a custom toolbar. I consider this a sub par solution and I don't really like to have such a macro in my Visual Studio environment since it only works for the specific program/environment it was hard coded for.
I am using Visual Studio 2008.
Solutions
I can imagine two solutions but I do not know if they are possible to implement.
Alternative 1
I would like to either have the macro AttachToRemoteProcess being part of the solution (.sln) or one of the projects (.csproj) and have the toolbar appear when the solution or project has been loaded into Visual Studio. In this case it is OK to have hard coded settings such as process and computer name.
Alternative 2
The macro AttachToRemoteProcess is made reusable by taking process and computer as parameters.
The custom toolbar, button and the macro are always available in Visual Studio. This is just like my current solution, except for the parameterized macro.
When the button is clicked the computer name and process name is looked up from somewhere in the solution or the current project.
Questions
Would any of the alternative work and how can I go about doing it?
Are there any other alternative solutions for what I want to achieve?
The second alternative seems to work. Instead of retrieving the parameters from the solution (perhaps using VBA and the class EnvDTE.DTE.Solution), you could display a small form to select the process and computer and use this input as parameters to your macro. The button would be displayed in a personal toolbar all the time.
I'm not sure whether you can "attach" macros to particular solutions. If that's not possible, you will have no way to implement alternative 1.
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.
For C# Visual Studio uses 4 spaces by default, whereas for C++ it is hard-tabs. Why is it so? Why is it different?
My project consists of both C# and C++ code and the difference really annoys me. I want to set a common standard for all the sources, but I wonder if this would have any drawbacks.
If you're looking for a completely logical, well reasoned justification for this difference I don't think you'll find one. Despite the many flame wars around tabs vs spaces there really isn't a real winner (otherwise the war would be over).
The way to get around this is via a .vssettings file. When I first started with VS 2005, I set the tabs/spaces default in each language. You can do this via Tools -> Options -> Text Editor -> (C#/C++). Then I export the tab settings into a .vsssettings file. Whenever I install VS on a new machine I just import that file and I have my happy space/tab settings.
PS: spaces rule :)
Of course tabs is the only right way. Tab can do everything spaces can do. Spaces cannot do much of what tab can do.
Tabs allow easy change of indentation and easy navigation without having to press arrow keys too many times, and would having to hold control.
The real solution is to have the editor be able to navigate and tab indented file as if it was space indented, if the user prefers so. The file would be saved with tabs. Very simple and accommodating everybody.
The problem in c# 2010 is that I cannot find any option to change it to tabs.
I doubt there are any drawbacks as C++ grammar doesn't distinguish between tabs and spaces.
By the way, I think the best way to set code style standards is to export VS settings and share it with the team.
The reason behind C#'s default 4 spaces is that whoever will open the file the indentation will be the same.
You are free to change it as you like in preferences.
Just go with whatever you prefer, I normally use tabs in C++. Those who view my code all use the default VS settings RE tabs anyway so there is no real pull to replace that with spaces. I'm not sure what its like now but when F# was in its infancy (i.e., pretty early release out of MSR) you needed to use spaces in #light code otherwise the compiler would complain as whitespace was important.
Different people have different preferences, I know some who religiously use spaces, on the other hand I know more that uses tabs.
For C# Visual Studio uses 4 spaces by default, whereas for C++ it is hard-tabs. Why is it so?
Why not?
Just change it if you're not happy.
Spaces make it more difficult to navigate through code with the keyboard.
With spaces, most people will use four spaces, but some will use two or three. With tabs, the people who want their code tabbed out with two spaces can simply set the tab character to display as wide as two spaces, and the coding style remains consistent.
If you're using spaces for tabs in any HTML, CSS, or JavaScript, you're doing it wrong. There's no tabs-vs-spaces debate for html/css/js - it's either tabs, or ignorance. Client-side code is not compiled, and IIS doesn't have compression turned on by default - excess white space = excess fat.
Way back when, VB6 didn't give us the choice to use tabs, but now we can and should - if you don't, your code makes it look like you're still clinging to old-school ways.
So stop coding like it's 1999. Use tabs. Do it for the children.
The tabs vs spaces argument has a simple answer: tabs. Tabs allow you to specify your indentation while not forcing others to live with it. Given that tab sizes are merely a personal preference, one user shouldn't be able to force others to follow his/her display options.
Why the difference between C++ and C#: no clue. However, knowing that tabs are logically a better option, just change the C# (and in fact, all languages) to tabs and voila.