<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" media="screen" href="/styles/xslt/rss.xslt"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:c9="http://channel9.msdn.com">
<channel>
	<title>Comment Feed for Channel 9 - Putting the You in Visual Studio 2012&#39;s Team Explorer</title>
	<atom:link rel="self" type="application/rss+xml" href="http://channel9.msdn.com/coding4fun/blog/Putting-the-You-in-Visual-Studio-2012s-Team-Explorer/RSS"></atom:link>
	<image>
		<url>http://files.channel9.msdn.com/thumbnail/51d928e8-9016-41e5-a189-d337f8f1d11e.png</url>
		<title>Channel 9 - Putting the You in Visual Studio 2012&#39;s Team Explorer</title>
		<link></link>
	</image>
	<description>Today&#39;s Weird Wednesday post is not something you&#39;d usually see here, but I thought it pretty cool and is an area that I&#39;m just not seeing much community dev being done in (yet). Maybe today&#39;s post will inspire a few of you to jump in! You may or may not know that I&#39;m a regular co-host on the RadioTFS podcast. One of my roles for cast is gathering Team Foundation Server/Service, Visual Studio, ALM, etc. stores for us to talk about where as you can imagine, that&#39;s how I found today&#39;s project. I don&#39;t know about you, but I pretty much live in Visual Studio and I&#39;m also a continuous user of Team Foundation Server/Service/CodePlex. If you&#39;ve made the jump to Visual Studio 2012, and you&#39;re also a TFS/CodePlex user you&#39;ve seen the new Team Explorer. But do you know just how extensible the new Team Explorer is? Extending Team Explorer in Visual Studio 2012Team Explorer in Visual Studio 2012 offers multiple options for extending the user experience. This sample demonstrates several of the extensibility points by adding a new Team Explorer page as well as by placing a new section onto the Pending Changes page. Team Explorer in Visual Studio 2012 offers multiple options for extending the user experience.&amp;nbsp; This sample demonstrates several of the extensibility points by: Adding a new &amp;quot;Recent Changes&amp;quot; Team Explorer page with two sections. Adding a new &amp;quot;Selected File Info&amp;quot; section to the built-in Pending Changes page. Adding a &amp;quot;Recent Changes&amp;quot; navigation link under the Pending Changes navigation item. Building the SampleThis sample requires Visual Studio 2012 and the Visual Studio 2012 SDK.&amp;nbsp; Open the solution and press F5 to run/debug. ... One of the nice things about this sample is that everything runs the first time, even to opening Visual Studio is in &amp;quot;Experimental&amp;quot; mode. That said, if you get a &amp;quot;The application which this project type is based on was not found&amp;quot; or the project won&#39;t load or you get &amp;quot;This Project is not compatible with this version of Visual Studio&amp;quot; errors (all of which I got..sigh) then you probably just need to install the Visual Studio 2012 SDK. You can get the latest and greatest from Visual Studio Developer Center &amp;gt; Extend Visual Studio &amp;gt; Download the Visual Studio 2012 SDK. Once you install the SDK, the Solution and Project should load and when run, should fire up a new instance of Visual Studio with the extension loaded. So what can you do? Here&#39;s a taste; Team Explorer ExtensibilityPages and SectionsA single view in Team Explorer is referred to as a page (ITeamExplorerPage).&amp;nbsp; A page may provide a WPF control that is placed at the top of the client area, but the control is not required.&amp;nbsp; No two pages can have the same ID in Team Explorer. A page may contain one or more sections (ITeamExplorerSection) that are arranged in priority order.&amp;nbsp; A section also provides a WPF control that contains the UI for the section.&amp;nbsp; Sections may be first-party or third-party extensions to a page. Home Page - Navigation Items and LinksThe Home page is a special Team Explorer page that has its own extensibility.&amp;nbsp; The Home page contains a list of navigation items (ITeamExplorerNavigationItem) and navigation links (ITeamExplorerNavigationLink).&amp;nbsp; The list of navigation item plugins is used for both the Home page and the Team Explorer navigation control at the top of the window. Plugin InterfacesA plugin should implement the interface for the extension it is providing.&amp;nbsp; The interfaces are declared in the Microsoft.TeamFoundation.Controls namespace in Microsoft.TeamFoundation.Controls.dll. Page:ITeamExplorerPage Section:ITeamExplorerSection Navigation Item:ITeamExplorerNavigationItem Navigation Link:ITeamExplorerNavigationLink But what exactly does this sample provide? Adding a new &amp;quot;Recent Changes&amp;quot; Team Explorer page with two sections. Adding a new &amp;quot;Selected File Info&amp;quot; section to the built-in Pending Changes page. Adding a &amp;quot;Recent Changes&amp;quot; navigation link under the Pending Changes navigation item. Oh, screenshots? Here&#39;s some before and after snaps Recent Changes   Selected File Info   Pending Changes/Recent Changes  As you can see, the new extensibility lets you seamlessly add features and functionality to the new Team Explorer. How does it work? MEF of course! Plugin DiscoveryPlugin discovery for Team Explorer is accomplished using MEF.&amp;nbsp; The assembly containing any plugins must be installed in one of Visual Studio’s supported extension directories, and must be accompanied by an extension.vsixmanifest file that declares the assembly provides MEF components.&amp;nbsp; The recommended packaging mechanism is using VSIX and the Visual Studio Extension Gallery. There is a class attribute for each plugin type that exports the plugin for discovery by Team Explorer.&amp;nbsp; The attributes are defined in the Microsoft.TeamFoundation.Controls namespace in Microsoft.TeamFoundation.Controls.dll. Page:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [TeamExplorerPage(&amp;quot;guid&amp;quot;)] Section:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [TeamExplorerSection(&amp;quot;guid&amp;quot;, &amp;quot;parentPageGuid&amp;quot;, priority)] Navigation Item:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [TeamExplorerNavigationItem(&amp;quot;guid&amp;quot;, priority)] Navigation Link:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [TeamExplorerNavigationLink(&amp;quot;guid&amp;quot;, &amp;quot;parentNavigationItemGuid&amp;quot;, priority)] But Greg, what about the impact these kinds of plugins could have on Visual Studio? I don&#39;t want to go back to the old days where extension bloat killed performance! Plugin LifetimeNo page or section will be instantiated until the user navigates to it for the first time.&amp;nbsp; The page and all of its sections are then instantiated and then initialized in priority order.&amp;nbsp; A page or section is only initialized once during its lifetime.&amp;nbsp; The Initialize method is the appropriate time to query for any services and do any initialization for child controls.&amp;nbsp; EventArgs provide an IServiceProvider as well as optional initial page context. In order to manage memory efficiently, only the current page is held in memory at any given time.&amp;nbsp; When the user navigates to a new page, the current page will have its SaveContext method called in order to preserve any context, and then it is closed.&amp;nbsp; See the &amp;quot;Context Management&amp;quot; section for more discussion on how that context object is managed. What about Context Management? Covered. Sharing Info: Data, Selection, Etc? Covered. Navigation, Notifications? Covered. Okay, how much code is there? Here&#39;s a snap of the Solution  The references?  So are you a little interested at least? Hungry for more information? Here&#39;s the starting point for all things Extending Team Foundation (both client and server). If you create the next great Team Explorer extension, drop us a line at ch9@microsoft.com! </description>
	<link></link>
	<language>en</language>
	<pubDate>Mon, 20 May 2013 09:38:11 GMT</pubDate>
	<lastBuildDate>Mon, 20 May 2013 09:38:11 GMT</lastBuildDate>
	<generator>Rev9</generator>
	<item>
		<title>Re: Putting the You in Visual Studio 2012&#39;s Team Explorer</title>
		<description>
			<![CDATA[Please Help. I have a problem to run this program view this message<br>  Unable to start program &#39;c&#92;users&#92;name&#92;documents&#92;visual studio 2012&#92;Projects&#92;project2&#92;debug&#92;project2 exe. and the system cant find the file specified <p>posted by Mahesh</p>]]>
		</description>
		<link>http://channel9.msdn.com/coding4fun/blog/Putting-the-You-in-Visual-Studio-2012s-Team-Explorer#c634936930472450924</link>
		<pubDate>Sun, 13 Jan 2013 16:57:27 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/coding4fun/blog/Putting-the-You-in-Visual-Studio-2012s-Team-Explorer#c634936930472450924</guid>
		<dc:creator>Mahesh</dc:creator>
	</item>
</channel>
</rss>