A következő címkéjű bejegyzések mutatása: Visual Studio. Összes bejegyzés megjelenítése
A következő címkéjű bejegyzések mutatása: Visual Studio. Összes bejegyzés megjelenítése

2008. november 13., csütörtök

jQuery intellisense tipp

FRISSÍTÉS:
Tegnap olvastam, hogy a Microsoft a VS2008-hoz megjelentette ezt a frissítést, ami lehetővé teszi, hogy trükközés nélkül használjuk a jQuery intellisense támogatást.

Kettővel ezelőtt írtam, hogy van már VS intellisense részére kommentelt jQuery.
Van egy okos trükk, hogy véletlenül se felejtődhessen benne a végső kódban a kommentekkel tűzdelt js állomány.

<script src="jquery-1.2.6.js" type="text/javascript"/>

<% if (false) { %> <script src="jquery-1.2.6-vsdoc.js" type="text/javascript"/>

<% } %>



A fenti módon inkludálva a scriptet az intellisense látni fogja, viszont rendereléskor nem kerül be az oldalba.
(A tipp az ASP.NET Debugging blogról származik)



2008. október 28., kedd

Intellisense jQuery támogatás a Visual Studiohoz

Nemrégiben röppent fel a hír, hogy a MS letette a voksát a jQuery függvénykönyvtár mellett.
Ennek jegyében a jQuerynél elkészítettek egy a VS számára kommentekkel ellátott verziót, amit az IntelliSense tud kezelni.


Letölthető innen:
1.2.6:
http://code.jquery.com/jquery-1.2.6-vsdoc.js
Latest release (jelenleg ugyanaz)
http://code.jquery.com/jquery-latest-vsdoc.js

Arra azért ügyeljünk, hogy ezek a kommentek nem kicsit hizlalták fel a függvénykönyvtárat. A végső verziókban ne felejtsd el lecserélni a kommentezett verziót a minified vagy a packed verzióra!

2008. augusztus 17., vasárnap

Hasznos apróságok a Visual Studio 2008 SP1-ben

Ahogy azt korábban írtam nemrégiben megérkezett a VS2008 SP1 végleges változata. Mostanra összegyűlt pár apróság, amit úgy gondoltam érdemes közzétenni.
Előrebocsátanám, miszerint lehet, hogy némelyik itt leírt feature már korábban is megvolt, csak én nem ismertem.

A JavaScript kódok formázásának támogatása az egyik olyan újdonság, amit már réges-rég időszerű lett volna, még akkor, mikor a VS fejlesztői a webes fejlesztés támogatását is bevették a kalapba. A 2008 kiadásával egy egész korrekt intellisense támogatáshoz juthattunk már hozzá, de ez még hiányzott. Igazából még mindig nem lehetünk elégedettek, mert nekem még mindig hiányzik a JS függvények ki-be csukásának lehetősége, ami ugye úgy a HTML, mint a C# vagy VB kódszerkesztőben időtlen idők óta fellelhető.
A szükséges beállítások nem meglepő módon a Tools > Options > Text editor > JScript alól érhetőek el.

Hasonlóan érthetetlen módon eddig a kódkommentekben levő TODO elemeket csak a megnyitott fájlokból volt hajlandó kiolvasni. Én személy szerint szerettem volna együtt látni minden ilyen bejegyzést, ez azonban egy nagyobb projekt esetében meglehetősen problémás lett volna. Az SP1 után nincs ennek akadálya.

Aki szereti pl a Firefox keresési módszerét előnyben részesíteni, annak lehet jó a ctrl+i billentyűkombináció, ami az inkrementális keresést teszi lehetővé az éppen aktuális fájlban. Magyarul, a beírással párhuzamosan keres rá a szövegrészletre.


Egy másik apróság a megnyitott fájlok közötti navigációra ad egy alternatívát. A crtl+tab helyett használhatjuk a ctrl+alt+down (lefelé nyíl) kombót, ami egy kicsi csinos forráslista nézetet ad nekünk.

2008. augusztus 11., hétfő

Visual Studio 2008 és .NET Framework 3.5 SP1

Ma kiadta a Microsoft a VS 2008 és a .NET 3.5 SP1 végleges változatát.
Többen ajánlják, hogy előtte használjuk a Visual Studio 2008 Service Pack preparation Tool eszközt.
Ezután bátran lehet letölteni és installálni a service packot innen.
Többek között a következő fontos/hasznos frissítéseket hozza nekünk:
  • .Net framework :)
  • Asp.Net Dynamic data
  • Asp.net Ajax Browser history
  • Asp.net Ajax Script combining
  • Ado.Net data services
  • Ado.net entity framework
