I'd like to provide a sort of UI on a commit operation in Visual Studio for my team. How would I go about that, would I create a Studio add-in or is there a TFS event that would help in this case?
Great question! Unfortunately there isn't an extensibility point on the client side (Visual Studio) to be able to intercept a check-in. However, there is a server-side extensiblity point (called an ISubscriber Decision Point) that you can intercept and allow/reject the check-in. Do you think that would be helpful for you?
That extensibility point is not really documented very well but we have some information in Chapter 25 of our new TFS 2010 book (Wrox Professional Team Foundation Server 2010) about how to create one of these.
Another option would be to create a custom check-in policy... That doesn't seem like the best way to solve the problem though and is riddled with its own issues.
Related
Sounds like a very simple question. But What is the difference between TFS and Visual Studio Team System ?
I know TFS is version control and VSTS is collection of tools for developers, architects, testers.
But is TFS a part of VSTS ??
Also what is Visual Studio Team Services ? How are these products different from one another.
Please explain as these things can be sometimes very confusing.
Very short: VSTS is online version of TFS, main purpose: service control: TFVC and Git, but also includes Agile tools, continuous integration and so on.
See more detaled information in documentation.
Basically its local Server vs. Cloud. There are a lot of articles which can be found on the internet. eg. this one.
One major drawback is the reduced possibilities of customizing your development process, WITs and so on. Here is a list of things you can't in VSTS: Click
But is TFS a part of VSTS ??
No - its an online version of TFS.
If you have more questions, feel free to ask - but try to be more specific.
Our organisation is using Team Foundation Server. At the moment, developers are manually adding issue tracking references to their check-in comments. We have a custom check-in policy that enforces a valid reference has been added to the comments.
What I'd like to be able to do is provide the user with a user friendly dialog/UI component that allows them to select an issue from a list which will then insert the reference, in the required format, into the comment box.
We are mainly using Visual Studio 2010 but some development still happens on Visual Studio 2008. The issue tracking software is a 3rd party one called OnTime.
Is this possible? Can someone help point me in the right direction.
Doh! It was as simple as creating an instance of a form and calling ShowDialog within the Evaluate method.
I'm having some trouble with some team members accidentally checking in code across (usually unrelated) Team Projects. I could flog them for not being careful or try to find an easier way to bring this to their attention. We are running TFS 2010 & VS 2010.
Is there a TFS check-in policy to prevent check-ins across team projects?
I'm really disappointed by these responses. TFS is a tool to make developers work better and more efficiently. To blame a developer for being lazy or not paying attention seems like an absolute cope out. What if you hire a new employee that has limited knowledge and simply makes a mistake? Tools should allow us to assist and teach developers on appropriate methods.
They shouldn't have this problem if they either check in from the Solution Explorer or from a sub-folder (or individual team project) in the Source Code Explorer. It sounds like they're being lazy and simply right clicking on $/ and checking in.
That being said, I haven't seen any out-of-the-box policies for doing this. However, writing your own using the TFS API is very straightforward.
Jim Lamb's article is probably the best place to start:
http://blogs.msdn.com/b/jimlamb/archive/2010/03/31/how-to-implement-package-and-deploy-custom-check-in-policy-for-tfs-2010.aspx
In TFS 2010 check-in policies aren't evaluated for check-ins across multiple projects, so a check-in policy can't do what you want.
However, there is code for a VS addin in the first comment of this bug-report which looks like it does what you want:
http://social.msdn.microsoft.com/Forums/en-US/tfsversioncontrol/thread/a71ac2f0-dc9c-4c03-a6a3-ab59877c55d8/
Ok, I know this isnt a programming question, but I think its really important to understand the differences to be a more productive developer...so please don't close this question!! And yes, I do feel stupid for asking this question! Have only ever worked with the Prof edition of VS 2005/2008.
Now that we have a team of 6 people, I would like to what benefits Team System would offer us over 6 licenses of VS Professional? Also, what advantages does Team Foundation Server offer?
TFS can be good if you use work items and are interested in associating source changes with these work items. Otherwise, using it for a couple of weeks at a customer (that was not using work items) just made me want to run back to subversion.
Merging UI is not very good (to be polite), the VS plug-in always wants to contact the TFS server to check for any changes of the files you're using, there are false warnings of conflicts...
Note that I am the guy that usually defends Microsoft against the Java/PHP guys, so it is very strange for me to write this...
TFS is a great source control tool for every organization. And is much advance than Visual Source Safe. It also has work item management (for tasks) simmilar to Rational software. We are using it for years and not just for .Net languages.
With the Team System version you already have a Team Explorer wherein your users can access the source control. Also Team System consists of different sub products that targets specific job functions such as Team System for Development Edition (For developers), Team System Database Edition (For database architect), Team System Architect Edition (For System Architect), and Team System Test Edition (For testers). All those subversions are included on the Team Suite edition.
For the Professional version it could also benefit to the TFS source control system if the machine is installed with Team Explorer.
The major difference between Professional & Team System is Team Foundation Server. Team Foundation Server is the massive overhaul/replacement of Visual SourceSafe. But TFS also gives you other functionality such as work item tracking and other features to manage the complete development life cycle.
Hey, thanks to all for the answers so far! I have never worked in a team/collaborative environment before, so this is a tad bit new to me. We are in the midst of acquiring a "Microsoft Visual Studio 2008 Professional Edition with MSDN Premium subscription". I know that this package gets updated to "Visual Studio 2010 Premium with MSDN" on March 22 2010.
Will I still be able to leverage collaborative efforts using this package? Is it worth the $2970 additional cost?
EDIT: We are applying for the Empower for ISVs subscription. We work mainly on SaaS/RIA solutions. Am I understanding the term "Work Item" correctly - that is if I wish to task Developer 1 with say XHTML/CSS, Developer 2 with a certain functional module, and Developer 3 with another functional module - each of these is considered a work item that can be easily tracked with VSTS?
Team system, even without team foundation server has code analysis capabilities and metrics for your code that actually quantifies how maintainable it is. For a project manager this is nirvana when trying to find out who does a great job on their code and for a developer it gives him hard facts about where to improve his code.
That being said I think Team Foundation Server might be overkill for a team of 6 people except if you are building an extremely large system.
If you are comfortable with Subversion or a different version control manager,
you are dont mind using Nunit (or alternative unit test tool) and you are
familiar with or can find the open source (or fee based) code metric tools,
and you have bug tracker in place you can save quite a bit of money on the licensing.
I have worked a lot with Team System, and at some clients, just the Pro Version.
While some of the integration TS offers is slick, I am so used to nUnit and
Subversion that I actually miss them at times when working in TS.
Now in 2010, the Ultimate edition does offer some great UML diagramming and code analysis
tools that I will miss in lower versions.
I would like to use the task-list in Visual Studio but it really lacks almost any useful feature a task-list should provide. So I use Todo-List externally, to keep track of the things I need to get done. Would be nice to have it all in one place.
So does anyone know of a cool replacement Add-On for the tasklist in Visual Studio?
Thanks in advance!
Assumed: Visual Studio 2008 + ReSharper
ReSharper->Windows->ToDo Explorer
E-
For semi-immediate programming tasks I use TODO comments in code and ReSharper for Visual Studio to view them.
For longer-term tasks I use Team Foundation Server to record work items.
For non-programming tasks I use Google Calendar.
You can modify the task list in Visual Studio by clicking
TOOLS --> OPTIONS --> ENVIRONMENT --> TASK LIST
In the Token List you can add more tokens specific to what you want to call your tasks.
For example.. I have an EDITING token set up so in any module, class or method that I'm working on I just add the ' EDITING: (Name of whatever method ect..) comment and I can quickly see where I left off and get back too it by double clicking.
Here are a few other tokens I find useful...
If you would like more advanced project and code tracking you should check out Visual Studio Online. It's free for upto 5 users.
http://www.visualstudio.com/en-us/products/visual-studio-online-overview-vs
How about the FogBugz add-in for Visual Studio 2005 and 2008?
This requires a FogBugz account hosted either locally or by Fog Creek. A free Student and Startup version is available.
I don't know of an add-on (I use Remember The Milk externally), but I think you are onto a good idea there.
We use Team Foundation Server at work - it is a really superb product, but too expensive for smaller teams.
Out of work I'm looking to use CountersSoft Gemini (http://countersoft.com/home.aspx) which has good VS integration and is competitive when looking at the hosted version with unlimited users.