Sep 15
2008

Die Arbeit mit dem Visual Studio 2008 läßt sich durch die Anwendung von Shortcuts erheblich beschleunigen. Auch ich als eingefleischter Mausbenutzer habe das mittlerweile festgestellt. Meine Shortcut-Kenntnisse waren bisher eingeschränktInnocent doch nachdem ich im Netz gelesen habe (http://www.dev102.com/2008/06/12/creating-vs-keyborad-shortcuts-cheat-sheet/), dass es ca. 450 Shortcuts für das Visual Studio geben soll, habe ich mir zumindest die wichtigsten in einer Liste zusammengestellt:

ShortCut Bedeutung
CTRL+"k"+"f" Formatiert einen markierten Textbereich (HTML, XAML, XML, C#...)
CTRL+"k"+"d" Formatiert das gesamte Dokument (HTML, XAML, XML, C#...)
CTRL+"k"+"c" Kommentiert markierten Text aus
CTRL+"k"+"u" Kommentiert markierten Text ein
CTRL+"k"+"s" Öffnet den Snippets Dialog
CTRL+"k"+"m" Erstellt einen Method Stub. Z.B. für "bool flag = NewMethod(w);" den Cursor in den Methodenaufruf setzen, den Shortcut betätigen und das Visual Studio erstellt den Method Stub
CTRL+"m"+"m" Collapsed den Bereich, in dem sich der Cursor befindet, sei es eine Methode, die Namespace-Deklarationen oder eine Region. Funktioniert z.B. auch bei markierten Bereichen
CTRL+ALT+"e" Öffnet das Exception Window
CTRL+ALT+"p" Öffnet das "Attach to process" window
CTRL+ALT+"q" Öffnet während eines Debug-Vorgangs das Quickwatch-Window
CTRL+"-" Blättert bei mehreren geöffneten Dokumenten zum vorherigen zurück
CTRL+SHIFT+"-" Blättert bei mehreren geöffneten Dokumenten zum nächsten vor
CTRL+SHIFT+"b" Startet den Build der Solution
SHIFT+DEL Löscht die Zeile, in der der Cursor sich befindet und kopiert den Inhalt in die Zwischenablage
SHIFT+ALT+ENTER Versetzt das Visual Studio in den Vollbildmodus und setzt es auch wieder zurück
ALT+ENTER Öffnet das Properties Window
F9 Fügt einen Breakpoint an der Codezeile ein, in der sich der Cursor befindet und löscht den Breakpoint auch wieder
ALT+ENTER Öffnet das Properties Window

Zusätzliche Erweiterungen (z.B. Copy Reference, Collapse Projects, E-Mail Snippet, ...) gibt es von Microsoft als AddOn für das Visual Studio 2008 hier. Man sollte jedoch immer im Auge behalten, dass das Visual Studio auch im Hinblick auf anwendbare Shortcuts sehr individuell konfigurierbar ist.


Tags:
Aug 21
2008

Seit einigen Tagen gibt es das ASP.NET Framework 3.5 SP 1 zum Download (incl. SP1 für VS2008). Das Release enthält zahlreiche Bugfixes und einige neue Features.

O-Ton aus der ASP.NET-Website => http://www.asp.net/downloads/3.5-SP1/:

  • Enabling high-productivity data scenarios by using ASP.NET Dynamic Data.
  • Supporting the browser navigation in ASP.NET AJAX applications by using ASP.NET AJAX browser history.
  • Increasing the download speed for ASP.NET applications by using ASP.NET AJAX script combining.

Es wird sich wohl erst in der praktischen Anwendung zeigen, wo die Verbesserungen liegen und welchen Mehrwert sie dem Entwickler bieten.

Tags: Tags: |
Jul 18
2008

Die Unterstützung der ASP.NET 2.0 Webparts im Firefox ist von Microsoft in den letzten ASP.NET Releases leider stark vernachläßigt worden. Besonders die Drag and Drop Funktionalität funktioniert im FF und auch in anderen Browsern überhaupt nicht. Nach längerer Recherche im Web bin ich nun endlich fündig geworden, wie z.B. im Firefox oder im Opera das Drag and Drop für die Webparts ermöglicht werden kann.

Man muss dazu die Microsoft ASP.NET Futures (July 2007) downloaden und installieren. Es handelt sich um ein technology preview release, ist also ohne Support für Produktivseiten. Allerdings - ohne geht Drag and Drop in den genannten Browsern derzeit einfach nicht.

Nach dem Download und dem Ausführen des *.msi Files ist die entspreche Dll im VS2008 in der ToolBox zu registrieren. Die DLL sollte unter c:\Programme\Microsoft ASP.NET\ASP.NET Futures July 2007\v1.3.61025\3.5\Microsoft.Web.Preview.dll zu finden sein. Erst danach stehen die Futures-Controls zur Verfügung:

 

Nun muss lediglich im Code z.B. der Default.aspx oder der Masterpage ein Verweis auf den ScriptManger hinzugefügt werden und im betroffenen Control oder in der betroffenen aspx-Seite müssen ein paar kleine Ergänzungen erfolgen:

<asp:ScriptManager ID="ScriptManager1" runat="server" />
<%@ Register Assembly="Microsoft.Web.Preview" Namespace="Microsoft.Web.Preview.UI.Controls.WebParts" TagPrefix="cc1" %>
<cc1:WebPartManager ID="WebPartManager1" runat="server" />
<cc1:WebPartZone ID="WebPartZone1" runat="server">

Neben der Registrierung der Assembly muss also für den WebPartManager und für WebPartZone(s) der Tag von <asp:WebPartManager ...  zu <cc1:WebPartManager ... geändert werden. Dann klappt das Drag And Drop auch in Browsern wie Firefox und Opera. Vielleicht schafft es Microsoft ja, in der nächsten ASP.NET Version solche von vielen Usern erwünschten Funktionalitäten zu integrieren.

Tags: Tags: | |
Nov 30
2007

Das brandneue Visual Studio 2008 von Microsoft bietet dem bisher leidgeplagten JavaScript - Entwickler einige hervorragende Neuerungen. Diese betreffen in erster Linie das Intellisense für diese Skriptsprache.

  • Allgemeines Intellisense für Javascript in der VS2008 IDE
  • Zusätzlich Intellisense für Microsoft Javascript Extensions (z.B. für ASP.NET Ajax, sobald der ScriptManager auf einer Seite eingebunden ist)
  • Das Intellisense gilt auch für includete .js files (bzw. für die dort enthaltenen Funktionen)
  • Ein Highlight stellt meines Erachtens die neue XML strukturierte und casesensitive Kommentarsyntax dar, wie man sie z.B. von C# her kennt.
    Das kann z.B. so aussehen:
        function alertDayAndDate(day,date)
       {
            ///<sumary>Function that alerts day and date</sumary>
            ///<param name="day" type="string">The day as string</param>
            ///<param name="date" type="string">The date as string formatted 19.04.2008</param>
   
            var strDay = day;
            var strDate = date;
   
            alert('Tag: '+strDay+ ' Datum: '+strDate);
        }
 
 


Auch beim JavaScript-Debugging gibt es Neuerungen. Das ist jedoch ein Beitrag für sich.
Tags: Tags: |
Oct 13
2007

Dieser Tag stand für mich, wie auch der Tag vorher, ganz im Zeichen der Developer-Sessions.

Silverlight und PopFly - Der erste Kontakt. Oliver Scheer und Lori Grosland stellten beides in der ersten Session des Tages vor. Silverlight war mir ja schon ein Begriff aber PopFly, hmmm. Unter http://www.popfly.ms/  kann man sich, einen Account vorausgesetzt, selbst ein Bild von dieser künftigen Technik machen. Fazit: Mit wenigen Mausklicks, Drag and Drops und ganz ohne Code ist erstaunlich viel in kürzester Zeit erstellbar. Z.B. meine aktuellen Bilder sofort ins Netz. Alles schön bunt und ganz easy.  Oliver Scheer demonstriert kurz die derzeit aktuellen Silverlight Versionen 1.0 und 1.1, wobei meines Erachtens erst mit V. 1.1. ein richtiges gutes Plugin kommen wird, welches neben JavaScript auch z.B. mit C# programmiert werden kann.

Frank Fischer zeigte in seiner Session über dynamischen Sprachen auf, das Microsoft wieder in diese Richtung tendiert.  Er zeigte eine ellenlange Liste dynamischer Sprachen, darunter fanden sich alte Bekannte wie VBScript, JavaScript, JScript oder PHP.

Für dynamische Sprachen gälten folgende Paradigmen:

  • Runtime over Compile-Time (die Hardware werde besser und besser und stelle daher keine Begrenzung wie früher dar),
  • Entscheidungen verzögern (Die Problemstellung sei wichtiger als die Implementierung)
  • Details der Implementierung verbergen
  • "Duck Typing" (automatisches Zuweisen von Variablentypen)

Microsoft wird eine Dynamic Language Runtime DLR entwickeln. Diese soll den notwendigen Support für dynamische Sprachen bieten und die Entwicklung mit diesen extrem vereinfachen. In Silverlight 1.1 werden laut Fischer Ruby, Python, JavaScript und VBX  implementiert. Woh, es mag losgehen :-)

Oliver Scheer zeigte in der Session "Silverlight - Hardrock im Web" die drastische Erweiterung, die Silverlight V. 1.1 im Gegensatz zu V. 1.0 bieten soll. Dieser Erweiterung sei nicht nur auf Möglichkeit der Anwendung von .NET Sprachen zu reduzieren. Er demonstrierte mit dem VS2008 Beta2 und Expression Blend das reibungslose Zusammenspiel der beiden Programme und zeigte ansatzweise, wie z.B. eine Quiz-Applikation auf diesem Wege und mit diesen technischen Mitteln leicht zu realisieren sei.

Dirk Primbs ging mit "Deep Diving XAML und WPF" nochmals eine Stufe tiefer. Auch er führte seine Demos mit VS2008 Beta2 und Expression Blend aus, arbeitete jedoch aus didaktischen Zwecken überwiegend im Code. So konnte der Zuschauer leichter verstehen, was hinter den Kulissen von Expression Blend & Co. eigentlich abläuft.

Die WPF-Vision stellt sich seiner Meinung nach in diesen Punkten dar:

  • einheitliche Architektur für UI, Dokumente, Medien etc.
  • einheitliche vektorbasierte Composition engine
  • deklaratives Programmiermodell
  • einfaches und sicheres Deployment-Modell

Eine interessante und trotz des "trockenen Stoffes" sehr unterhaltsame Session war die vorletzte dieses Tages "Services mit WCF jenseits von SOAP" von Christian Weyer. Wer kann schon von sich behaupten, tieffliegende Seifen gesehen zu haben, als der Referent einige Sätze über SOAP anbringen wollte :-)  Wirklich cool. Gut, dass ich nicht an der Stelle saß, an der das Stück Seife zu Boden ging. Christian sprach über Dinge jenseits eine Web 2.0 Applikation, keinesfalls jedoch über Klicki Bunti, Drag and Droppi, UIs, IDEs usw. Er stellt die Neuerungen des WCF im .NET Framework 3.5 in einer überaus unterhaltsamen Weise vor, so dass ich mich schon auf die nächste Session mit Christian Weyer freue. Zudem ist er ja auch wie ich ein Franke ;-)