A magam részéről az entity frameworkre fenem a fogam már régen, de sajnos ezidáig csak egy-két minimál próbálgatásra futotta az időmből, pedig régóta ott van a stack-ben a SQL2008 újdonságaival együtt (főleg a térbeli struktúrák ... nyami... :))

2008. június 25., szerda

Újabb érdekes VS tool

Kissé elmaradozok mostanában a bejegyzésekkel. Nem mentegetőzésképpen, de voltak némi pozitív és negatív változások körülöttem, meg éppen javában tombol a versenyszezon is. De ez végül is azt hiszem senkit sem érdekel :)
Amiről voltaképpen szó van arra nemrégiben bukkantam rá egy blogon. A neve RockScroll és egy nagyon jópofa VS kiegészítő. Gyakorlatilag a scroolbar helyett egy keskeny kutyanyelv-szerű szalagot helyez el, amelyen szintaksziskiemeléssel látható a teljes kód, persze kellően kis méretben. Színekkel jelzi az editálások helyét, a breakpointokat, a bookmarkokat. Az általam leghasznosabbnak ítélt feature úgy működik, hogy egy szót az editorban duplaklikkel kijelölve az összes előfordulást kiemeli és ez a kiemelés látszódik az oldalsávon is. Ezzel sokszor feleslegessé teszi a CTRL+F nyomkodását.
Photobucket

2008. május 12., hétfő

Visual Studio 2008 és .NET Framework 3.5 SP1 Beta

Ma reggel jött ki a fent említett SP1 szervízcsomag bétája, olyan friss, hogy még meleg.
A csomagban sok WPF-es javítás van, a WCF-fen is reszeltek valamit.
Véleményem szerint a két legfontosabb újdonság a teljes SQL2008 support (eddig ehhez kellett egy kiegészítő), illetve a sokak által kíváncsian várt Entity Framework, mégpedig a VS-be integrált kattogós dizájnerrel karöltve. Állítólag a JS szerkesztőn is javítottak, ami azt illeti ezen van is mit és bekerült valami, aminek pár éve még nagyon örültem volna, mégpedig a klasszikus ASP intellisense támogatás.
ScottGuthrie egy bejegyzésben szépen összeszedte az újdonságokat, ajánlatos átfutni.
Még alig kezdtem el felrakni a pakkot máris vidám pillanatokat szerzett nekem a .NET FW telepítője :)

2008. április 25., péntek

Párhuzamos fordítás MSBuild -del

Ebből a postból megtudhatod, hogyan buildelhetsz párhuzamosan MSBuild-del, kihasználva a többmagos proci lehetőségeit. Érdekes...

2008. április 9., szerda

Hatékonyságnövelő tippek a Visual Studio 2008-hoz

Az egyik MSDN blogban megjelent egy bejegyzés, 10 tippel, ami a kódolás hatékonyságát növelheti Visual Studioban.
Ki ne szeretne hatékonyabb lenni, hát átolvastam, itt most továbbadom, a saját véleményemmel kiegészítve. Amit jónak tartok így jelölöm: (!), amit nem azt így (?), ahol ezek a jelek nem szerepelnek azt döntsd el magad :)

1. tipp: Tanuld meg a gyorsbillentyűket.

Ez nem túl fantáziadús javaslat, mondhatnám, hogy triviális, de tény ami tény, valóban hatékonyságnövelő tényező, ezért is hívják úgy, hogy GYORSbillentyű.
A legfontosabbakat felsorolja a cikk, bár SZVSZ ezeket mindenki ismeri, hacsak nem ma látott először Studiot.
  • Build: CTRL + SHIFT + B
  • Word completion: CTRL + SPACE
  • Start with debugging: F5
  • Start without debugging: CTRL + F5
2. tipp: Automatikus dokumentációgenerálás GhostDoc segítségével (?)
Ez a tipp erősen vitatható. Egyetlen esetben van értelme használni, ha valaki olyan cégnél dolgozik, ahol a dokumentációt "kilóra" mérik. Ugyanis egyedül ilyen esetben csinál épeszű ember ilyen "dokumentációt":

Vagy ilyet:
A magam részéről úgy gondolom, hogy ennek semmi értelme. Ugyanis a függvény, property, osztály neve ha "önleíró", mint fent, akkor gyakorlatilag csak szószaporítás az ilyen típusú dokumentáció, ha azonban nem az, akkor semmilyen automatikus eszköz nem tudja értelmesen dokumentálni, csak a programozó.

