T O P I C R E V I E W |
ity |
Posted - Feb 10 2008 : 2:19:05 PM Hi,
Acronyms and shorthands are the max (I bought VA almost exclusively for this features). However they are half as useful as they could be because they only work for symbols used in the current project (by design).
I frequently find myself typing very long class names from other projects/namespaces in the solution and wasting time typing different acronyms and/or shorthands hoping the type has already been used in the project and VA will offer it. Many times I just have to backspace and use Shift+Alt+Space to let the trial of ReSharper to lookup the type I am looking for.
Suggestion: Enable an option to allow acronyms and shorthand to work like now or solution-wide. This shouldn't be too difficult since the find symbol window works solution-wide already.
An alternative to having an option would be to start like now (with only the symbols used in the project) and using a shortcut (Ctrl+Space?) to expand the scope to solution-wide.
Another alternative would be something like the find symbol window but instead of navigating to symbol, inserting it at the caret position (along with the namespace if it has not been used already).
Thanks, Ity
|
9 L A T E S T R E P L I E S (Newest First) |
support |
Posted - Sep 13 2008 : 01:03:15 AM case=12853 is implemented in build 1649 |
ity |
Posted - Feb 13 2008 : 3:05:17 PM Thank you feline.
I don't know about others but I have been using this feature of ReSharper a lot. I work with many projects (some code-generated) with many namespaces and very long symbol names, and always having to lookup the namespace is a PITA, so my "flow" is already interrupted. In C++ you can have a master header file that includes all the other commonly used headers but in C# this is not possible, every file has to explicitly include all the namespaces it uses.
Of course, my preference would be to integrate it with the completion listboxes as outlined before but an "Insert Symbol" window activated with a shortcut is the next best thing. |
feline |
Posted - Feb 13 2008 : 12:35:54 PM This is an interesting idea. I can see the advantages to this dialog. No need to worry about included namespaces, plus the filtering and excluding features of the Find Symbol dialog is useful.
My only real concern is how useful this will be in the real world. Once you have added the correct using namespace line to a file the symbols will appear in the listboxes as normal. Plus you have to go into the dialog to get the symbol name, which interrupts the "flow" of typing in the editor.
I have put in a feature request to see what our developers make of this. The Find Symbol dialog already exists, so this does not sound to hard to implement, and it should be useful.
case=12853 |
ity |
Posted - Feb 13 2008 : 07:22:16 AM This is part of what I meant with "staying a little behind". What you say is what VA now provides. This topic is about an improvement. This should be pretty easy to achieve. If you don't want to mess with the completion listboxes, you could provide an "Insert Symbol" window (the same as "Find Symbol" but inserting the symbol in the editor instead of navigating to it). |
feline |
Posted - Feb 12 2008 : 2:50:24 PM The content for member and completion listboxes in C# comes from the IDE. VA does not attempt to generate this content its self. As a result you will need to add the appropriate using namespace line, fully qualify the type, or type all of the type name. |
ity |
Posted - Feb 11 2008 : 5:16:55 PM Yes, VA is behaving correctly, (almost) according to the published specs (except for some coloring problems on tooltips, sometimes missing obvious symbols and flicker on tooltips, but these are minor and I can live with that).
If I "use" the correct namespace VA offers the symbols correctly but that's the point, I want VA to offer me the symbols even if they are not in a "used" namespace. VA knows those symbols because when I type them completely VA offers me to insert the necessary using statement, something that, while still useful, I find a little too late. Perhaps showing all the symbols upfront would be too much. Maybe using CTRL-SPACE to cycle among the following scopes could be viable: (as is now)->(defined in referenced assemblies)->(defined somewhere in the solution). Anyway, I don't think that widening the scope will clutter the listboxes too much, I am able to find a symbol with a few keystrokes in the find symbol window, and here we are talking about a lot less symbols because the members don't count. |
feline |
Posted - Feb 11 2008 : 3:25:47 PM That piece of text surprises me. I need to ask about that. Shorthand and Acronyms control how a listbox is filtered, not the actual content of the listbox.
I have just done a quick test here, using VS2005, VA 1626, and a solution containing 2 C# projects. Project 1 defines an enum "TestEnum".
Sitting in a cs file in project 2, which has the correct using statement to expose the enum, I type "teen" and this filters the listbox correctly, and the current item is "TestEnum". The tooltip tells me that the correct item is being found.
Are you seeing these symbols from other projects in your listboxes at all? What happens if you press CTRL-SPACE? Are the symbols now listed?
Support for C# vs C++, we are working hard on both. We have a much longer history of C++ support, since it is an older language, so that gives it an advantage. |
ity |
Posted - Feb 11 2008 : 11:28:41 AM Hi feline,
I am working with VS2005 and VA 10.4.1624 in C#. Solution with 10 projects.
According to my experience and the documentation quote: "Like acronyms, shorthand works best in code with consistent naming conventions, e.g. in C#. As well, shorthand finds only symbols within your project and those typed recently. Shorthand does not find symbols not used in your project. This policy helps prevent shorthand from matching unwanted, esoteric symbols."
This is OK for maintaining code or working with repetitive code but for new code it doesn't offer all the help that it could.
I have been happily using VA (and introducing it to my employers) for almost 9 years and I would like to see it stay on par with the competition. For C++ it is king but on .NET languages it is staying a little behind. |
feline |
Posted - Feb 11 2008 : 10:29:33 AM Are you working in a solution with many projects in it? Or are you talking about different solutions?
VA is designed to suggest symbols from all projects in the current solution.
Which IDE and version of VA are you using? Which programming language are you working in? |