Whole Tomato Software Forums
Whole Tomato Software Forums
Main Site | Profile | Register | Active Topics | Members | Search | FAQ
User name:
Password:
Save Password
Forgot your password?

 All Forums
 Visual Assist
 Technical Support
 Use VA only for C++ and not C#
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic  

Stefan Monov
New Member

4 Posts

Posted - Jun 25 2010 :  12:12:58 PM  Show Profile  Reply with Quote
Hi,
When I open a C# project, I want VA X to be automatically disabled. How do I achieve that?

TIA!

accord
Whole Tomato Software

United Kingdom
3287 Posts

Posted - Jun 25 2010 :  3:58:36 PM  Show Profile  Reply with Quote
You can use this field:

VA Options -> File handling -> Extensions -> Extensions to ignore

to specify .cs files. Anyway, out of interest, why do you need it? Do you have problems with VA when you are working with C# files? If yes, can you please tell us what problems are you seeing, so maybe we can do something to improve our software.
Go to Top of Page

Stefan Monov
New Member

4 Posts

Posted - Jun 25 2010 :  5:04:42 PM  Show Profile  Reply with Quote
Thanks a lot!

The reason I don't want VA for C# is that I'm only using it as a way to fill in features for C++ that VS provides for C# natively. I find that VA implements them inferiorly (but they're much better than nothing, for C++).

Here are some specific things that bothered me when VA tried to "assist" me in C#:

- "rename references" popping up - no thanks, this duplicates the native VC# functionality (the little box on the bottom right of the word), AND it's more distracting (a big gray rectangle popping up for no reason),

- general lack of polish compared to native VC# features. For example:
* the "Refactor (VA X)" context menu contains stuff like "Add include" and "Move implementation to source file" in C# (wtf)
* using the VA autorename feature causes the entire VS window to flicker
* "Surround with" context menu visible even when nothing is selected
* "Refactor (VA X)" context menu containing a huge bunch of grayed out stuff, making it harder to find what I actually want
* many useless distracting things like "document method" in the context menu, when it's done much more smoothly in native VC# (by autocompleting when you write /// in front of a method)
* on that note... "add similar member"? huh, why would I do that via a menu item? were you just trying to stuff the menu with as many options as possible to make marketing happy?
* a bunch of other stuff, seriously, get a professional HCI expert to review your product. the fact that I couldn't find the "disable for C#" option speaks loudly enough.

- bracket auto-matching is extremely intrusive and badly done, honestly, I tried to like it for a couple weeks but it only gets in the way. Thankfully it's optional. For a proper implementation look at Eclipse.

- autocomplete is slower than the native implementation

- ugly default font colors, such as deep red for methods (I just found out I can disable this, however)

I don't think I use any VA features in C# that aren't also implemented natively in VS.
Hope this helps.

Edit: now that I'm using VC# without VA, I find that I *do* miss one of VA's features: the one where it offers to add a 'using' statement when I type a class name. Oh well.

Edited by - Stefan Monov on Jun 26 2010 06:02:52 AM
Go to Top of Page

accord
Whole Tomato Software

United Kingdom
3287 Posts

Posted - Jun 28 2010 :  2:44:45 PM  Show Profile  Reply with Quote
Thank you for your feedback.
About the things seem like bugs:
- autorename: do you mean that the cause of the flicker is that VA is switching the files fast to replace the references?
- autocomplete: what do you mean by slower? Does the listbox open slower when you type something?

"Surround with" can surround your selected text but you can also insert the code snippets when you don't have selection at all.

Edited by - accord on Jun 29 2010 03:53:10 AM
Go to Top of Page

Stefan Monov
New Member

4 Posts

Posted - Jun 29 2010 :  04:33:34 AM  Show Profile  Reply with Quote
- autorename: I don't think it's switching files at all. Rather, three of the white fields in the UI blink very fast. The three are: the two comboboxes right under the main tabbar, and the solution explorer.
- autocomplete: No. After the listbox is already open, and I press up/down to go through the list, the selection doesn't move instantly. There's an ~80ms delay before it moves.

Edit: oh, also, when autorename finishes, it causes the current file to scroll down so the current line becomes the top-most visible one. That also contributes to the flicker feeling.

Edit: also, autorename is unreliable. When I rename a class Foo into Bar, that doesn't rename the constructor from Foo() into Bar().

Edited by - Stefan Monov on Jun 29 2010 08:02:43 AM
Go to Top of Page

accord
Whole Tomato Software

United Kingdom
3287 Posts

Posted - Jun 29 2010 :  2:41:39 PM  Show Profile  Reply with Quote
- autorename: I don't see anything like this with VA 1827 and VS 2008. Which IDE and VA are you using?
- autocomplete: Strange. I wasn't able to reproduce this problem. Are you using any other plug-ins? It might be a compatibility problem. Did you disabled VA when it was fast? (VAssistX -> Enable/Disable Visual Assist X)

Rename scrolls up: I have put in an improvement request for this:

case=46551

Rename and constructor: it should work. I just tried with this very simply snippet:

namespace ns
{
    public class class1
    {

    }
    public class class2
    {
        public void func()
        {
            class1 obj = new class1();
        }
    }
}

...and renamed class1 by right clicking on "class1" after "new". Is it working for you?
Can you please post an example constructor "head" line when VA fails?

Edited by - accord on Jun 29 2010 2:42:32 PM
Go to Top of Page

Stefan Monov
New Member

4 Posts

Posted - Jun 30 2010 :  04:45:17 AM  Show Profile  Reply with Quote
VS 2008
VA 10.5.1738.0
I'm using one other plugin namely "dotTrace Performance 4.0". It simply adds a menu to VS, used to launch an external profiler. I doubt it affects the autocomplete performance. I can't be bothered to uninstall it, sorry.
I did have to disable VA to make autocomplete fast, yes.
About the renaming bug:
I meant the following:
namespace ns
{
    class Class1 // ###
    {
        public Class1()
        {
        }
    }
}


Now go to the place marked with ### and change the class name Class1 into Class2 (by erasing the 1 with backspace and typing the 2). Now hover the name you just changed and wait for the small-black-downward-arrow-in-box to appear. When it does, click it and select Rename. A dialog pops up. Confirm by clicking the Rename button. The class is renamed but the constructor isn't.

Aaahhh. wtf. I just realized what's going on. It turns out there is no bug. I *thought* I was telling VA to apply my renaming (Class1->Class2) automatically everywhere. What I *actually* told VA was to rename Class2 to Class2 (in other words, to do nothing).

Well, I'll admit I never did read the dialog that pops up, and if I had, I would've known what I was doing. However, to be honest, I never read those little stupid dialogs, and I'm not gonna start now, life is too short :)

That's easy to solve, by removing the "small-black-downward-arrow-in-box" feature because
(a) it's right next to VS's native tiny-red-box feature, and provides functionality that's called Rename, just like the tiny-red-box one, BUT it acts differently :)
(b) it's really easy to access from the VA context menu anyway.

Your call :)
Hope this helps.

Edited by - Stefan Monov on Jun 30 2010 04:45:50 AM
Go to Top of Page

accord
Whole Tomato Software

United Kingdom
3287 Posts

Posted - Jun 30 2010 :  4:04:23 PM  Show Profile  Reply with Quote
Do you have SP1 applied to your VS2008?
I have played a little with the listbox, but still no luck with reproducing.
Can you please create a new "Windows Forms Application" C# project to see if you can reproduce the listbox delay in a clean new project?
If yes, can you please export your VA and IDE settings:

VA Options -> Performance -> Export Settings
IDE tools menu -> Import and Export Settings -> Export selected environment settings

so I can import them here to see if it help reproducing the problem. You can send the files via this form:

http://www.wholetomato.com/support/contact.asp

Please include the URL of this topic in the description, so we can match it up.

Edited by - accord on Jun 30 2010 4:13:01 PM
Go to Top of Page

bnk
New Member