3. tipp: Használd az automatikus tulajdonságokat
Ezt én inkább így írnám:
Használd ki a nyelvi újdonságokat (!)

Az automatikus tulajdonságok egy hasznos újítás a C# 3.0-ban. Mindenkit bátorítanék ennek az anyagnak az átolvasására, aki még nem tette, itt minden újdonság, szépen jól magyarul olvasható el.
A hatékonyságnövelő újdonságok bajuszokban, rövid példával:

Automatikus tulajdonságok


Új lehetőség az objektumok inicializálására



Lokális típusfeloldás


Lambda kifejezések


Erről itt írtam egy szemléletes példát.

4. Tipp: Használd a Refactort

Ha nem tudsz vagy nem akarsz automatikus tulajdonságot alkalmazni, hasznos lehet a Refactor menü Encapsulate field... menüpontja.
Így kezded:


..és ez lesz belőle:

A Rename is igen hasznos lehet, bár néha igen lassúcska, illetve kétségtelenül hasznos és (általam) gyakran használt tool az Extract interface..., ami nem meglepő módon interfészt állít elő az osztályunk alapján pikk-pakk módon.

Az 5. tipp (egyéni parancsok) részben emlegetett PowerCommands toolt ki fogom próbálni, mert a projekt oldalán látok néhány ígéretes dolgot (Copy/Paste Class, Copy/Paste References).

6. tipp: a build testreszabása

Egy nagyobb projekt esetében perceket vehet el az életünkből fölöslegesen, ha olyan dolgok is be vannak kapcsolva a projekt fordítása során, amelyekre például csak a végső változatban lesz szükség. Példaként a post az XML dokumentáció generálását hozza. Érdemes ezekre odafigyelni.



7. tipp: használd a VS unit test generáló funkcióját (??)

Hát ez nálam erősen kérdőjeles. Nem tudom mennyit ér egy ilyen automatikusan generált teszt. Érzésem szerint ez ugyanaz a kategória, mint a fentebb tárgyalt automatikus dokumentálás, vagyis csak kilóra van haszna, érdemben nem nagyon. Emgem ez azért sem érint különösebben, mert az NUnit és a Testdriven.NET használata mellett köteleztem el magam egyelőre, így a VS saját teszteszközeit nemigen használom.

A következő két tipp valóban hasznos, azonban a C#-hoz, de főleg a Studiohoz társítani némileg erős, hiszen mindkettő iknább módszertani kérdés, bár a szükséges eszközök valóban rendelkezésre állnak VS2008-hoz, ha másképp nem, hát külső fejlesztésként.

8. tipp: Interfész-központú tervezés

Az interfész alapú tervezés az én olvasatomban az agilis módszertanok fegyvertárába tartozik. A cikk arra mutat rá, hogy ennek a módszernek jelentős hatékonyságnövelő hatása lehet, főleg teamek esetében. A lényeg röviden annyi, hogy a többrétegű alkalmazások fejlesztésekor legelőször a kommunikációs felületek kialakítása a célszerű, mert így a csapat tagjainak nem kell egymásra várniuk, hiszen például az üzleti logika készítői elkészíthetik a saját - nyilván egyszerűsített - adathozzáférési objektumaikat vagy a következőben emlegetett mocking technikát alkalmazhatják, így párhuzamosan tud zajlani a fejlesztés szorosan kapcsolt rendszer esetében is. Jah igen, ami a Visual Studiot illeti, az objektumtervező lehetőséget ad minimális erőfeszítéssel az interfészek előállítására



9. tipp: A függőségek kiiktatása mock objektumok segítségével

A tipp kétségtelenül hasznos, bár ez nem a Studio vagy a C# fejlesztőinek érdeme :)
Mivel jómagam is newbie vagyok a tesztvezérelt fejlesztésnek nevezett metodológiában, ezért nem szeretnék itt mélyen belemenni a dolog taglalásába. A lényeget már majdnem le is írtam az előző pontban. Gyakorlatilag arról van itt szó, hogy az álobjektumokat egy eszköz segítségével úgy állítjuk elő, hogy azok megvalósítsák azokat a függvényeket, tulajdonságokat, amelyeket a tesztek során használni szeretnénk (lehetőség szerint CSAK azokat). Így egyrészt valóban függetlenítjük a programrészünket a többitől, másrészt a tesztjeink jelentősen gyorsulhatnak is, ha ezzel a módszerrel kiiktatunk például adatbázisműveleteket vagy más idő és erőforrásigényes eljárásokat. A cikk írója által ajánlott rendszer a RhinoMocks névre hallgat, jómagam is ennek használatába kezdtem bele a közelmúltban, az elterjedtsége és nem utolsó sorban az ingyenes volta miatt.
A cikk szerzője hoz egy rövid példát is, amit idelinkelek:



