Snippet Designer/Editor for Visual Studio 2010 - visual-studio

What Editors/Designers for creating Visual Studio 2010 Snippets are there?
I would like to be able to put in different replacements (ie spots where the text should be replaced). A low incidence of blocking bugs is also nice.
So far the only one I have seen is Snippet Editor 2.1. I am going to dig into it and see how it works, but I did not want to spend too much time on that app if there is a better one out there.

I like Snippet Designer by Matt Manela and chose to use it in my Extending Visual Studio course. I like the Snippet Explorer and searching snippets as well as the designer view to help you edit them, including replacements. It also gives you a nice Export as Snippet context menu item. And the code is on CodePlex if you would like to learn how it's done.

Go to the Visual Studio Gallery and search for "snippet" in the "Find" box. You should find several options (e.g. Snippet Designer, Snipper, etc.). I haven't used any of these so I can't attest to how good they may be but at least it's a start.
Hope this helps.

Resharper (not free) has it's own snippet system which is really great. I'm adding this answer because I was searching for something not realising I already had something installed (Resharper)

Related

How to extend IntelliSense items?

I would like to manually extend the IntelliSense list by various items. I want to be responsible for the action triggered by the item (i.e. code completion and tooltip info). It doesn't matter what items.
Is this possible with an VisualStudio add-in, ReSharper / DXCore or any otherg plugin?
Background:
Some of you may know FOP (feature-oriented programming). FOP would require various changes to intellisense and editor behavior.
Edit:
Another interesting post.
This is definitely doable very easily by writing a ReSharper plugin.
Start by implementing ICodeCompletionItemsProvider which will provide additional IntelliSense items. The easiest way is to inherit from ItemsProviderOfSpecificContext<TContext> (with TContext being CSharpCodeCompletionContext if you're interested in C# code completion).
Your provider will add the additional items in the implementation of AddLookupItems(). You have the chance to provide a custom implementation of ILookupItem here: the Accept() method of this interface will be called when the user chooses the item in the completion popup. Here is your chance to execute the code you need.
Note that this information is for R# 6.1/7.0. I don't think it is much different in previous versions though. Obviously, you have to enable ReSharper IntelliSense instead of Visual Studio IntelliSense for this to work.
Customized intelliSense for VS2010 XML editor can be added by putting customized xsd files in C:\Program Files\Microsoft Visual Studio 10.0\Xml\Schemas folder but I guess you are looking for something more.
You should take a look at Creating and Using IntelliSense Code Snippets and decide whether it is what you are looking for. This question on programmers.stockexchange might also be helpful. This question also seems similar which suggests CSharpIntellisensePresenter(Free).
Maybe ReSharper's Live Templates can help you (ReSharper->Live Templates...).

Resharper Compared with Visual Studio 2010

I've heard that Visual Studio 2010 = Visual Studio 2008 + Resharper. I'd like to know how true that is. I don't want to start using Resharper to accomplish superficial things, nor to accomplish things that VS 2010 now already handles. I'm sure Resharper 5.1.X offers features that VS 2010 does not have, but which of those - in your opinion - represent the true value-adds? Which of those "truly-valuable" features are available only in the licensed copy?
This is a 'joke' based on the fact that Microsoft supposedly released a screenshot of 2010 with ReSharper UI visible.
VS.Net 2010 definitely does not go any way towards making ReSharper redundant!
Resharper adds alot to VS2010. Just check out this comparison matrix.
I'm sure Resharper 5.1.X offers features that VS 2010 does not have, but which of those - in your opinion - represent the true value-adds? Which of those "truly-valuable" features are available only in the licensed copy?
All features are available in a non-licensed (demo) copy. Check out this post of what single feature people like about Resharper.
I know this is slightly off topic. However, as a response to whether VS2010 is making Resharper redundant;
I've upgraded ReSharper from 5.1 to 6 roughly 1 month after release. It got slower. To the point when I have to Suspend it occasionally - particularly when doing lots of work on JavaScript, CSS or larger template files (Razor). Sad thing is it just gets slower.
At home, I'm using just a plain VS2010 Professional without any add-ons. And it just feels like a breeze - everything is responsive and there are no hiccups when copy pasting (during manual re factoring). Admittedly at work I have T4MVC and Chirpy installed along Resharper.
Feature wise, what I'm using in ReSharper:
Auto usings (alt + Enter)
Cannot use auto include references as it gets it wrong 80% of the time
Refactor: initialize member variable from constructor parameter
Refactor: replace with LinQ expression
Sadly that's about it. In light of this, because of the slowdowns I'm considering dropping ReSharper altogether. This is my grievances:
Delay every time I copy a piece of code in order to move it - anything from half a second to 2 seconds. Please note the delay increases with project / solution size
Auto completion in JavaScript and CSS: 95% of the time it inserts code I don't want - in particular () after selecting an object property. Getting fed up having to delete the brackets each time
class name and id suggestion. This happens in CSS as well as Razor template. It will try to insert an existing class name / html id when you are in fact creating a new one. It will do this whenever you press space. Instead you have to press escape.
Pasting code. Again when refactoring manually and code is moved from one class to another it will keep pestering you with all missing usings. First you have to press Escape for "Insert all missing usings" and then once for every occurrence of a class without a reference. Usually you want to change something upon pasting code but this feature makes code unreadable with all the popups.
I could go on abut the things I find annoying with ReSharper. Not trying to offend any die-hard productivity tool enthusiasts, bottom line is VS2010 is on it's own a very decent IDE and a lot of ReSharper features can be found within it - though not always intuitively.
If you are just learning C# ReSharper is a great tool that helps you organize your code better. But if you've been working with .NET for a while you will most likely find it intrusive and hampering productivity on some occasions.
Re#er still got much stronger code check and refactoring options.

Is there anything like Eclipse Perspective in Visual Studio?

I was wondering if there's anything like Eclipse Perspectives in Visual Studio (2008 or 2010).
For those unfamiliar with Eclipse, here's a definition of Perspectives:
A perspective is a visual container
for a set of views and editors
(parts). These parts exist wholly
within the perspective and are not
shared. A perspective is also like a
page within a book. It exists within
a window along with any number of
other perspectives and, like a page
within a book, only one perspective is
visible at any time.
Let me give you a visual example:
Java Perspective:
SVN Repository Perspective:
Maybe there is nothing like that straight out of the box, but with some plugin. If that's the case, it'll also be a valid answer.
Thanks for your time.
I used Brian's blog post as a starting point and made a VS2010 extension: http://perspectives.codeplex.com/
More info here: http://csharpening.net/blog/?p=292
It's probably not as complete as the VSWindowManager but lets you save your configurations and create new ones. Let me know if it works out!
I found this http://vswindowmanager.codeplex.com/ but it's for 2005.. there is a branch for 2008 in the source code but i don't know if it works... I think I'll give it a try and post any results...
It would be great if it works also for 2010!!! When you work in 1024*768 it's really annoying to rezise the windows every two seconds!!!
Good luck!!
You can check out my blog post which provides the ability to list and switch window layouts in Vs2008 and Vs2010: http://www.brianschmitt.com/2010/09/save-and-change-tool-layout-in-visual.html

Is it really worth purchasing R# for VS2010?

I heard that R#5.0 (still in beta) will support VS 2010. My question is
VS2010 == VS2008 + ReSharper ?
I know there are many improvements to VS2010, so I 'm not sure weather is it really worth purchasing the R#5.0 for VS2010?
Well, I haven't explored VS 2010 new refactoring features that much, but its my understanding that VS has some but definitely not all of resharpers features implemented (From MSDN):
Navigate To
You can use the Navigate
To feature to search for a symbol or
file in the source code.
Navigate To lets you find a specific
location in the solution or explore
elements in the solution. It helps you
pick a good set of matching results
from a query.
You can search for keywords that are
contained in a symbol by using Camel
casing and underscore characters to
divide the symbol into keywords.
For more information, see How to:
Search for Objects, Definitions, and
References (Symbols).
Generate From Usage
The Generate From
Usage feature lets you use classes and
members before you define them. You
can generate a stub for any undefined
class, constructor, method, property,
field, or enum that you want to use
but have not yet defined. You can
generate new types and members without
leaving your current location in code,
This minimizes interruption to your
workflow.
Generate From Usage supports
programming styles such as test-first
development.
IntelliSense Suggestion Mode
IntelliSense now provides two
alternatives for IntelliSense
statement completion, completion mode
and suggestion mode. Use suggestion
mode for situations where classes and
members are used before they are
defined.
In suggestion mode, when you type in
the editor and then commit the entry,
the text you typed is inserted into
the code. When you commit an entry in
completion mode, the editor shows the
entry that is highlighted on the
members list.
When an IntelliSense window is open,
you can press CTRL+ALT+SPACEBAR to
toggle between completion mode and
suggestion mode.
So I guess it would depend on which of Resharpers features you want to use. If you are satisfied with the above which is certainly great improvements, then you don't need Resharper.
On the performance question, well it might perform better because of tighter integration.
Personally the above leaves me still needing a lot of features like (just the ones i can think of right now - might be more):
There are as far as I can tell only about 6 refactorings, where resharper currently has more than 30
No import type completion, which i use ALL the time. One shortcut adds to references and adds import statement
No smart completion
Change namespace to follow navigation structure and update all references with one shortcut
Goto is more advanced in R# you can go to inheritors and bases,
file member, recent files and edits and theres the fast goto feature
Resharpers static analysis is far more comprehensive than what you get from VS
So what do you need? (I am definitely not giving up Resharper)
Peter,
Best person that can answer this question is yourself. What I suggest is you download it, learn it (and note I said learn it, not just play with it). Then decide. However, I'll warn you that it's quite addictive.
My question is VS2010 == VS2008 + ReSharper ?
Oh hell no. VS2010 has more features than VS2008, and some of those feature ideas were stolen from ReSharper, but vanilla VS2010 is still a long way behind VS2010 + ReSharper 5 or even VS2008 + ReSharper 5.
From a quick glance at my 31 Days of ReSharper blog posts (written back in the R# 2.5 days), here are just a few ReSharper features that are still not present in VS2010: (Please correct me if VS2010 does have any of these -- I haven't actually used it that much without ReSharper!)
Unused code highlighted in gray and with quick-fixes to delete the unused code for you (this is just one of many hints and warnings R# does that VS does not)
Visual indication of where you have hints, warnings, and errors in a source file (colored stripe next to the vertical scroll bar)
Integrated unit-test runner that's not locked down to only MS's test framework
Shared settings for code formatting, code templates, etc. -- check these settings into version control, and they'll be picked up automatically by other computers (no manual export/import)
Go To Type -- a pop-up window where you can enter a type name (or part of the name) and jump straight to the right source file
Navigate to derived types / overriding methods
Code Structure View -- view a list of members in your type, and drag/drop to reorder them in your source code
R# will suggest variable names for you
You can invoke an Intellisense dropdown that shows types from all namespaces (and then it adds the using for you)
It's eerily good at guessing what you meant when you tell it to fix an error for you
Remove unused braces and Invert If
Generate Code (I particularly like Generate Equals and GetHashCode, even though I use them very rarely)
Viral Rename (if you rename a type, it'll also suggest that you rename any variables that were named after the type)
And best of all, Safe Delete.
Safe Delete rocks.
And that's just the features that R# had in 2.5 when I wrote the 31 Days of ReSharper. They've added plenty of new features since (I just don't have a comprehensive list handy). A couple of my favorites are the background solution-wide analysis, which will tell you in nearly real-time if you have compiler errors anywhere in your solution, and Inspect > Value Origin, which is just wicked cool.
If your having to ask the question, my guess is that you're not using ReSharper to its full potential. Personally I find that R# writes most of my code for me and I feel like a noob using visual studio without it.
YES. unequivocably YES.
After migrating to Visual Studio 2010 we asked our development team if buying Resharper upgrades is worth the investment. The votes were unanimous: yes!
Btw: we use VS2010 Premium and the devteam has its own budget.
Why don't you try out the R# 5 betas and then you can decide if you're using enough of its features to justify purchasing it.
http://confluence.jetbrains.net/display/ReSharper/ReSharper+5.0+Nightly+Builds
ReSharper has been around long enough that developers might purchase the upgrade just out of habit! :)
I recall that when VS2008 was released, R# wasn't quite ready, and there was griping among the .NET community about it. "Must...have...ReSharper!". Heh. Jetbrains appear to be on top of it this time though.

Replacement for default Visual Studio Resx editor?

Anyone has suggestion for something that's better than Visual Studio default Resource string editor? Not looking for standalone Resx editor, just something that has better navigation between strings in Grid, better support for long strings, etc.
Thanks.
ResXManager is another great free tool that integrates with Visual Studio.
From the site:
You can quickly navigate through all resource files and view the content in a well-arranged data grid. It makes it easy to find untranslated strings or clean up orphaned entries. All strings can be quickly edited in place, ...
The tool is still updated and is available as VS2012-2017 extension and standalone executable to support VS2010 and older.
This tool ResEx inherited from Dimitris Papadimitriou is awesome.
Features I love:
Warns you if you are missing a {0} that is defined in the default resx file
Translate side by side
Warnings about shortcut characters
A wee bit on the late side:
I find Zeta Resource editor very useful.
More or less the same feature, and quite polished:
Auto-translate
Warning of inconsistent formatting arguments
Load from VS solution
Nesting of translations
Colors indicating translation status
Addendum: it seems Google Translate / Bing Translate have changed into being a paid services. Auto-translation is still available, yet you need an API key and billing information.
There is a extension for Visual Studio Code which works pretty well and it's cross platform.
https://github.com/DominicVonk/vscode-resx

Resources