5 Posts

Posted - Jul 07 2010 :  09:21:54 AM  Show Profile  Reply with Quote
Guys, would you consider adding this feature?
I mean, turning Visual Assist OFF for everything but C++ projects

VA does not live peacefuly with Resharper. And since VA is not even close to Resharper for managed code or ASP.NET, I (and presumably many other programmers who program both managed and unmanaged apps) would prefer keeping VA OFF for managed projects. I mean, guys, seriously... Either provide an option to turn VA off for managed projects, or provide at least something comparable to IDE/Resharper features for managed projects. That would be fair. I mean, the lack of this function becomes really annoying.
Go to Top of Page

accord
Whole Tomato Software

United Kingdom
3287 Posts

Posted - Jul 07 2010 :  5:24:07 PM  Show Profile  Reply with Quote
>Guys, would you consider adding this feature?
>I mean, turning Visual Assist OFF for everything but C++ projects

Have you tried to add .cs here:
VA Options -> File handling -> Extensions -> Extensions to ignore

What version of VA are you using? We improved Resharper compatibility in Build 1812 and if you still seeing problem with a recent build, we can look into it.
Go to Top of Page

bnk
New Member

5 Posts

Posted - Jul 08 2010 :  12:48:35 PM  Show Profile  Reply with Quote
quote:
Originally posted by accord
Have you tried to add .cs here:
VA Options -> File handling -> Extensions -> Extensions to ignore


Yes, thank you, sure I've tried that.
You mentioned this in the very first reply in the topic, actually.

The problems:
- Perfomance... I don't want any analysis for C#. I don't want VA to analyze any reference assembies, watch externally modified files or anytthing. I simply want it dead for C# or ASP/HTML projects :)

- Syntax hilighting. I don't want VA syntax hilighting to overlap with visual studio/reshaper hilighting for these files, becaue the result might become a mess.

- I don't want VA keyboard shortcuts to overlap with resharper or visual studio shortcuts for C# projects. This is especially true for the refactoring commands.

- This point is unrelated, but anyways... Macro recorder. Would you please stop autocomplete during macro recording! Because, macro cannot be recorder properly with autocmplete ON.
Go to Top of Page

accord
Whole Tomato Software

United Kingdom
3287 Posts

Posted - Jul 09 2010 :  04:03:47 AM  Show Profile  Reply with Quote
Macro recording: this on our list to do:

case=724

Do you see performance problems, or just want to save some CPU cycles?
Do you see problems with overlapping colors or just don't prefer VA's variant of coloring?
Go to Top of Page

bnk
New Member

5 Posts

Posted - Jul 09 2010 :  1:19:48 PM  Show Profile  Reply with Quote
quote:
Originally posted by accord

Macro recording: this on our list to do:

case=724

Do you see performance problems, or just want to save some CPU cycles?
Do you see problems with overlapping colors or just don't prefer VA's variant of coloring?



Many thanks for the macro recording!

As for the perfomance problems, sure I do experience them. :)
I don't care for CPU cycles, as long as Visual Studio does not start spacing out for seconds as I type. Please keep in mind, the projects we are talking about are rather big, unfortunately...

The point is, when both VA and resharper start doing some "background processing" at the same time, the overall "typing experience" begins to suck. So I would simply prefer keeping only one of the beasts alive. VA - for C++ projects, resharper for the managed projects... That's it, basically.
Go to Top of Page

accord
Whole Tomato Software

United Kingdom
3287 Posts

Posted - Jul 09 2010 :  5:19:57 PM  Show Profile  Reply with Quote
I've just tested the ignore list approach and it works fine for me:
- no files (re)parsed
- refactoring items always grayed out
- no syntax coloring:


Did you get different result?

Note that you have to restart Visual Studio to get the desired result.
Yes, VA imports some symbol name for the first time, but that's all what VA does, and it shouldn't make any difference regarding the performance.

Another way to disable VA is to select the

VAssistX -> Enable/Disable Visual Assist X

menu item. Do you see performance with this disable method as well? If yes, maybe the slowdown was not caused by VA.
quote:

The point is, when both VA and resharper start doing some "background processing" at the same time, the overall "typing experience" begins to suck.


When VA parses a file, it always displays a "VA X: Parsing <filename>" message in the status bar:

(It happens after you modify a file when VA is not disabled.)

Edited by - accord on Jul 09 2010 5:35:09 PM
Go to Top of Page

support
Whole Tomato Software

5566 Posts

Posted - Aug 04 2010 :  5:44:31 PM  Show Profile  Reply with Quote
case=46551 is fixed in build 1829

Whole Tomato Software, Inc.
Go to Top of Page

support
Whole Tomato Software

5566 Posts

Posted - May 12 2011 :  12:36:36 AM  Show Profile  Reply with Quote
case=724 is fixed in build 1848

Whole Tomato Software, Inc.
Go to Top of Page

Muir
New Member

6 Posts

Posted - Jun 27 2011 :  07:24:21 AM  Show Profile  Reply with Quote
I just came across this thread, and I had the same issue.

I evaluated VA a few months ago and the only reason I didn't buy it is that I couldn't disable it for C# projects. I want VA for native C++ projects only, and I found it really irritating having to constantly disable it at start up.

I tried disabling it for C# files, but it wasn't satisfactory. I can't recall why. It would be ideal to enable VA on a project by project basis.

Has anything been done relating to this recently? It seems like such an easy thing to support.

Thanks
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
19024 Posts

Posted - Jun 27 2011 :  10:18:08 AM  Show Profile  Reply with Quote
We have several users who only want to use VA for C++ and not for C# and they seem quite happy with simply adding ".cs;" to

VA Options -> Projects -> File Handling -> Extensions to ignore

If you could tell me what problems you were having with this I might be able to help.

zen is the art of being at one with the two'ness
Go to Top of Page

Muir
New Member

6 Posts

Posted - Jun 27 2011 :  10:38:27 AM  Show Profile  Reply with Quote
It was a few months ago and I don't remember what the problem was. I've not used it since as my eval expired. I just came across this thread while searching for something else and thought I'd mention it.

Apart from whatever the problem was before, I would still want to disable it completly to avoid any possible problems in the future. Disabling it seems a good way of completly eliminating an entire class of bugs - its pretty critical everything works smoothly and I didn't get that before.
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
19024 Posts

Posted - Jun 27 2011 :  10:43:59 AM  Show Profile  Reply with Quote
If you want VA to be active in some code files, but not in other code files, then VA needs to be active in some sense, so that it can start working in your C++ code.

Once you have told VA to ignore a certain file extension then VA should completely ignore these files, and not cause any problems. It is hard to give you a 100% guarantee of this though, since the IDE is a very complex environment, and if you have other plugins or extensions installed, how they act is also a factor.

zen is the art of being at one with the two'ness
Go to Top of Page

Muir
New Member

6 Posts

Posted - Jun 27 2011 :  11:08:12 AM  Show Profile  Reply with Quote
Perhaps that's the issue - I don't want VA to be active at all for a particular instance of Visual Studio - ie when I'm working on my C# project.

I have a solution with a single project that is native C++. I want VA to be enabled for this solution/project. I have another solution with lots of C# projects and no C++ projects, and I want VA to be completly disabled for this solution.

It's what I was effectivly doing manually every time I started Visual Studio.

I was thinking of an option that VA would check when it starts, then shut itself down completly if its disabled for that project.

In general it would be nicer if it were enabled/disabled per project, but per solution would be fine for me.
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
19024 Posts

Posted - Jun 27 2011 :  12:52:39 PM  Show Profile  Reply with Quote
The IDE its self loads plugins on startup. VA can disable its self, but it is still active to some extent, since it can re-enable its self when you ask it to.

If you are using VS2005 or VS2008 you could launch the IDE and solution from a batch file, which first set a registry flag to tell the IDE to load or not load VA, using the registry key information here:

http://docs.wholetomato.com?W306