10. tipp: Adatvezérelt egységtesztek

Ismét röviden arról van itt szó, hogy X darab teszt írása helyett egyetlen tesztet írunk, amelyet a VS segítségével egy adatbázis X sorára lefuttathatunk. Ez a tesztek írását valóban gyorsítja, ellenben a futtatáskor - az előző pontban írottal szemben - éppen, hogy megterhetljük a tesztet egy kvázi fölösleges adatbázis és/vagy fájlolvasással. Én kis adatmennyiség esetében (és hogy ne kelljen megválnom a jó öreg NUnittól ;)) inkább az NUnit egyik kiegészítőjét használom (RowTest Extension for NUnit). Ki-ki döntse el, hogy melyiket akarja szeretni.

2008. április 8., kedd

VS2008 probléma: Cannot copy file because it is being used by another process

Unit tesztek esetében nálam is rendszeresen előfordul VS2008 alatt az a probléma, aminek a megoldását most olvastam. Még nem próbáltam ki, remélem használ...

2008. március 3., hétfő

Fejlesztői dokumentáció előállítása automatikusan SandCaste segítségével

Már régóta terveztem, hogy elmélyedek a SandCastle használatában és esetleg leírom tapasztalataimat. Ezt most Biri megtette helyettem, aminek azt gondolom többekkel együtt nagy hasznát vehetem.

2008. február 9., szombat

Javítás a Visual Studio 2008 -hoz

Kiadtak egy javítócsomagot a Visual Studio 2008 webes részéhez.
Scott Guthrie hirdette meg a blogjában.
Le is ír minden tudnivalót a maga alapos módján.
Ha csak gyorsan letöltenéd innen megteheted.

Subversion munkakörnyezet beállítása windows alatt Visual Studiohoz (is)

Csapatban történő fejlesztés esetében van néhány dolog ami elengedhetetlen. Ezek egyike a verziókezelő rendszer. Gondolom sokaknak ugrik be elsőre a VSS, mint olyan, azonban a költséghatékonyság általában fontos szempont, így ésszerű feltenni a kérdést: minek használjon az ember fia egy olyan szoftvert, amivel azonos minőségűt - egyesek szerint jobbat - használhat ingyen. Ha verziókezelésről van szó két fő vonulatot kell megemlíteni. Az egyik a check-in, check-out és a kizárólagos használat kifejezésekkel hozhatók összefüggésbe. Ilyen a VSS is az opensource világban pedig a CVS. Azonban amiről most írni fogok, az a másik vonulat, nevezetesen amely inkább az együttes használat és az egyesítés kifejezésekkel írható le, jeles képviselőj pedig a Subversion. Ennyit általánosan, most pedig a lényeg, vagyis egy Subversion munkakörnyezet felállítása dióhéjban.
Időközben Biri blogján olvastam, hogy mindhárom támogatja a kizárlólagos és a merge módot is, ez eddig nem volt számomra egyéretelmű...

Hadd szóljak előre: mielőtt nekiállsz letöltögetni, installálgatni mindenfélét, olvasd végig az írást....
A szerver összelövéséhez szükség van egy Apache webszerverre, magára az SVN szerverre és egy kis időre ezek konfigurálásához. A használathoz semmi más nem kell, csak egy jó kliensprogram, a kényelmesebbeknek valami IDE beépülő a Visual Studiohoz. Első eldöntendő kérdés, hogy milyen párosítást akarunk használni:
Apache 2.2.x és a hozzá való Subversion szerver
Apache 2.0.x és a hozzá való Subversion szerver

Én, bevallom férfiasan, hogy főleg a lustaságom miatt az utóbbit választottam, ugyanis ahhoz van install program, next-next-finish szinten. Ezek begyűjtése után megkezdődhet a móka.

Először is állítsd le az IIST, nehogy összevesszenek az Apache-csal, ugyanis előfordulhat, hogy enélkül nem kúszik fel az indián. Apache installálás értelemszerűen végezhető, pár dolgot ki kell
tölteni az elején.

