Visual Studio graphic modules designer - visual-studio

I want to create a smart and easy way to produce and generate code automatically.
It's not easy to explain, but what I want to do is something like what codefluent software (http://www.softfluent.com/) does. So design graphically a model and what is generated is a collection of classes in according with some rules defined for my context. Otherwise, also a tool like Telerik which is integrate in Visual Studio and through a custom menu it's possible to manage particular behaviours of the application.
I know that my request is not clear and so general, but also my acutal ideas are in an embrional state. I see that Visual Studio support a DSL SDK (vsvmsdk) which permits to specify and design an own language. But I can't understand if it is exactly what I need.
Anyone can suggest me a different tool or maybe a documentation about what I can do in Visual Studio to reach my goal?

CodeFluent Entities is a custom-made tool, it's not relying on any 3rd party software. The graphical surface is using WPF with special algorithms and specific lightweight treeviews. (disclaimer: I work for this company, and I helped develop that software).
That being said, if you want to quickly develop something, you could indeed start with the http://archive.msdn.microsoft.com/vsvmsdk you mention (VSVMSDK is the successor of the DSL SDK, aka 'DSL Tools'). It has the big advantage of being free. Note however the future of this component at Microsoft is unclear, as they seem to prefer 'Code-first' over 'Model-first' now.

Related

User Interface Designing Tool for WPF using Powerbuilder