Marc Höppner setzt schließlich mit "The Future of ASP.NET" den Schlusspunkt dieser zwei XTOPIA-Tage in Berlin. Zusammenfassend die wichtigsten künftigen Neuerungen:

  • Die History-Back oder F5-Funktionalität, die ja bei Verwendung von ASP.NET AJAX derzeit nicht oder nur eingeschränkt funktioniert, soll durch ein serverseitiges oder clientseitiges "History-Control" wieder hergestellt werden. Eine Demo zeigte auf, dass dies mit den ASP.NET Futures auch schon funktioniert.
  • Anbindung von Astoria-Dataservices (Unterstützung zur clientseitigen Anbindung)
  • XML-Skripts => Verdrahten von Objekten auf deklarative Art. Binding => Controls verbinden. Client Data Controls => Serverseite Daten an clientseitige Controls.
  • CSS-Selectors: z.B. getElementsByClassName('txtInput') => Erweiterung der JavaScript Libary
  • Neue Silverlight Controls (XAML, Media, Skins, Chapter, Marker)
  • Dynamic Data Controls zur Vereinfachung der Datenanbindung und Darstellung bzw. zur vollständigen Automatisierung. Er wird einem künftig noch mehr Arbeit abgenommen. Trotzdem bleibt alles beinflussbar.
  • Dynamic Languages.
  • Application Services (Search, Sitemaps, Diagnostics). Vorallem letzteres ist wirklich sehr interessant. Bisher ist ja z.B. JavaScript-Debugging ein nervenaufreibender Zeitvertreib. Das soll besser werden. Zum Glück!

Das war es!

Im Anschluss an die letzte Session ging es im Flugzeug in der Dunkelheit durchgeschüttelt und wie eine Sardine verpackt ab nach Hause. In München wartete am Freitag ein Bahnstreik mit den entsprechenden Folgen im Berufsverkehr.

Aber mit so vielen Eindrücken und Motivationsschüben eindeckt, was interessiert mich da ein Bahnstreik?!  :-) 

Tags: Tags: | | |
Oct 05
2007

Mit der Installation des Silverlight 1.0 SDK wird auch ein Template für das VS2005 geliefert, welches einen leichten Einstieg in die Entwicklung eines Silverlight 1.0 Projektes bietet. Es kann jedoch wie in meinem Fall passieren, dass nach der Installation des SDK in den Templates des VS2005 keine Silverlight JavaScript Application vorhanden ist. Als nach einer erneuten erfolgreichen Installation des SDK das Template noch immer nicht sichtbar war, machte ich mich per Filesearch auf die Suche nach dem gewünschten File SilverlightJSApplication.ZIP. Tatsächlich wurde dieses Template auch installiert, allerdings unter dem Profil eines anderen Users, als dies wohl die Ausführung des VS zuständig ist. Daher war das Template nicht sichtbar.

Über Tools => Options => Projects and Solutions kann man sich im VS vergewissern, in welchem Verzeichnis die Templates abgelegt sind. Dorthin muss die SilverlightJSApplication.ZIP kopiert und schon taucht das Template in der Liste auf:

SilverlightJSApplication.zip (6,62 kb)

Das Template ist zwar lt. Installationshinweis für das VS2005 gedacht. Aber sobald man das erwähnte zip-File in das entsprechende VS2008 Beta2 - Templateverzeichnis kopiert, kann auch dort damit gearbeitet werden.

Tags: Tags: |