Itt még az alapértelmezett 80-as portot fogja meg, de ettől nemsokára elvesszük a kedvét. Mielőtt indiánunk beleélné magát a helyzetbe, akár rögtön ki is lehet lőni a tray-ben található piciny ikonocskára kattintva.



Ezután következik a Subversion installálás szintén next-next-finish módszerrel, amit nem érdemes hosszasan taglalni.

A következő lépés a DAV elérés beállítása az apache konfigurációs állomány (httpd.conf) megfelelő módosítással. Alapértelmezett telepítés esetében a C:\Program Files\Apache Group\Apache2\conf alatt lehet ezt megtalálni.

Az állomány végére értelemszerűen módosítva kell beírni ezeket a sorokat:

DAV svn
#ez a virtuális kvt neve
SVNParentPath C:\svn # ez a path
AuthType Basic
AuthName "Subversion repositories"
AuthUserFile passwd
#AuthzSVNAccessFile svnaccessfile
Require valid-user

Ezzel megmondtuk a rézbőrűnek a leendő svn tárhelyünk adatait.

Ahhoz, hogy a fent megadott beállítások működésbe lépjenek "vissza kell kommentelni" (vajon hogy lehet ezt magyarosan mondani? )az alábbi sorokat:

#LoadModule dav_fs_module modules/mod_dav_fs.so
#LoadModule dav_module modules/mod_dav.so

Ez annyit tesz, hogy az andráskereszteket le kell törölni az elejéről.

Szintén szükséges a működéshez és az SVN install be kellett hogy tegyen valami ilyesmit a fájlba:
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so

Természetesen ez csak akkor történik meg, ha előbb az apache kerül fel és utána az SVN, máskülönben sajnos mind a bejegyzést, mind a fájlokat kézzel kell elhelyezni a megfelelő helyen, ezért érdemesebb inkább figyelni a sorrendre.

Szintén most érdemes átírni a Listen bejegyzést szükség esetén 80-ról bármi más szabad portra, ezen fog kommunikálni az SVN (pl. : http://localhost:81/svn)

Most pedig elő kell állítani a felhasználókat és jelszavaikat az apache egyik parancssori segédprogramjával imígyen:
htpasswd -c passwd someuser


Ez a szintaxis csinál egy ÚJ(!) password állományt. Ha a meglévőt akarod módosítani, a
-c-t hagyd le. A segédprogram az apache alatt a bin alkönyvtárban csücsül.

Ezután az indiánt életre lehet kelteni és elvileg van egy működő SVN szervered. Az IIST is
újra lehet indítani, csak ne ugyanazon a porton, mint ahol az apache duruzsol!

Miután mindezt végigolvastad, azt gondolod, ez bizony elég körmönfont művelet az én windowsos elmémnek. Milyen jól gondolod!
Az egész fenti műveletsort egy csodálatos varázsló segítségével néhány kattintással végigcsinálhatod. Mindössze annyi a teendőd, hogy letöltöd a Visual SVN Server névre hallgató kompakt csomagot innen és installálod. Természetesen mondanom sem kell, hogy én ezt akkro találtam meg, amikor már a fenti lépéseken sikeresen végigküzdöttem magam ennek a cikknek a segítségével, a képeket is innen linkeltem.

De mit ér a legjobb szerver is, kliens nélkül! Lássuk hát a drót másik végét!

A legsikeresebb, mindenki által ajánlott kliensprogram windows alá a TortoiseSVN, amit innen lehet letölteni letölteni. Egyszerűen lehet installálni, értelemszerűen használható. Amit érdemes megjegyezni az az, hogy a TortoiseSVN nem önálló program, hanem az Explore kontext menüjébe, magyarul a "jobb gombos" menüből használható shell extension, ami ott fejti ki működését, ahol indítjuk a műveletet.

Magyar felhasználói felület is tölthető le hozzá. A használata véleményem szerint nem igényel magyarázatot.

Visual Studiohoz két hasznos (ingyenes) eszköz van, amely fellelhető, gyakorlatilag mindkettő a TortoiseSVN funkcionalitását tesz elérhetővé közvetlenül aVisual Studioból használva. Az AnkhSVN egy
önállló projekt a tigris.org szerveren, a másik pedig Garry Bodsworth saját készítménye, melyet itt tett közzé:

http://garrys-brain.blogspot.com/2007/07/tortoisesvn-and-visual-studi...
Izlés dolga ki melyiket használja. Ha esetleg pénzt szánnál rá, akkor mások véleménye szerint a VisualSVN fizetős (50 USD) kliense a legjobb választás.

Kellemes verziózást kívánok.