you would then need to re-edit the registry before reloading the IDE to change VA between enabled and disabled. This method is not going to work in VS2010 though, due to the changes Microsoft made to how the IDE works.

zen is the art of being at one with the two'ness
Go to Top of Page

Muir
New Member

6 Posts

Posted - Jun 29 2011 :  10:41:29 AM  Show Profile  Reply with Quote
Ok, thanks for the information. I guess I'm where I was before though. If you ever change this I'd appreciate it if could you update this post so that I'll get an email.
Go to Top of Page

accord
Whole Tomato Software

United Kingdom
3287 Posts

Posted - Jun 30 2011 :  11:36:07 AM  Show Profile  Reply with Quote
I guess we are talking about disabling VA completely, because there was some visible sign that VA is active and you would like if VA acted like if it was disabled in C# files. I mean the memory consumption of VA is minimal We are working on to make VA more invisible, e.g. we made this change in 1845:

Highlight Current Line is disabled for files with extensions in the "Extensions to ignore" list.

If you experience any VA feature with an "extensions to ignore" file that is distracting, just tell us. Completely remove VA is not necessary and not viable since there are mixed project where both C# and C++ files are part of the project. What is necessary, from my point of view, is the ability of a minimal memory consumption, no CPU usage, and no distracting VA features get in the way of work in an ignored file.

Let me mention an example: the VAssistX menu on the top menubar shouldn't disappear when you change to a C# file, should it? There is a lot of menu item in VS that most people will never use

I hope this all make sense.
Go to Top of Page

Muir
New Member

6 Posts

Posted - Jun 30 2011 :  11:49:39 AM  Show Profile  Reply with Quote
I have a feeling we a not communicating fully. When I manually disabled VA it was ok, but it didn't remember the setting for the project (or solution). If it just did that I would be happy.

I was constantly turning it on and off and it just got annoying. I liked it apart from that. I'd buy it just for the syntax highlighting.

I realize it was not totally disabled as I could re-enable it, but it was enough.

My evaluation expired so I can't check if the current version is ok or not. I can't remember the details of what was wrong before, but regardless I think it would be better if it just disabled for the project and remembered it.

Thanks
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
19024 Posts

Posted - Jun 30 2011 :  12:42:15 PM  Show Profile  Reply with Quote
Yes, there does seem to be a communication problem, but I am not sure how to fix it.

Are you trying to disable VA for some C++ projects? Or only for C# projects? Disabling VA for C# projects only should be identical to disabling VA in .cs files, shouldn't it?

Assuming I understand correctly that you want VA to disable its self only for C# projects, then who disables and enables VA? If VA is 100% disabled, then there has to be a "VA helper" process that is enabled, who's sole function is to work out which project you are currently using, and then enable or disable VA in response.

But this seems to contradict your desire to make sure that VA, and presumably all VA related components, are 100% disabled.

zen is the art of being at one with the two'ness
Go to Top of Page

Muir
New Member

6 Posts

Posted - Jun 30 2011 :  12:49:03 PM  Show Profile  Reply with Quote
I'm trying to disable it when I'm working on my C# solution.

I want it enabled on my C++ solution.

I often work on both these solutions at the same time, in different instances of Visual Studio.

I don't mind if its automatic on the type of solution or if I have to do it manually. I just don't want to have to do it manually every time I start Visual Studio which is what I was doing.

I don't need 100%. I found 99.999% was ok (whatever it was when I manually disabled it).

Thanks
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
19024 Posts

Posted - Jun 30 2011 :  3:56:32 PM  Show Profile  Reply with Quote
Then adding .cs; to the extensions to ignore should achieve what you want, unless you are running into a specific issue. This will keep VA active in your C++ solutions, and inactive in your C# solutions.

zen is the art of being at one with the two'ness
Go to Top of Page
  Previous Topic Topic Next Topic  
 New Topic  Reply to Topic
 Printer Friendly
Jump To:
© 2023 Whole Tomato Software, LLC Go To Top Of Page
Snitz Forums 2000