Tabs Studio Blog (organizing Visual Studio document tabs)

March 29, 2011

Tabs Studio v2.3.3 released

Filed under: Releases — Sergey Vlasov @ 1:18 am

Tabs Studio v2.3.3 released: added the XMenu add-in to the Tabs Studio installer, added NavigateToNextWindow and NavigateToPreviousWindow commands to Navigator, changed extensions sorting in a tab and in the Open context menu commands list to ignore case.

Download link: Tabs Studio v2.3.3.

March 26, 2011

Keyboard navigation between windows

Filed under: Uncategorized — Tags: — Sergey Vlasov @ 7:30 pm

If you prefer keyboard to navigate between tabs, the Navigator add-in provides NavigateToNextTab and NavigateToPreviousTab commands. Plus core Tabs Studio provides NextTabExtension and PreviousTabExtension commands to switch between windows in a tab group. Using these commands you can switch to any open document using keyboard, but it requires four keyboard shortcuts.

I’ve added two more NavigateToNextWindow and NavigateToPreviousWindow commands to Navigator. These commands first switch to the next document in the selected tab and then switch to the nearest document in the next tab. Now you can switch to any open document using keyboard with only two keyboard shortcuts:

Window navigation commands from Navigator

Window navigation commands from Navigator

Download link: Navigator v1.0.6.

March 24, 2011

Tab context menu commands from other Visual Studio add-ins

Filed under: Uncategorized — Tags: — Sergey Vlasov @ 9:51 am

Some Visual Studio add-ins add commands to the Visual Studio tab context menu. For example, Power Commands and ReSharper add the Close all command. VisualSVN adds several commands and even a submenu:

VisualSVN commands in Visual Studio 2010 tab context menu

VisualSVN commands in Visual Studio 2010 tab context menu

Tabs Studio creates its own tab context menu that doesn’t include Visual Studio or other add-in commands. The new XMenu add-in extends Tabs Studio context menu with external commands. XMenu scans all commands from Visual Studio tab context menu and adds those not from the default Visual Studio command set to the Tabs Studio context menu:

VisualSVN commands in Tabs Studio tab context menu

VisualSVN commands in Tabs Studio tab context menu

By the way, you can customize Visual Studio tab context menu as other Visual Studio menus and toolbars. The tab context menu is in Other Context Menus and named Easy MDI Document Window:

Tab context menu customization in Visual Studio 2010

Tab context menu customization in Visual Studio 2010


Tab context menu customization in Visual Studio 2008

Tab context menu customization in Visual Studio 2008

For non-document tabs (like Start Page) the context menu name is Easy MDI Tool Window. If you manually add a new command to a Visual Studio tab context menu, XMenu will also add this command to the Tabs Studio tab context menu.

Note, in Visual Studio 2010 to add a command to the right-click menu of a document’s tab, first you’ll need to right-click on a Visual Studio document tab to work around a Visual Studio bug. (Otherwise the Easy MDI Document Window context menu doesn’t show up in the Customize dialog.) As Tabs Studio hides original Visual Studio tabs, you first need to temporarily disable Tabs Studio or float a document to open original document’s tab context menu.

Download link: XMenu v1.0.0.

March 17, 2011

Tabs Studio v2.3.2 released

Filed under: Releases — Sergey Vlasov @ 5:14 pm

Tabs Studio v2.3.2 released: added the Marker add-in to the Tabs Studio installer, added a warning message when Document Well 2010 Plus is installed.

Download link: Tabs Studio v2.3.2.

Turning off Document Well 2010 Plus

Filed under: Uncategorized — Tags: — Sergey Vlasov @ 11:31 am

Document Well 2010 Plus is another tab extension for Visual Studio 2010 that comes as a part of Productivity Power Tools. Tabs Studio hides Well tabs along with original Visual Studio tabs, so it is highly recommended to just turn Document Well 2010 Plus off:

Document Well 2010 Plus turned off

Document Well 2010 Plus turned off

As Well is a part of the big Productivity Power Tools package that can be installed for other extensions, it can be left in the default on state and interfere with Tabs Studio. To warn a developer about a possible conflict, I’ve added the explicit check for Well presence to the Tabs Studio startup procedure. This is the warning displayed when Tabs Studio detects installed and activated Document Well 2010 Plus:

Tabs Studio conflicts with Document Well 2010 Plus warning

Tabs Studio conflicts with Document Well 2010 Plus warning

March 16, 2011

Debugging add-ins for Tabs Studio in VS 2010 SP1

Filed under: Uncategorized — Tags: , — Sergey Vlasov @ 6:57 pm

If you need to debug your own add-in for Tabs Studio or an existing one (all Tabs Studio add-ins come with source code) you can do it with the following steps (from the add-ins documentation):

  1. Remove your add-in from the TabsStudioAddins directory and start VS.
  2. In your add-in project set the Build – Output path to your TabsStudioAddins directory
    (e.g. C:\Users\myadmin\Documents\Visual Studio 2008\Addins\TabsStudioAddins).
  3. In your add-in project set Debug – Start external program to VS
    (e.g. C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe).
  4. Start Debugging as usual.

Well, you can do it with VS 2008 and VS 2010 RTM, but not with VS 2010 SP1. I read about this in the VS 2010 SP1 breaks add-in debugging targeting .NET Framework 2.0 blog post by Carlos Quintero. Tabs Studio add-in targets .NET 3.5 and thus also affected by this problem.

