dinsdag 18 januari 2011

Visual studio layout

Jeff atwood's layout. Looks great.
http://dl.dropbox.com/u/8430002/exported-font-and-colors-for-jeff-atwood.vssettings

vrijdag 25 juni 2010

Hiding items from designer code

UI objects hosted in a panel/form get a lot of designer code added to set properties to 'default' values. Setting those properties to Visibility Hidden or supplying a DefaultValue makes sure the designer code won't call those properties.





Designer code also seems to crash once you do anything 'dangerous' like opening a remoting object or opening a file. Don't do that by checking the IsDesignMode property you can google.

Devexpress Grid editors force update

Sometimes a devexpress grid editor won't update the underlying value because the editor hasn't updated yet.

Various commands try to force the editor to update the values but the best thing I've found was the following:

gvwSpotsInFlight.PostEditor() 'Won't work
gvwSpotsInFlight.FocusedRowHandle = 0 'Doesnt seem to work either
' grdSpotsInFlight.RefreshDataSource() 'Not what we're looking for
btnCreateSpVrOwn.Focus() 'Forces the editor to close and workds

dinsdag 27 oktober 2009

Visual studio designer problemen

Geregeld komt her voor dat sommige panels niet meer te designen vallen. Dit is een ‘fout’ in visual studio in combinatie met devexpress componenten en multiple inheritance.
Visual studio ‘ziet’ een designer error en zet dan zo’n file op niet designbaar.

Een oplossing kan zijn:

*.vbproj file aanpassen en bij de te designen class UserControl toe te voegen

Hier een voorbeeldje van pnlOWSUserControlBase.


pnlOWSUserControlBase.vb
UserControl


UserControl


Als het goed is toont visual studio meteen open with designer.
(meestal zijn alle classes die van een baseclass afhangen niet te designen. ‘repareer’ dan de baseclass)

Hopelijk hebben jullie hier iets aan.

De designer is super gevoelig voor exceptions vang die dan ook altijd af. Desnoods kan je code in designer uitzetten met

if ( DesignMode ) return;

De designer voegt ook voor alle properties van objecten automatich initialisatie van alle properties toe. Verstop properties met:

_

woensdag 6 mei 2009

Een super handige link

Het is mogelijk om in ms sql management studio een aantal standaard sql querys aan keyboard shortcuts te hangen. Bijvoorbeeld ctrl + 1.

http://sqlservercode.blogspot.com/2007/01/increase-your-productivity-with-query.html

woensdag 15 oktober 2008

VS.net shortcuts

Advanced VS.net keyboard shortcuts
Basic

Ctrl + shift + B of F6 Save all files and rebuild
Ctrl + s Save current file (*shift voor all files)
F5 Save all rebuild en start with debugging
F4 Open properties (werkt ook op solution files)
F7 Switch designer / code (met shift is terug)
Ctrl + F Search
Ctrl + i Type to search

Code Opmaak
Ctrl + K , D Auto layout code
Ctrl + K , C Plaats commentaar om geselecteerde regels
Ctrl + K , U Uncomment selection

Bookmarks etc
F12 Go to definition
Ctrl + - Go back (terug van definition of auto bookmark)
Ctrl + shift + - Go Forward (vorige auto bookmark)
Ctrl + B, T Plaats een bookmark
Ctrl + B, P Previous bookmark
Ctrl + B, N Next bookmark
Een autobookmark word aangemaakt als je een korte tijd een regel blijft bekijken.
Intellisense
Ctrl + spatie Forceer intellisense + auto complete bij 1 keuze
Ctrl + . Forceer smart tags menu (using/import etc.)
Door typen met intellisense Incremental search
Pijltje omhoog omlaag met intellisense Loop door opties
Met intellisense drop down open:
tab
spatie
any key
Auto complete zonder spatie
Auto complete met spatie
Auto complete met any key
Refactoring
Ctrl + R, E Encapsulate Field: maak property van private field
Extract Method: Ctrl + R, M
Promote Local Variable: Ctrl + R, P
Remove Parameters: Ctrl + R, V
Rename: Ctrl + R, R
Reorder Parameters: Ctrl + R, O
Surround With dialog: Ctrl + K, S
Debugging

F5 Save current file rebuild en Start met Debuggen
Shift + F5 Start zonder debuggen
Ctrl + shift + B Save all files and rebuild
F9 Insert breakpoint
F10 Step over
F11 Jump into function
Slepen aan de gele pijl Pas instructie pointer aan naar vorige regel
Code aanpassen bij een breakpoint Pas code aan (edit and continue)
Let hierbij wel op geen functies of try catch statements aan te passen, dat mag niet.
Snippets
Alle snippets werken door het invoeren van twee keer tab
Ctrl+ K , X Open snippets dropdown
Prop +tab tab Maak een nieuwe property met een simpele wizard, switch van veld naar veld met tab en stop de wizard met enter.
ctor
~
svm
Cw Constructor
Destructor
Static void main
Console.writeline
For
Foreach While
If Else
Switch Try
Tryf


Default
Copy paste, undo redo werken ook in visual studio.
Win + e -> windows explorer
Ctrl + shift + escape -> task manager
Win + 1 … -> quick start shortcut starts

R-alt + enter -> full screen vpc
R-alt + del -> ctrl alt del in vpc

maandag 6 oktober 2008

Live op de SDC

De software development nederland conference is in volle gang. Sessies van Silverlight tot TSQL, van het antieke delphi tot F#.

Ik ben begonnen met een sessie over annotations in silverlight, een rustige wake up.
Hierna een introductie F#, dat scheelt me weer flink wat onderzoek.
Verder aan de slag met een introduction entity framework
daarna zie ik wel weer wat er verder gebeurd.

Binennkort zelf maar een sessie regelen over design patterns.

F#

Met F# is het mogelijk om grote berekeningen op veel data te verwerken. Het tonen van een formpje met een button ed. is echter een stuk minder praktisch. F# is vooral bedoeld voor academici en statistischi.

Tijdens de sessie over F# een mooie introductie gehad over functioneel programmeren.
FP is het schrijven van functies met input en output parameters die zo min mogelijk side effects hebben. Door weinig side effects is het makkelijk om de functionele code parallel uit te voeren. F# is een taal met een compleet andere gedachte goed dan C#. F# heeft een heleboel functionaliteit aan de .Net Common Intermediate Language (CIL) toegevoegd. Technieken zoals generics, lamda expressies en linq zijn compleet aan F# (en andere FP talen) te danken.

Veel andere FP technieken zoals currying zijn ook in F# aanwezig en alleen met een omweg of bergen code mogelijk in C#.