Author |
Topic |
|
meissnersd
Senior Member
34 Posts |
Posted - Feb 18 2008 : 8:54:39 PM
|
I really want to turn down the sensitivity of Listboxes and intellisense. I can not seem to stop it from expanding the suggestions when I hit space bar. I am going back to correct stuff way too much. In Tools->Options | Text Editors->C#->Intellisense I unchecked "Commit by pressing space bar" and the "Commit by typing the following characters" is blank.
Yet it still expands with space bar!!! Arg
It is VS2008. I have started and stopped and rebooted several times. Its is driving batty. It must be misconfigured somehow.
Any ideas?
Karl
|
|
feline
Whole Tomato Software
United Kingdom
19022 Posts |
Posted - Feb 19 2008 : 08:09:56 AM
|
I ran into the same effect recently myself:
case=10695
For now can you try turning off:
IDE tools menu -> Options -> Text Editor -> C# -> IntelliSense -> Show completion list after a character is typed
For me this is fixing this problem. |
zen is the art of being at one with the two'ness |
|
|
mnieber
New Member
6 Posts |
Posted - Feb 19 2008 : 12:28:53 PM
|
I think Visual Assist is great, but I have similar frustrating problems with unwanted expanded suggestions.
If I have the following definition:
std::string test;
and on the next line I type "test.len" (without the quotes) following by a space, it expands to test.length. This is really not what I want. Even if I'm typing something that will not compile, I only want things to expand when hitting the tab key (of course, expanding with space and enter is disabled in my settings). I'm using build 10.4.1626.0 on Microsoft Visual Studio 7 .NET 2003.
I really hope this will be solved, Maarten
|
|
|
feline
Whole Tomato Software
United Kingdom
19022 Posts |
Posted - Feb 19 2008 : 12:31:05 PM
|
When you type dot or arrow after a variable you are actually triggering a member listbox, not a suggestion listbox. If you do this in the IDE without VA installed you will find that the IDE accepts the current item in the listbox when you type any character not valid in a symbol.
The logic here seems to be that the listbox must be correct, so you obviously want to accept the current item.
Currently VA is doing the same thing the IDE does, for consistency. The option "Any character not valid in a symbol" only applies to suggestion listboxes, which only contain VA's best guess, and cannot be assumed to be always correct.
We are looking to change this, and to apply the listbox options to all listboxes.
case=9369 |
zen is the art of being at one with the two'ness |
|
|
accord
Whole Tomato Software
United Kingdom
3287 Posts |
Posted - Feb 19 2008 : 3:57:22 PM
|
quote: The logic here seems to be that the listbox must be correct, so you obviously want to accept the current item.
This is a serious problem: every time VAX made a mistake, I had to FIGHT with it. Coder vs. VAX. I am sad about that case=9369 is still under consideration. "Any character not valid in a symbol" does not work correctly, so it is a bug.
Ok, ok, the parser working quite reliable most of the time, but if it fails then using completion listboxes becomes a nightmare (replaces what I am writing without pressing enter or tab)
quote: Currently VA is doing the same thing the IDE does, for consistency.
What about to make this default?
I think the main problem is that you do not want to make two separate options for suggestion and completion listboxes , but I think it is the only way to go.
(OK, there is an another way: if this option will be associated only with completion listboxes. Suggestions are only VAX's "best guess", and who want to accept them always? )
I think you cannot apply this listbox option to all listboxes, because 1. It should be on for completion listbox by default if VAX still want to do the same thing the IDE does, for consistency. 2. Maybe it is not a good idea to turn this on for suggestion listboxes by default, but without separation this will be on by default in this case.
What do you think? |
Edited by - accord on Feb 19 2008 4:33:06 PM |
|
|
feline
Whole Tomato Software
United Kingdom
19022 Posts |
Posted - Feb 20 2008 : 07:42:46 AM
|
The options are potentially more complex than this. There are also the C# IDE options:
IDE tools menu -> Options -> Text Editor -> C# -> IntelliSense -> Committed by typing the following characters: IDE tools menu -> Options -> Text Editor -> C# -> IntelliSense -> Committed by pressing the space bar
to consider, which VA does not currently properly respect. This is one of those things that sounds easy, but is not actually quite so easy in reality. We are trying to avoid having a set of options for each language.
Incorrect content in listboxes, are you getting this a lot? This is a separate issue, and should be addressed. |
zen is the art of being at one with the two'ness |
|
|
meissnersd
Senior Member
34 Posts |
Posted - Feb 20 2008 : 09:01:04 AM
|
ok disabling IDE tools menu -> Options -> Text Editor -> C# -> IntelliSense -> "Show completion list after a character is typed"
did allow me to stop committing on spacebar at the cost of suppressing intellisense a lot.
I would prefer to able to keep intellisense but able opt out of space bar commit.
Hey, here is a clue for case 10695, I noticed the erroneous space bar expansion seemed to go away when I had macro recording turned on....maybe it will help you guys debug it..
good luck |
|
|
feline
Whole Tomato Software
United Kingdom
19022 Posts |
Posted - Feb 20 2008 : 09:20:21 AM
|
That is interesting, I have added that fact to the case. Thank you for the information.
Do you have:
IDE tools menu -> Options -> Text Editor -> C# -> General -> Auto list Members
turned on? Turning off "Show completion list after a character is typed" should not have such a massive effect on intellisense. This used to be the standard solution to enable VA suggestion listboxes to function, while using the 15xx builds of VA. |
zen is the art of being at one with the two'ness |
|
|
accord
Whole Tomato Software
United Kingdom
3287 Posts |
Posted - Feb 20 2008 : 2:18:21 PM
|
"Incorrect content in listboxes, are you getting this a lot?" Not really. But "Convert dot to ->" errors are also rare, but I have turned off. I do not need automatic corrections at all. I use repair case, but I use enter to accept them, so I can ignore. |
|
|
feline
Whole Tomato Software
United Kingdom
19022 Posts |
Posted - Feb 20 2008 : 2:51:51 PM
|
At least that is some good news. If you run into any reproducible cases I would be happy to look into them. |
zen is the art of being at one with the two'ness |
|
|
pwaugh
Ketchup Master
USA
68 Posts |
Posted - Feb 22 2008 : 01:35:53 AM
|
I find it interesting that this problem occurs more (it seems) when I program in C#, then in C++ in VS 2008.
Perhaps language specific options will be required.
|
Programming in C++
VA_X.dll 10.4.1626.0 Built 2008.01.17
(1-user license) Support ends 2009.01.29
DevEnv.exe version 9.0.21022.8 msenv.dll version 9.0.21022.8 Comctl32.dll version 6.0.2900.2982 Windows XP 5.1 Build 2600 Service Pack 2 Single processor Platform: Win32
|
|
|
feline
Whole Tomato Software
United Kingdom
19022 Posts |
Posted - Feb 22 2008 : 09:00:00 AM
|
There are some differences between listboxes in C# and C++, mainly due to the IDE its self. It behaves slightly differently in the two languages, and has more listbox options in C#. This might explain some of the difference you are seeing.
If you run into any reproducible cases I would be very interested in the details. |
zen is the art of being at one with the two'ness |
|
|
MiddleTommy
Junior Member
14 Posts |
Posted - Mar 03 2008 : 10:19:43 AM
|
In C# VS 2008 I have the same problem with Auto Correcting even when I dont want it to. I have disabled the commit on space is VS options. I find this very hard to write Linq expressions or use generics or use anonymous types with this auto complete always selecting/correcting stuff when I dont want it to. A fix ASAP would be greatly appreciated here. what works most of the time for me (but time consuming because it is not my first reaction) is to arrow over instead of space and the go back and put the space in. But this messes up when Auto CASE/Speelling kicks in and changes the Case or Spelling to match some other similar symbol
|
|
|
feline
Whole Tomato Software
United Kingdom
19022 Posts |
Posted - Mar 03 2008 : 2:26:17 PM
|
Can you post a code sample showing / explaining the problem? I know of Linq but have never used it. |
zen is the art of being at one with the two'ness |
|
|
MiddleTommy
Junior Member
14 Posts |
Posted - Mar 05 2008 : 09:42:47 AM
|
public class FilterWindow<T>:FilterWindow protected override void cmbProperties_SelectionChanged(object sender, SelectionChangedEventArgs e) { PropertyInfo pi = cmbProperties.SelectedItem as PropertyInfo; var q = from t in itemsToFilter group t cmbNewFilterValue.ItemsSource = itemsToFilter; cmbNewFilterValue.DisplayMemberPath = pi.Name; cmbNewFilterValue.Text = string.Empty; } }
---------------------------------------------------- when I typed 'from t' worked just fine(no interference) but when I typed 'group t' space 't' kept changing to 'T' very annoying it even changes if I go back and add a space after 't' hours later.
|
|
|
MiddleTommy
Junior Member
14 Posts |
Posted - Mar 05 2008 : 10:05:06 AM
|
even worse when I moved on with the statement
'group t by t.'
pressing '.' changes 't' to 'T' and there is no direct work around(oxymoron?) like arrow over so I changed t to tt. Then I had trouble changing 'from t' to 'from tt' VAX kept changing 'tt' to 'TextTriming'
So there it is my latest real world example of the struggle I have with VAX everyday(though I still use it because it speeds up so many other things)
|
|
|
feline
Whole Tomato Software
United Kingdom
19022 Posts |
Posted - Mar 06 2008 : 4:41:32 PM
|
So far I am not seeing any problems. I have added the following code:
public class FilterWindow<T>:FilterWindow
{
protected override void cmbProperties_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
PropertyInfo pi = cmbProperties.SelectedItem as PropertyInfo;
var q = from t in itemsToFilter;
group t|;
cmbNewFilterValue.ItemsSource = itemsToFilter;
cmbNewFilterValue.DisplayMemberPath = pi.Name;
cmbNewFilterValue.Text = string.Empty;
}
}
to a C# project in VS2008. This is a "simple" test project, not a form, so it may not be a good test. I added a bracket and a semi-colon to your code to make it look more sensible. When I type a space at the marked spot "nothing" happens, "t" is left as "t".
Are you seeing this problem all over the place? I am wondering if it is somehow related to project settings or the surrounding code. |
zen is the art of being at one with the two'ness |
|
|
MiddleTommy
Junior Member
14 Posts |
Posted - Mar 06 2008 : 4:50:10 PM
|
It is strange erratic behavior that only happens about half the time. So I dont know how to tell you fix it. But there is a Problem that sometimes happens and sometimes doesnt.
Its like taking in your car and those squeaky brakes are not squeaky anymore. but a week later the squeak is back. |
|
|
feline
Whole Tomato Software
United Kingdom
19022 Posts |
Posted - Mar 06 2008 : 5:25:14 PM
|
Unfortunately some problems are like this. The random nature may simply mean that it only goes wrong under specific conditions.
When you see the problem, if you delete the letter "T" and retype "t" does this work correctly, or is it converted to upper case again?
If you can reproduce the problem can you try disabling VA and retrying, to see if this makes any difference?
Are you seeing any form of listbox flash by? This might be very quick, if it is appearing and being accepted by the space. If a listbox appears with "T" as the default item then space might be accepting it. |
zen is the art of being at one with the two'ness |
|
|
support
Whole Tomato Software
5566 Posts |
Posted - Dec 01 2008 : 07:41:11 AM
|
case=10695 is fixed in build 1707 |
|
|
support
Whole Tomato Software
5566 Posts |
Posted - Aug 04 2010 : 5:38:32 PM
|
"Selections committed with" behavior for member lists is now configurable under VA Options | Advanced | Listboxes. (case=9369), implemented in build 1829. |
Whole Tomato Software, Inc. |
|
|
|
Topic |
|