Donnerstag, Juli 07, 2005

DEV341 What's New in the Visual C# 2005 IDE


Juval Lowy

Neun sind die Property "Tab" viewed. Die neue IDE buildet immer Code für das 2.0 Framweork.Das Formatieren des Codes kann automatisiert werden und wird einmal pro sprache definiert. Nicht jedesmal einrücken und umformatieren, einmal einstellen sollte genügen. Auch die Naming Conventions und so weiter können global definiert werden. Es kann ein checker laufen gelassen werden, der dann anhand einer Art Tasklist die Fehlerhaften Namings etc. zeigt. Es gibt einen Settings Editor, welcher die Einstellungen um App.Config speichert. Die Einstellungen könnn Importier und exportiert werden. So kann für die ganze Firma einmal definiert werden, wie die Einstellungen sind, das Naming, wie editiert wird...etc, Natürlich lassen sich diese Einstellungen auch auf dem Foundation Server legen. Im Studio kam früher im die "Start" HTML Page. Neu kann pro project eine Start Seite definiert werden. (Zum Beispiel das Projekt Portal, Google oder was immer) .
Er zeigt, das die Bedienung verbesset wurde. Wenn ich zum Beispiel 1000 tabs offen habe, und nur noch eines möchte, musste ich mühsam alle anderen schliessen. Neu klickt man auf das Tab was man noch will und klickt, close all but this. Oder ich kann auf das Tab klicken und sagen "open the location folder". So ist gleich der explorer offen mit den Files. Wenn ich früher was finden wollte, machti ich "Find in Files". Neu kann ich auf ein Object klicke, kann ich rechte Maustaste macheun und sagen, Show all References.

Cool, es kommen wirklich nur die Referenzierten, nicht auch noch jene die gleich heissen etc. Ich muss auch nicht mehr sagen, go to reference, go to reference go to reference. Ich kann einach alles auf einmal anzeigen. Scheint wirklich nützlich zu sein.
Wie schaue ich heute ein Array an ? Meistens doch wie "Add watch" or "Quick Watch". Neu einfach das Array markiern und IntelliSense zeigt mir die Werte gleich für alle Werte. Dies funktioniere wirklich mit allem.Genau so geht es auch mit einem DataSet. Intellisense, ich kann mich durchklicken, bis ich beim Attribute oder der Variable bin, dess Wert ich wissem will. Wenn ich über dem DataSet bin mit der Maus, kommt eine kleine Lupe, die ich anklicken kann . Klicke ich auf diese, geht ein Fenster auf wo ich das gesamte DataSet sehe mit allen Rows und Tables.Natülich mit den aktuellen Werten. Ich kann dieses Fenster offen lassen während die Applikation weiterläuft.Die Wertr ind der DataSet ansicht ändern dann auch bzw. sind dynamisch. Sehr cool zum Debuggen. Sieht sehr intuitiv aus !
Eigene Visualizer sollen sehr schnell und einfach zu erstellen sein. "Peace of cake" .... Als demo zeigt er einen Image Visualizer...er klickt auf das Bitmap Object und die Lupe und schon wird beim Debuggen das wirkliche JPG oder BMP oder was auch immer zeigen. Als nächstes zeigt man einen Visualizer für Audio Datein und Video Dateien. WOW !

Neu ist auch das Change Tracking. Wenn ich wärend dem Debuggen Code änder oder hinzufüge, ist dieser Gelb. Will heissen, Never compiled @ this moment. Es gibt auch Rot und Blau und Grün ... aber ich mag nicht alle Bedeutungen aufschreiben.
Beim Debuggen kommt z.b die Form viel schneller hoch als früher. Es muss nicht mer die CLR gestartet werden, code compiliert werden etc. Neu läuft der VS Host. Dieser Host kann man als Assemblie auch sonst Benutzen.

Nun geht es um Code Refactoring. Was ist Refactoring ? Refactoring means, das mann die Code-Struktur ändert ohne zu ändern, was der Code tut. Neu kann ich zum Beispiel auf Form1 klickn, wähle Refactoring, Rename und gib der Form einen neuen Namen. Überall wo die Form1 benötigt wurde, wird dies automatisch angepasst. Dies für ALLE Projekte innerhalb der geöffneten Solution .
Nun geht es um das Remaining. Ich mache es mir einfacher und kopiere die Argumente von der TechEd Website:

Intelligent renaming
Unlike search-and-replace
Namespaces, types, variables, methods, properties, parameters
Including overloaded methods
Available from the menu and the context menu
Can select occurrences to exclude




Very smart finde ich die Method Extraction. Ich kann code markieren und sagen, extract Method. Die Methoden, die sich dahinter befinde, werden extrahiert und können so "umgebaut" werden. Dies geht natürlich auch mit Methods, die "ausserhalb" liegen. Dies Funktioniert auch mit Interface. -> Kein Markieren, kopieren, einfügen mehr. Einfach extract.

Am Schluss kommt Juwal wieder einmal auf die Code Snippets zu sprechen. Ich sage wiedermal, weil ich dies schon in Barcelona öfters gehört habe. Die Funktion bzw. die Verwendung hat sich nicht verändert, ist jedoch intuitiver geworden. Ich kann das schlecht nachvollziehen, weil ich nie mit den Code Snippets gearbeitet habe...


So, das wars vom Donnerstag, jetzt gehts zum Club 7 (7.7). Die diesjährige TechEd Party steht unter dem Motto der 70's ... Ich werde sicherlich auch davon noch berichten.

Keine Kommentare: