Klávesové zkratky na tomto webu - rozšířené Na obsah stránky

Komponenty a nástroje od DevExpress zdarma

18.53 - 16. listopadu 2008 | Webdesign

Firma DevExpress je známá vývojem vizuálních komponent – v poslední době zejména pro dotnet, ale dříve také např. pro VCL nebo Delphi. Další jejich aktivitou jsou nástroje pro zvýšení produktivity práce CodeRush a Refactor! Pro, což jsou plug-iny do Visual Studia. No a nedávno došlo k uvolnění bezplatné sady komponent a express verze nástrojů.

Vizuální komponenty pro ASP.NET

Balíček bezplatných komponent obsahuje 21 kusů, jako tag cloud, menu, stránkovač, záložky, rss čtečku nebo callback panel. Určitě jsou mnohé z nich užitečné. :) Integrují se do toolboxu VS 2005 i 2008. Stáh­nout si je můžete zdarma po vyplnění registrace (jméno a e-mailová adresa).

Nástroje pro zvýšení produktivity

Pokud jste viděli videa o VS 2010, možná jste si všimli, že bude podporovat spoustu pěkných code snippets, příkazy pro generování kódu přes smart tagy apod. Tohle a mnohem víc umí už léta CodeRush. A DevExpress nyní přišli Xpress verzí, která přináší zdarma vybrané funkce zdarma. Je to třeba:

inteligentní vkládání ze schránky
když napíšete sadu fieldů a zkopírujete ji a pak vložíte do konstruktru, automaticky se vytvoří inicializace těchto fieldů,
navigace po referencích
kurzorem najedete do názvu proměnné a pomocí klávesy TAB přeskakujete po všech jejích výskytech,
generování kódu
to se hodí při TDD stylu práce, kdy napíšete test pro neexistující třídy a metody a necháte si je přes smart tag vygenerovat,
inteligentní selekce
numerickou klávesou + se označí nejbližší logická jednotka, a opakovaným stiskem třeba celý řádek, potom blok a tak dále, hodí se to třeba při psaní LINQ dotazů, které pak třeba chcete vložit do závorky a zavolat třeba metodu Take nebo ToList. Zmáčknete třikrát + a pak ( a celý LINQ dotaz je ozávorkovaný.

Krom výše zmiňované funkcionality CodeRush jsou přibaleny i některé skvělé refaktoringy z Refactor! Pro. Z těch zajímavějších vyberu třeba konverzi delegáta na lambda výraz, vytvoření lokální proměnné z označeného kusu kódu, komprimace na samo implementující property, převod ternárního operátoru na if a zase zpátky, přesun typu do samostatného souboru a další užitečné refactoringy.

Závěr

Osobně jsem spokojeným vlastníkem plné verze CodeRush a Refactor! Pro a používám spoustu dalších vychytávek, které v bezplatné verzi nejsou, ale i tak může být velice zajímavá, protože spousta věcí je velice návykových, a když je to zadarmo…

No prostě doporučuju minimálně alespoň vyzkoušet.

Poznamka: Vzhledem k licenční politice Microsoftu, nefunguje CodeRush Xpress v Express edicích Visual Studia. Pro jejich použití potřebujete alespoň Standard verzi.

Intellisense JavaScriptu ve VS 2008

22.15 - 30. listopadu 2007 | ASP.NET 2.0

Jednou z novinek nového Visual Studia je nesrovnatelně lepší Intellisense pro psaní JavaScriptů. Pojďme si ji trochu přiblížit na následujících řádcích.

Kdysi byl pro mě JavaScript odporným jazykem bez ladu a skladu. Přibližně před rokem, se začala psát nová verze AMap postavená na API a frameworku Mootools. V rámci interního vzdělávání nás Dan zasvětil do tajů JavaScriptu a já pomalu začal objevovat jeho kouzlo. V průběh února jsem potřeboval psát nějaké AJAXové věci, a tak nastal čas se JavaScript naučit.

Zjistil jsem, že s MooToolama je to celkem sranda a postupem času člověk začne chápat víc a víc v různých souvislostech. Čím víc toho pak píše, začne se poohlížet po něčem, co by mu psaní ulehčilo. Zkoušel jsem Aptanu, ale ta mi moc nepomáhala, protože MooTooly neuměla. Zkoušel jsem i beta verze Orcasu, ale stejně to nebylo ono, aspoň mi to teď tak připadá…

Zkrátka, za poslední dva týdny jsem napsal JavaScriptu docela kopec, a poslední týden ve VS2008, takže můžu bezprostředně porovnat. No prostě s ním je to lepší. Konec románů a teď k věci.

Intellisense

Intellisense se nově objevuje po prvním napsaném písmenku, ne až po tečce jako v předchozí verzi. Nabízí i klíčová slova, takže funguje moje oblíbené ret mezera. Okénky intellisense jde i zprůhlednit, pokud potřebujete kouknout na kód, který je pod ním. Stačí podržet klávesu CTRL.

Intellisense je plněna parserem přilinkovaných JavaScriptů. Parser je podle mého názoru, ještě trošku v pubertě. Pokud píšete script, dokáže interpretovat, pouze to, co je před kurzorem. I když používá značnou cache, nedokáže vám nabídnout funkce, které jsou až dál.

Jelikož je JavaScript dynamicky typovaný, je tu občas problém, že parser nerozpozná aktuální typ a tak vám intellisense nenabídne nic. :) Toto chování by se dalo značně minimalizovat díky dokumentačním komentářům, kde se např. u parametrů dají nastavit datové typy. Snad v příští verzi.

Dokumentační komentáře

Aby byla intellisense živena kvalitním obsahem, přichází nové studio s dokumentačními komentáři, ve stylu jak je známe v C#, také v JavaScriptu. Hlavní rozdíl je, že se komentáře píší do těla funkce, nikoli před ní. A je tu i další chybka parseru, nedokáže zobrazovat v intellisense obsah dokumentace ze stejného souboru.

Jak tedy takové komentáře vypadají? Následovně:

function add(node) {
  /// <summary>Přidá uzel do stromu.</summary>
  /// <param name="node" type="TreeNode">Uzel.</param>
}

Dokumentační tag summary přidá popis funkce, v praxi to vypadá asi následovně:

Tag param popisuje parametr funkce a v tomto případě i jeho typ. Opět ukázka:

Reference na scripty

Pokud píšete něco většího, neobejdete se bez extrahování scriptů do samostatných souborů. V tom případě, ale intellisense neví, co je v ostatních souborech, a moc nám toho neukáže. Naštěstí je tu pseudodokumentační tag reference pomocí něhož se jde odkazovat na další scripty, jejichž kód využíváme (tradičně JS frameworky), nebo dokonce i na ScriptService v projektu. Užití může být následující:

/// <reference path="mootools.js" />
/// <reference path="/services/ajax.svc" />

Tento kód napíšeme na začátku souboru a studio už bude vědět. Občas se mi ale stává, že pokud provedu změnu v referencovaném souboru, změna se v intellisense neprojeví. Za vinu to kladu cacheování. Zatím 100% řešením, zdá se, je soubor zavřít a znovu otevřít. Po přeparsování už by měla být intellisense aktuální.

Uzávěr

Jak už jsem psal na začátku, podpora JavaScriptu ve Visual Studiu pokročila o pořádný kus dopředu, přesto má ale ještě pár much, které by stálo za to vychytat. S ohledem na to, jak Microsoft podporuje vývoj interpretů a kompilátorů pro dynamické jazyky, doufám, že se jejich podpora ve VS ještě zlepší.

Související

debuged by MiSHAK

IronRuby je tu a VS 2008 beta2 již brzy

21.37 - 23. července 2007 | ASP.NET 2.0

John Lam a ScottGu dnes oznámili možnost stažení zdrojáků IronRuby a mimo jiné také to, že VS 2008 beta2 výjde již tento týden a je z 99% feature complete. To jsou myslím dobré zprávy.

IronRuby je čerstvou implementací Ruby na platformě .NET, postavenou nad novou vrstvou DLR, která by měla být společná pro Python, Ruby, JS, VB a tajně doufám, že jednou i pro PHP ;) IronRuby je zatím v plenkách ve verzi 0.1 Pre-Alpha. Neobsahuje ani všechny vlastnosti jazyka a skoro žádné standardní knihovny (rubařské), ale do jejich tvorby se klidně budete moci zapojit. Projekt bude hostován na RubyForge a to pod MSPL.

Update

Visual Studio 2008 beta 2 je již venku. Stahovat můžete zde.

Související