Can anyone suggest me any tool for designing user interface for WPF that can be used in Powerbuilder.
Before this I found a few tools such https://mui.codeplex.com/ and http://www.nuget.org/packages/MahApps.Metro but I got problem to use those in my Powerbuilder.net. I don't know either something I missing when try to using them or those tools really not support Powerbuilder.I want to design interface like window 8, so I need tool that can give interactive design. Thanks
Sorry for my bad English T.T
I was trying to make it work for you to show by example but I didn't have time to get it done. This should work fine.
First, make sure you add all the references (dll's) needed. In Visual Studio "NuGet" adds all the required references. I believe you need MahApps.Metro.dll, GreyscaleEffect.dll and System.Windows.Interactivity.dll at a minimum. Add them to References in your Solution Explorer.
Then in windows you need to add namespaces depending on what features you want to use, and just like in visual studio you can use the namespace "name" as prefix to use the features of the MahApps assemblies.
PowerBuilder WPF uses the Visual Studio Isolated Shell so it basically works pretty much the same.
hope this helps.
Rich

Add Simple Language Support to Visual Studio 2010

I'm developing some VBScript using Visual Studio 2010. The native support for this language isn't great, so going forwards I'm hoping to look into taking advantage of language services / VS Extensions to allow me to improve support for these languages.
For the moment however I just want to make my life simpler by adding a couple of features:
Allow the VS Task List to recognise my 'todo: comments
Allow c# like #region...#endregion functionality to make it easy to break the script up into more easily readable blocks (to comply with VBScript I'd stick an apostrophe before the hash to make it a comment).
Is there a simple way to do this through configuration in VS, or do I have to create an entire language service to get this functionality?
What I'm asking may be impossible; but thought it worth asking on the off chance.
Thanks in advance.
My bet is you could do the tasklist stuff with a simple extension:
http://msdn.microsoft.com/en-us/library/163ba701%28v=vs.80%29.aspx
But to do the #region behavior I'm fairly certain you need a simple stripped out Language Service to get to the Source's AuthoringSink
http://msdn.microsoft.com/en-us/library/microsoft.visualstudio.package.authoringsink.addhiddenregion.aspx
and
http://msdn.microsoft.com/en-us/library/microsoft.visualstudio.package.authoringsink%28v=vs.90%29.aspx

Is TypeMock only solution when working in brownfield development?

I am starting a maintenance project where I need to work with legacy code and also create new ones. New ones I can create proper interface based development and I can use Moq to do proper unit testing. I can't use Moq against the legacy code since they do not have proper coding to mock out the objects. Based on the reading, Typemock looks like an excellent fit since I can isolate the object and return what we want when a method is called on legacy objects. I really like the simplicity and ease of development. I would like to know is there any other tools out there like Typemock I should look at before committing to it since I have to pay for it.
Thanks
PS: ours is Microsoft shop we work with C#/ASP/ASp.Net/Silverlight and VB.Net
** I just found that Infragistics have one mocking tool as well.
What you're looking for is a mocking framework that uses the Profiler API. These are the ones that can "mock anything" because they sort of run "underneath" the code being tested.
When considering one of these, you'll want to think about things like:
Integration support: Does it work with the tools you're using? For example, your build server, coverage tool, unit testing tool, etc. Are there any additional tools it comes with (e.g., Visual Studio plugins) that might help you work with it?
Technical support: If something goes wrong or you find a bug in the product, can you ask someone about it?
Syntax/patterns: Does it support AAA testing or is it only record/replay? How easy is it to start working with?
Community and learning resources: How's the documentation? Are there people out there who can answer your more general usage questions or are you "on your own?"
There are three primary mocking frameworks to consider that I'm aware of:
Typemock Isolator - The most mature with a free license for open source projects, but otherwise not free.
Telerik JustMock - New to the scene, but good features. There is a free/limited version.
Moles - Free from Microsoft, though somewhat less easy to integrate with tools outside the VSTS realm.
Full disclosure: I'm a Typemock MVP and I've been using Isolator for a while. It has thus far been worth its weight in gold, particularly in Brownfield development. I will admit in some cases, where it's more Greenfield, I use Rhino or Moq. It really depends on what I'm doing.
In any case, I recommend evaluating each of the tools yourself to see which works best in your environment. Be sure to see how it integrates, how easy it is to get going, etc. for each one, and then make your decision based on your experience in your setting.

Custom Intellisense Extension

I am wanting to write an addition to intellisense in Visual Studio.
Is it possible to extend at all, from my research I haven't found any samples or documentation on intellisense extensions.
How can I get intellisense to show a simple HelloWorld message like the following (where hello world is added at run time to the intellisense for String):
So in Visual Studio 2010 and later, the extensibility APIs you want to at are under the Microsoft.VisualStudio.Languages.IntelliSense namespace. At a high level, you want to MEF export a ICompletionSourceProvider which will provide the items you need. There are two good blog posts here and here that demonstrate the basic technique.
There are two problems that you'll run into if you wanted to make your screenshot be a reality. (This is why I asked for the scenario, as my advice here would change.) First, this method doesn't legally let you append to an existing completion set, but rather provide a new one. In the UI this appears as two tabs, like the Common/All tabs in the Visual Basic editor. This is a limitation of the current API. You could try to modify one of the existing completion sets in your AugmentCompletionSource but I have no idea if that'd work. It's definitely unsupported, in any case.
Second, it's really hard to know when and where to recommend things. In your example, you said "the IntelliSense for string". Sadly, there aren't any APIs (currently) in VS that let you know what the thing before the dot is. You could do some simple heuristics or try implementing some parser that is Good Enoughâ„¢ for your scenario, but you'll have to accept for now that you won't have perfect results.
The Roslyn project aims to fix the second issue, so you may find it useful to explore a bit further. Since we expect that lots of people will want to extend completion, we're also thinking about offering other extensibility APIs so you don't have to roll a ICompletionSourceProvider from scratch, but such APIs are not in the current CTP.
[Disclaimer: I'm a member of the Roslyn team who works on IntelliSense.]

Preferable technology that I should use to create an efficient and user friendly GUI?

There are many more technologies and tools available to build the front end for an application.
Which is the best technology/tool/platform available using which I can build a better GUI, by which I'll be able to build a nice looking as well as an efficient GUI?
Definition of "better" includes factors such as efficiency,user friendliness,better content control mechanism, navigation and many more.
I know this is a question about which GUI toolkit you should use, but your first technology for producing a user-friendly UI is pen and paper. Sketch out some mock-ups. Draw buttons and menus on construction paper, cut them out, and glue them together. Then try your mockups on about a half-dozen people. You'll quickly find out what makes a good UI.
It doesn't matter how good the UI looks or whether it uses the latest snazzy effects -- if your users can't figure out how to use it, they'll go elsewhere. You need to learn what works for your target audience before you write a single line of code.
Read Don't Make Me Think to learn how to make mock-ups and do user testing.
If' you're tracking an IP address, you'll definitely want to create your GUI Interface in Visual Basic.
Use the .NET framework in Visual Studio 2005/2008/2010 Studio. I haven't developed in any other environment, but I have been able to create nice looking apps in this IDE / Framework.
"Best" depends on what your evaluation function is.
For ease of development, and high quality UI, in a non-web based app it's hard to beat C#/VB or any other .NET language and environment for a windows-based app. Depending on the quality of the UI, MPF will give you greater flexibility and control, whereas windows form will make it easier to develop.
Having used Windows Presentation Foundation for a while now i would highly recommend it. There is a pretty big learning curve and, to be honest, MSFT should have included some controls (the datagrid being the biggest one) that were not included by default (but will be in .NET 4.0). Where WPF and XAML exceed is providing a foundation from which you can build just about anything. You can style ANY part of ANY control and build your own composite controls from scratch. A lot of thought went into binding and value converters and once you get used to the declarative nature of XAML you wont want to turn back. The company I work for has been using it for a couple of years now and the difference between the GUIs we used to develop (mainly winforms and asp.net) and what we develop now are night and day in terms of both look-and-feel and functionality. My two cents anyway...
It depends.
What device will the GUI be used on, hand held, PC, Mac?
What platform Windows, Linux, Web?
What kind of application will it be, accounting, email client, web application?
What audience will be using the application (a GUI aimed at a child may be different than one aimed at an adult)?
All of these things must be taken into account before even starting to formulate an answer to your question.
You have several choices for developing a GUI.
first, if cross platform is an issue consider using Java or Python.
you can also use Adobe AIR and develop the gui in Flex.
If you direct the product to windows only users .NET WPF is the best solution, with a very rich set of control and examples.
You can also use .NET with mono for cross platform compatibility, but WPF isn't currently supported.
Desktop, Mobile, Windows, Linux, Database, OpenGL: Nokia Qt. Wiht Python - PyQt development process is shortest and easy. Application containing all required python & qt libraries and modules is around 30MB with Inno Setup installation is 8MB and will work on Windows 2000 and newer for Python 2.6.x, Python 2.5.x based application will run from Windows 95 to Windows 7.
I think all the attributes you list -- efficiency, user friendliness, etc -- are attributes of a good design rather than a good toolkit. Just about any toolkit can be used to meet those goals. I think the question might be different if you were asking about eye candy, fancy multi-media, etc. There are definitely some toolkits that do that better than others.
If you're interested in usability first (and it sounds like you are), focus on the design then pick whatever toolkit meets your current abilities and can handle your design. For example, if you require 3D images that might narrow your choices; likewise if you need to show videos, that will influence which toolkits you can choose from.
So, start with a good design. From that, create a list of requires for the toolkit -- rich editing controls, video, 3D, etc. And then look for a toolkit that provides what you need.
The best toolkit in the world won't make up for poor design.
Personally after having used Win32, Forms and WPF then going to Mac/iPhone GUI development, I very much prefer the flexibility and high quality of visuals in the Mac/iPhone GUI.
One of the most useful examples is the fact that in NSTable/UITable controls (ListViews or similar in Windows), every cell is a fully customisable View (a Control in Windows).
Where in a ListView you have very little customisation for each cell/item in the view since you only provide details, not an actual control, an NSTable/UITable asks you for a table cell which you can add anything to, such as buttons, switches and image views.
Mac OS GUI development to me is a LOT more flexible and more consistently flexible in that regard. Everything is a View so I can my own contents to anything.
Have you considered Silverlight?
It can be used to create internet applications, but it can also be run out of browser to create desktop applications. It's has significant overlap with WPF though there are differences which might catch you out when swapping from one to the other.
Expression Blend 3 is a very good visual designer and the code it produces is quite efficient.

Resources