EasyTabs für Visual Studio 2005/2008
Ich hatte ja schon geschrieben, dass ich auf der Grundlage von WndTabs ein Add-In für Visual Studio 2005/2008 entwickelt habe. Nach einem kleinen internen Praxistest habe ich nun beschlossen, das Add-In auch anderen interessierten Entwicklern kostenfrei zur Verfügung zu stellen.
Im folgenden nun eine kurze Beschreibung der wichtigsten Funktionen:
1. Registerkarten
Visual Studio zeigt zwar geöffnete Dokumente bereits als Registerkarten an, allerdings sind die Konfigurationsmöglichkeiten doch sehr eingeschränkt. EasyTabs bietet hier bedeutend mehr Flexibilität, die Registerkarten können entweder oben oder unten angeordnet werden. Eine weitere herausragende Eigenschaft ist das Gruppieren von Dateien. Dateien, die zueinander gehören (z.B. .cpp/.h/.idl), können zusammen auf einer Registerkarte angezeigt werden. Reicht der Platz nicht mehr für alle angezeigten Dokumente, dann zeigt EasyTabs die Registerkarten auch in mehreren Reihen an. So hat man immer auch wirklich alle geöffneten Dokumente im Blick.
2. Anordnung
Die Registerkarten für die geöffneten Dokumente können auf verschiedene Weise angeordnet werden. Im MDI-Modus werden die Fenster stets in der Z-Order angezeigt. Das heißt, dass sich die Registerkarte für das aktive Fenster immer ganz links befindet, rechts daneben befindet sich das zuvor verwendete Fenster usw. Alternativ können die Registerkarten auch alphabetisch angeordnet werden. In der Standardeinstellung werden die Dateien in der Reihenfolge ihres Öffnens angezeigt und behalten diese während der gesamten Sitzung auch bei.
3. Nummerierung
Jede Registerkarte erhält eine Nummer, die über mehrere Arbeitssitzungen erhalten bleiben kann. Die Nummer einer Registerkarte kann auf Wunsch angezeigt werden. Für die Aktivierung der Registerkarten 1 bis 9 können auch Tastenkürzel zugeordnet werden, so dass diese schnell erreichbar sind. Die Zuordnung der Tastenkürzel erfolgt über den Einstellungsdialog von Visual Studio.
4. Namen kürzen
Besonders lange Dateinamen kann EasyTabs bei der Anzeige auch kürzen. Dies kann über das Festlegen einer bestimmten Länge erfolgen, es ist aber auch möglich, bestimmte übereinstimmende Zeichen am Anfang und/oder am Ende des Dateinamens zu entfernen.
5. Menüs
Durch einen Klick mit der rechten Maustaste auf eine Registerkarte öffnet sich das Kontextmenü, welches Befehle zur Fenster- und Dateiverwaltung enthält. Hier kann z.B. des Schreibschutzattribut gesetzt oder gelöscht werden, zudem wird das Explorer-Kontextmenü für die jeweilige Datei angezeigt. Eine nützliche Funktion ist auch das Öffnen eines sich gerade in Bearbeitung befindenden Dialogs als Textdatei.
6. Anzahl der offenen Fenster begrenzen
Wer den Wald vor lauter Fenstern nicht mehr sieht, der kann festlegen, dass nur eine bestimmte Anzahl an Fenstern geöffnet bleiben soll. Beim Öffnen eines neuen Fensters schließt EasyTabs dann automatisch das Fenster, was am wenigsten verwendet wurde.
7. Während des Debuggens geöffnete Dateien automatisch schließen
Eine recht nützliche Funktion ist das automatische Schließen von Fenstern, die während des Debuggens geöffnet werden. Meistens handelt es sich dabei um Header- und Quellcodedateien von Bibliotheken (z.B. MFC), die beim Debuggen von Funktionen angezeigt werden. Nach einiger Zeit wird der Arbeitsbereich mit diesen Fenstern quasi überschwemmt, sofern sie nicht explizit wieder geschlossen werden.
EasyTabs übernimmt auf Wunsch das automatische Schließen nach jeder Debugsitzung. Im Einstellungsdialog kann festgelegt werden, auf welche Verzeichnisse hier geachtet werden soll.
8. IDE
Neben der Fensterverwaltung bietet EasyTabs noch zwei weitere Funktionen, welche die IDE erweitern. So kann der Dialogeditor gezwungen werden, auch in der Entwurfsansicht die Tastenkürzel der Dialogelemente anzuzeigen. Auch die Breite der Spalten im Stringtabelleneditor kann gespeichert und beim nächsten Öffnen wieder hergestellt werden.
9. Download
Dies war nur eine kleine Einführung in EasyTabs, im Einstellungsdialog sind noch ein paar weitere Funktionen zu finden. Für jede Einstellung ist eine Hilfe verfügbar, einfach auf das Fragezeichen in der Titelzeile des Einstellungsdialogs klicken und anschließend auf das Dialogelement selbst. Wer bis hierhin durchgehalten hat, der wird nun mit dem Downloadlink von EasyTabs belohnt.
Sweet! 🙂 Gleich mal runterladen und ausprobieren!
Klasse, vielen Dank. Schade, daß es nicht für 2003 geht, deswegen kann ich es erst daheim ausprobieren… Bin schon gespannt und hört sich sehr praktisch an.
VS 2003 habe ich leider nicht mehr installiert. Eventuell installiere ich es nochmal in eine VM. Technisch gesehen müsste EasyTabs eigentlich auch damit laufen.
Erstmal: SUPER! funzt!
Aber Frage, irgendwie war ich der Meinung dass damit auch die Mnemonics also die Unterstriche im resource Editor angezeigt werden,
was es bei mir nämlich nicht tut. Oder hatte ich da was falsch verstenden??
Ach ja, noch ne frage, die default tabs vom studio kann man dann ja auch ausblenden, oder?? weil zweimal braucht man das ja dann nicht.
Geht sicher über die optionen vom studio, aber ich hab noch nicht gekuckt…
Update: Ok, die default Tabs bekommt man weg, wenn man unter environment->general von „tabbed documents“ auf „multiple documents“ umschaltet… 🙂
(sorry, hab die englische version, weiss nicht wie das auf deutsch heisst…)
UIpdate 2: (sorry 😉 ) jetzt funktioniert auf einmal auch die Anzeige der Unterstriche… *freu*
Hi, ich schon wieder 🙂 ….
Ich verwende das Easytabs nun schon ein paar Tage und habe auch einige „ungereimtheiten“ feststellen müssen.
Zunächstmal wenn ich eine Datei mit dem „x“ schliessen will macht er mir wenn diese die aktuelle „blau markierte) ist (fast immer) eine andere Datei zu! und nicht diese..
Das ist wohl der gravierendste mängel.
Auch wollte ich fragen, ob man den sourcecode von easytabs bekommen kann, dann könnte ich mal bei gelegenheit nach diesem Fehler suchen.
Ein paar „feature enhancements“ hätte ich auch schon im Sinn, die mir so aufgefallen sind…
Tabs anzeigen oder nicht
automatische ausblenden der visual studio tabs
mehr info über datei beim tooltip (z.b. Änderungsdatum, filesize..)
übersetzung ins deutsche, oder andere sprachen, evtl. wählbar (für die nichtenglischlieberhabenwoller)
….
Der Quellcode ist nicht verfügbar, da stecken eine Reihe von Abhängigkeiten von meinen Bibliotheken drin. Das mit dem Schließen kann ich hier leider nicht nachvollziehen, bei mir wird immer die gewünschte Datei geschlossen. Kannst Du da ein paar Regelmäßigkeiten erkennen?
> Tabs anzeigen oder nicht
Welchen Sinn hätte denn EasyTabs ohne Tabs? 😉
> automatische ausblenden der visual studio tabs
Lässt sich das programmtechnisch erreichen? Ansonsten ist es doch für den Anwender bis jetzt auch nur ein Klick.
> mehr info über datei beim tooltip (z.b. Änderungsdatum, filesize..)
Lässt sich bestimmt einbauen.
> übersetzung ins deutsche, oder andere sprachen, evtl. wählbar (für die nichtenglischlieberhabenwoller)
EasyTabs enthält deutsche und englische Ressourcen. Die angezeigte Sprache ist abhängig von der UI-Sprache von Visual Studio. Auf einem deutschen VS sollte sich EasyTabs eigentlich auch in deutsch präsentieren.
Hi,
mit VS 2005 funktioniert es, bei VS 2003 bekomme ich einen „Runtime error!“ beim Starten von VS 2003. Es wäre nicht schlecht, wenn dieses sehr gute Addin auch darunter laufen würde.
EasyTabs ist nur für VS 2005/2008 gedacht. VS 2003 wird nicht unterstützt.
I just found your AddIn and I like it very much. I used WndTabs a long time ago, and I’m glad someone finally updated it to VS2005/8. I have a few problems with EasyTabs, though.
1. Changing tabs from bottom to top or from top to bottom sometimes makes them disappear. Instead, I see the original tabs (on top) or an extra scrollbar (on bottom). Left-clicks in that area are ignored, and right-click shows me the EasyTab context menu.
2. I like my tabs on top, but instead of replacing the VS tabs, they are currently above them, so I have two rows of tabs – one from EasyTabs and the other from VS.
3. The „display delimiting period“ setting does not appear to work – I uncheck it but nothing happens.
Great product! I found your page through the Google translation, so I’m sorry if other comments already mentioned these things – I couldn’t understand most of the comments.
@MarcT: Glad you like it. 🙂
1. I have seen this effect too. But normally you change the position only once, so that shouldn’t be a big problem.
2. You can hide the VS tabs in VS options dialog (Environment – General – Window layout).
3. You are right. I will check, what’s going wrong.
Sven-
1. Makes sense. It was just kind of confusing at first since I didn’t know how to access the add-in. Probably because I don’t read German. =)
2. Perfect.
3. Thanks.
4. One new thing I noticed, when I show the close button on each tab, clicking it seems to close some other tab, instead of the one I clicked on.
Great work. I bet if you put together an English page, you’d get a lot of hits. I know I’ve seen plenty of people wishing for WndTabs in VS2005/8. Of course, that means more bug reports and feature requests! =)
Hi!
Leider klappt der Betrieb als Benutzer unter Vista so natürlich nicht.
Mache aus der Installationsdatei mal ein MSI, da dieses in der Lage ist Registrationen auch als Benutzer druchzuführen (also in VS nicht Selfregister wählen!).
Die Keys unter SOFTWARE\Microsoft\VSA\8.0\AddIns\EasyTabs.Connect und SOFTWARE\Microsoft\VisualStudio\9.0\AddIns\EasyTabs.Connect erhalten damit als Root -1 (current user oder local machine) dann kann man das auch als Benutzer installieren und nutzen.
Andere Installationsarten (außer MSI) scheitern hier, da auch unter CLASSES_ROOT (die CLSIDs) abgelegt wird.
Also bei mir erscheint nach dem Start des EasyTabs-Installationsprogramms die Aufforderung der Benutzerkontensteuerung mit der Bitte um Administratorrechte. Nach Gewährung dieser wird das AddIn installiert und lässt sich auch ohne Adminrechte verwenden.
Hi!
Richtig. 🙂
Aber dann richte dir mal einen neuen Benutzer (kein Admin) ein und schau die das in VS an. Das Addin wird dort nicht angezeigt, weil die Daten für den Admin aber nicht für weitere Benutzer registriert werden.
Vielen Dank! Ich habe WndTabs ebenso vermisst wie die meisten hier 🙂
In WndTabs konnte man fast allen Dingen einen Shortcut zuweisen, zum Beispiel umschalten von header zu source. Hier fehlt das, oder habe ich etwas übersehen?
Einige Befehle können über ein Tastenkürzel angesprochen werden, die Zuordnung erfolgt im Gegensatz zu WndTabs im VC-Einstellungsdialog (Tastatur). Die Umschaltung Header/Source ist leider nicht dabei. Ich nehme dafür immer Alt-O von Visual Assist.
Gerade ausprobiert und gleich verwirrt: 😉
Ich habe in verschiedenen Projekten in der gleichen Solution gelegentlich Dateien mit gleichem Namen. => Die werden zusammengruppiert, aber im Tooltip erscheint bei beiden Tabs nur der Name (Pfad) der einen Datei, auch wenn damit die andere selektiert wird. Könnte eventuell auch daran liegen, daß die cpps bei mir immer getrennt von den h-files in einem eigenen Unterverzeichnis (src) innerhalb des Projektordners liegen.
Ganz toll wäre eine Metagruppierung nach Projekten, aus denen die Dateien kommen.
Nochwas: Bei meiner Ordnerstruktur funktioniert das „Alternate File“ leider auch nicht.
Ein Problem habe ich entdeckt beim Vergeben des Dateinamens für die Einstellungen. Normalerweise wird Solutionname plus die Extension easytabs verwendet, setzt sich der Solutionname aus mehreren Teilen mit Punkt getrennt zusammen, wird die Extension weggelassen (Test.sln -> Test.easytabs; Test.Mfc.sln -> Test.Mfc). Ist es möglich dieses Problem zu beheben?
Reihenfolge bestimmen?
Ich vermisse spontan die Möglichkeit, die Reihenfolge der Tabs manuell festlegen zu können. Oder habe ich was übersehen?
Ansonsten: Daumen hoch!
Eine Anordnung per Drag&Drop ist nicht möglich. Ansonsten gibt es im Einstellungsdialog mehrere Möglichkeiten zur Anordnung.
Hallo,
das, bereits erwähnte, Problem mit dem Schließen von Tabs habe ich auch. Also wenn ich das ‚X‘ von einer Datei drücke(ob Aktiv oder Inaktiv ist egal) schließt er eine andere Datei. Allerdings passiert das nur unregelmäßig 🙁 zumindest habe ich da noch kein Muster hinter entdeckt…
Vielleicht findest du ja noch etwas.
Aber ansonsten ist das echt eine klasse Idee, danke dafür!
gruß
Lars
Erstmal super Lösung ^^
Leider jedoch mit einem kleinem Haken. Wenn man die Tabs oben anzeigen lässt, überdecken diese leider nützliche Bereiche der Fenster (Dropdowns z.B.)
Wenn man die Tabs unten anzeigen lässt, ist alles in Ordnung. Vllt. wäre da mal eine kleine Korrektur sinnvoll 🙂 ansonsten ist bisher alles super.
Gruß,
Jessica
Kleiner Nachtrag: ich habe übrigens das gleiche Phänomen, dass beim Klick auf das „X“ auf dem Tab nicht immer das Fenster geschlossen wird, das man angeklickt hat….