Has anyone found a Metric Shader type plugin for VS 2010? I was using a really good one in VS 2008 that is a plugin for Dev Express DXCore:
Metric Shader
But it doesn't work in VS 2010. I found this to be a tremendously handy tool while refactoring and would really like it 2010.
Thanks!
I will certainly be upgrading the plugin to work with VS2010. The graphical subsystems of both VS2010 and CodeRush have been largely rewritten and this means that some of the older GDI based dxcore APIs are no longer supported. I am currently looking at how best to reimplement this functionality. Watch this space ;)
Related
I am trying to find a way to generate UML diagrams (sequence diagrams, class diagram, etc) from my C# code written in Visual Studio 2012.
I saw a link on http://office.microsoft.com/en-us/visio-help/about-reverse-engineering-code-to-the-uml-HP001208803.aspx that I could bring my Visual Studio project into Visio.
But its first part where it says "In the Visual Studio environment, reverse engineering is activated from a command on the Project menu." doesn't work for me because I cannot find a reverse engineering option under the Project menu.
How can I generate UML diagrams from C# code written in Visual Studio 2012 into Visio 2010?
Microsoft no longer considers Visio to be a software engineering tool. There was a version known as "Visio for Enterprise Architects", which had this integration with Visual Studio. It was available with the highest-end edition of Visual Studio.
I believe it was last supported with Visual Studio 2005, though that might have been 2003.
Visual Studio Ultimate now has its own built-in UML features which do not rely on Visio.
Blast from the past. It's been a while since I've reverse engineered anything into UML so my knowledge may be outdated.
In any case, as far as I remember, code reverse engineering using Visio is a Visio feature not a Visual Studio feature, thought some versions of Visual Studio have their own modelling features.
In order to use Visio reverse engineering you need make sure the Visio UML addin is installed (it should be available in Professional and above versions of Visio, but may not be installed by default.)
Here's a rather old step by step of the process for an old version of Visio and Visual Studio. I don't think the process has changed that much (though obviously the languages supported have changed.)
In any case I never liked Visio for UML (truth be told I never liked Visio.) I rather liked Sparx System's Enterprise Architect for modelling, and their reverse engineering was quite good when I used it on .Net 2.0. I don't know how their current version copes with the newer features. I also like their "from scratch" modelling environment better.
Finally keep in mind UML is supposed to be a modelling not a programming language. I.e. it is meant to convey the high level design so the overall architecture of a solution can be more easily understood; or to model key dynamic interactions, again, so the implemented or proposed solutions to the modeled problem can be more easily understood.
Reverse engineered UML diagrams often have too much information for them to be useful, and it is difficult in any case to translate the precise semantics of a specific language into UML. You may be better off creating diagrams from scratch. Other than deployment and package diagrams, it should be understood that UML diagrams represent a high level overview or specific high level dynamic interaction representation, not an as-developed representation.
This depends on which version of the product you are using. I have Visual Studio Professional 2012 and I don't see this option. This makes sense if you look at the product features. If, however, you look at the product features of Visual Studio 2012 Ultimate, you will see UML modelling, and various other visualisation tools.
Visual Studio 2010 non-Ultimate version allowed for this UML generation by using Feature Pack, which hasn't been developed for Visual Studio 2012 yet. As Dominic mentioned (he beat me to it), Visual Studio 2012 Ultimate should allow for this though.
Visual Studio Ultimate 2012 can generate very nice sequence diagrams for C# code when you just select a member (method name); and it fails constantly at my place if I do the same for in VB code.
This in contrast to Enterprise Architect from Sparx, the most advanced CASE tool for UML and other modelings AFAIK.
I've been checking out Unity and it looks quite interesting.
In particular after reading you can use C# as the scripting language, I am left wondering if there is some sort of Visual Studio integration to leverage IntelliSense and all that jazz built into VS.
Unity has a wiki page explaining how to do this. It seems that the latest version of Unity should already allow you to create a Visual Studio project (if you're running Windows). However, it seems only VS 2008 is supported natively. You can follow this workaround to get it to work with VS2010 (except VS2010 Express Edition) to some degree.
Unity exports a VS 2008 project. I built a VS 2010 exporter so you can avoid fighting with the upgrade wizard. http://u3d.as/2gR
You can check UnityVS from SyntaxTree. With this extension you can code & debug Unity 3D games using VisualStudio
http://unityvs.com/
Disclaimer: both Sébastien and I are working on UnityVS
Microsoft have now acquired UnityVS company SyntaxTree, and are offering UnityVS for free for Visual Studio 2010-2013 Professional or higher.
You can download it here, or get it from the Visual Studio Extensions Gallery.
As of Unity 5.2, Visual Studio Tools are supported by Microsoft for Unity on Windows. Source
For OS X, Visual Studio Code can be used directly with Unity. Source
Is there any tool for showing the cyclomatic complexity for Visual Studio in the left hand bar where the debug symbol goes?
I seem to remember there was an addin for Resharper but don't think it works in 4.5
Has anyone seen any similar tools, other than the built in support in VS
A standalone tool with lots of metrics (including cc) is ndepend.
I believe CodeRush had it 'interactively'.. but heck, why bother, there are sources on the web that will give you commercial-free ideas and implementation.
Coderush from Developer Express will do this and it works well. I vouch for it. (and have no relation to the company other than a long time customer)
McCabe IQ (www.mccabe.com/iq.htm) developed by the man who authored Cyclomatic Complexity, Tom McCabe.
Code Metrics is an excellent free plug-in for reflector that analyzes code size & complexity.
Visual Studio 2008 Team System (or just VS 2008 Developer Edition) has Code Metrics.
StudioTools is a free addin for VS 2005 and VS 2008. NDepend is good too.
Since there is a Sharpdevelop 3.0 ( http://www.icsharpcode.net/OpenSource/SD/Download/ ) can anybody tell me how it compares to the Express Editions ? ( http://www.microsoft.com/Express/ )
I tried to find differences, but could only find this old post http://community.icsharpcode.net/blogs/mattward/pages/VisualStudioExpressComparison.aspx
I wrote a blog-post about it, you can find it here
In my conclusion I say:
Conlusion
If I have to choose for web applications than the express edition wins easily. The build in webserver, the graphical designer with split screen functionality and javascript debugging just make it too good.
If you think you really need to work with a database from within the IDE than also SharpDevelop is not for you. If you want to create a windows forms or console application both will work fine, if you want to build these applications more seriously and use a source control system, static code analysis and stylecop from the IDE you need SharpDevelop !
If the express editions would allow third party extensibility (Resharper) and solve my little annoyances, it would be number one.
If SharpDevelop would get a resharper add-in, a graphical designer for web pages and a build in web server, it would be number one.
SharpDevelop is a free/opensource project. Where as Microsoft Visual Studio Express Edition is a crippled Visual Studio lacking some of the tool/features that help in release commercial software.
If you are planing on using Visual Studio in the future, then use express edition. Otherwise I would highly recommend SharpDevelop.
In terms of features, they both have debuggers, they both have syntax highlighting and code completion. They both will have all the features you expect from a full out RAD IDE for .Net.
The other issue that is worth mentioning is the unit testing support in Sharpdevelop. Nunit can be integrated into the IDE and that is a huge gain IMO. Unit testing in #Develop is far superior to MSTest and Nunit with VS is not integrated into the IDE.
Is it possible to use C# for free? Which tools would you use?
For fun/studying: I'm pretty sure you can, but still, the tools question remains.
For programs you wish to sell?
The tools I'm looking for:
IDE (as complete as possible: debugging, refactoring, libraries, IntelliSense etc.) - also, if it's not included in the IDE, compiler.
Unit Testing,
Documenting (extracting comments as with JavaDoc),
Deploying.
Other suggestions for nice free tools are also welcome.
Note that IMO, Visual Studio Express is NOT offering all these tools.
IDEs:
Visual Studio 2017 Community. It has a subset of Professional Edition's features, but all that you have mentioned. You may want to Compare Visual Studio 2017 Editions. High school and university students are eligible for free licence of VS Professional from Dreamspark.
Sharp Develop
Mono Develop
standalone compiler:
csc.exe, vbc.exe and msbuild.exe are a part of .NET Framework. Windows SDK tools is also free. Or you can use compiler from Mono project.
Unit Testing:
NUnit, mbUnit, xUnit and many, many others.
Documenting: (extracting comments JavaDoc-style)
GhostDoc - not for Express Edition
Deploying:
NAnt, Cruse Control .NET
While OP says:
Visual Studio Express is NOT offering all this tools as claimed!
What doesn't C# Express provide that you want?
serious deploying, unit testing, documenting
Yet, IMO you can do that with Visual Studio Express.
Deployment
Visual Studio Deployment projects are certainly missing from Visual Studio Express, but frankly that's not much of an omission. The whole feature is half baked, good enough to tick off a feature list, good enough for toy deployments but, arguably, not really up to the rigors of the real world.
Windows Installer XML (WiX) is an open source toolkit from Microsoft for creating installers. The installer for Microsoft Office 2007 was reportedly built with WiX, so it's reasonable to believe that it can handle any smaller case.
Another installation tool is the Nullsoft Scriptable Install System, perhaps easier to understand than WiX, but also not using with the MSI technology built into Windows and therefore harder to manage in the Enterprise case.
Unit Testing
The Microsoft testing framework is MSTest, and while it's up to the task, it's not the leader of the pack. In fact, if you google around for reactions to MSTest, you'll find many who think it a ripoff of NUnit.
There was a time that you could integrate any of the test tools into Visual Studio Express, using Test Driven.Net, though that no longer works.
What does work is to use the external runner programs for your unit testing tool - all of the major unit testing frameworks come with them. When using VS Express myself, I tend to have the test runner hanging around in the background; rerunning tests then just involves a task switch.
NUnit is the grandaddy of the .NET testing frameworks, and it works very well. There are others around though, such as mbUnit and xUnit.
Documentation
No version of Visual Studio has a good story for documentation. In fact, they all have the same story - a compiler switch to generate XML files based on the documentation comments.
To convert those XML files into real documentation, you need other tools. NDoc used to be the standard, but that project is unfortunately now dead (quite a sad tale). Sandcastle (another Microsoft Open Source project) is likely to become the new gold standard, but the tool isn't yet as mature and easy to use as we would like. DocU is a new release in this field, might be worth followup.
Conclusions
As you can see, there are good ways to achieve the goals you want, even using Visual Studio Express. In fact, there are only two things you'll gain from moving up to a paid version of Visual Studio.
You'll get MSTest, if you want it.
You'll be able install extensions/plugins like TestDriven.NET and Resharper.
For someone getting started, I don't think the value proposition is there. Start with the free tools and spend money when you have enough experience to spend it well.
IDE (as complete as possible, debugging, refactoring, libraries, intellisense, ...) => Sharpdevelop (#develop) an Open Source IDE for .Net with support for multiple languages.
If not in IDE, compiler
=> As mentioned by Jozef
Unit Testing => Sharpdevelop, NUnit integrated inside
Documenting (extracting comments eg, cf javadoc) => Sharpdevelop, SandCastle and SHFB integrated
Deploying => Sharpdevelop, WIX integrated.
Check out all the features for Shardevelop at SharpDevelop Features
Its free to create programs and sell. For fun you can develop some more features inside it :)
You can download Visual Studio Express. It includes all that you are asking for. Here is the linky :)
Good luck!
http://www.microsoft.com/express/download/
Visual C# express edition
Visual C# express edition
Nunit
SandCastle
Don't know , I'll let someone else answer that.
Look at Visual C# Express for your IDE and compiler, NDoc for your documentation, MbUnit or NUnit for unit testing, and I believe C# Express will handle deployment as well.
Visual Studio 2008 Express, (or Visual C# 2008 Express, if you don't want to use other languages) is a good choice. It's free.
Non-Microsoft, try SharpDevelop
Edit: if you are a student, and your university is MSDN AA certificated, you can get Visual Studio 2008 Professional for free. Yes, free.
http://www.microsoft.com/express/vcsharp/
https://www.dreamspark.com/Products/ProductList.aspx (if you're a student:)
Also look at WiX for deploying - this allows you to create MSI files.