The first workaround is to retarget your add-in to .NET 4.0 (of course, this add-in will no longer work in VS 2008 after that). You will also need to add System.Xaml to assembly references:

Setting target framework for an add-in to .NET Framework 4

Setting target framework for an add-in to .NET Framework 4

The second workaround is to create a dummy project targeting .NET Framework 4 and use it as the startup target for debugging (looks like VS 2010 SP1 is only interested in the target framework of the startup project, not the executable under debug):

Adding a new dummy project targeting .NET Framework 4

Adding a new dummy project targeting .NET Framework 4


Setting the dummy StartUp project to start VS 2010 IDE

Setting the dummy StartUp project to start VS 2010 IDE


You can also up vote this issue on the Microsoft Connect site.

March 10, 2011

Marker context menu commands

Filed under: Uncategorized — Tags: — Sergey Vlasov @ 12:19 pm

I’ve added ability to highlight a tab or remove highlighting from the context menu. You can now also remove highlighting from all tabs at once and close all tabs that are not currently highlighted:

Marker context menu commands

Marker context menu commands


I’ve also fixed loss of highlighting in Visual Studio 2010 when switching to the full screen mode or starting a debug session.

Download link: Marker v1.0.1.

March 9, 2011

Visual Studio 2010 Service Pack 1 support

Filed under: Uncategorized — Tags: — Sergey Vlasov @ 6:11 pm

Visual Studio 2010 Service Pack 1 released this week (list of fixes). Nothing has changed in default tabs behavior and Tabs Studio works in the latest IDE just fine:

Tabs Studio in Visual Studio 2010 Service Pack 1

Tabs Studio in Visual Studio 2010 Service Pack 1

March 4, 2011

Highlight tabs with Marker

Filed under: Uncategorized — Tags: , — Sergey Vlasov @ 2:42 pm

David Peris suggested an interesting idea for Tabs Studio: “For people like me working in huge solutions, with a bunch of projects and files, sometimes we need to highlight a few tabs, temporarily, to quickly come back to them. Color rules would make the trick if the tabs share some criteria, but they can be slow to setup just for temporary highlighting. It would be great to be able to quick color some tabs, like for example Ctrl+click a tab would highlight it, and Ctrl+click again would de-highlight it. Maybe an option in the right click menu as “Remove highlights” or something like that would be the perfect complement to this option.”

I’ve created the new Marker add-in for this functionality. Ctrl+Click a tab highlights it and Ctrl+Click again removes highlighting. No additional context menu options yet, but it can be added later:

Several tabs highlighted with the default style

Several tabs highlighted with the default style

The default highlighting style provided by Marker decorates TabInternals with the red gradient background. You can choose to decorate another tab element or just change the highlighting color in a custom Tabs Studio style:

<Style TargetType="TabsStudio:TabInternals" BasedOn="{StaticResource DefaultTabInternalsStyle}">
    <Style.Triggers>
      <DataTrigger Binding="{Binding Path=(TabsStudioMarker:Properties.IsHighlighted), 
                 RelativeSource={RelativeSource AncestorType=TabsStudio:Tab}}" Value="True">
          <Setter Property="Background">
              <Setter.Value>
                   <LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
                       <GradientStop Color="Transparent" Offset="0.8"/>
                       <GradientStop Color="Green" Offset="1"/>
                   </LinearGradientBrush>
              </Setter.Value>
          </Setter>
      </DataTrigger>
  </Style.Triggers>
</Style>
Tabs highlighted with the custom green color

Tabs highlighted with the custom green color

Download link: Marker v1.0.0.

Running SQL Server Management Studio as administrator

Filed under: Uncategorized — Tags: — Sergey Vlasov @ 8:29 am

If you start SSMS as administrator on a Windows 7 machine with UAC on, you get the Class not registered error number 80040154 for the TabsStudio.Connect class:

Running SQL Server Management Studio as administrator

Running SQL Server Management Studio as administrator


Class not registered error 80040154 in SSMS

Class not registered error 80040154 in SSMS

Tabs Studio installation for SSMS includes registration of the TabsStudio.Connect class for the current user. On a Windows 7 machine with UAC enabled, elevated applications (in this case SSMS running as admin) don’t see registered per-user COM classes (see Per-User COM Registrations and Elevated Processes with UAC on Windows Vista SP1 for more details). I can’t add per-machine TabsStudio.Connect registration to the installer because it runs without admin rights. A workaround is to register TabsStudio.Connect per-machine manually, double clicking a registration file I’ve prepared.

SSMS is a 32-bit application. Running on 32-bit Windows it uses per-machine COM registration from HKEY_LOCAL_MACHINE\Software\Classes\CLSID, on 64-bit Windows – HKEY_LOCAL_MACHINE\Software\Classes\WOW6432node\CLSID (see Registry changes in x64-based versions of Windows Server 2003 and in Windows XP Professional x64 Edition). I’ve prepared two registration files – one for 64-bit Windows and one for 32-bit Windows.

Note that after unsuccessful loading SSMS disables Tabs Studio and doesn’t try to load again on a next start. To enable Tabs Studio startup loading you can reinstall Tabs Studio or change HKCU\Software\Microsoft\Microsoft SQL Server\100\Tools\Shell\Addins\TabsStudio.Connect\LoadBehavior from 0 to 3.

Download links for per-machine TabsStudio.Connect class registration: SSMS on Windows 32-bit, SSMS on Windows 64-bit.

Older Posts »

Blog at WordPress.com.