Thursday, January 06, 2011

Delphi on wide screen

A lifetime ago when I was still programming on two 1280 × 1024 monitors I’ve published a post about the IDE layout I was using at that time (in Delphi 2006).

I was always saying that there’s only one reason why a programmer should use two monitors – because (s)he has no place for the third one! So when the opportunity knocked I did the same – cleaned up some place on the desk and installed a 1920 × 1200 monitor in the middle.

multi-monitor

As the 1920 × 1200 monitor is much larger than the old 1280 × 1024, I’ve managed to lay out Delphi on the main monitor only (monitor #2 is primarily dedicated to mail and monitor #3 to IM and StackOverflow). As you can see I’m still actively using ModelMaker Coder Explorer (a must have add-in for Delphi IMHO). I’ve also started using Documentation Insight to document the code and I like it. Font is Consolas at 11 pt and the code window is big enough for 42 lines with 108 columns (margin is set to 90 but I’m not strictly wrapping before it; sometimes the code – and specially in-line comments – is allowed to flow past this margin).

default layout

In debugging mode, code window is reduced to 90 columns so I can display CPU windows and two extra memory windows. MMX and Documentation Insight are replaced by the stack tract, watches and local variables.

debug layout

13 comments:

  1. Looks nice, but why do you display the CPU window like that? I go into there occasionally when I need its functionality, but most of the time it doesn't provide anything useful IMO.

    ReplyDelete
  2. Anonymous18:23

    Nice. Consider using the undocked interface so you can have Delphi palettes on all three monitors rather than restricting yourself to one. I use four at work and three at home and have a tough time at home... :-)

    ReplyDelete
  3. @Mason: I just found that I'm using it a lot while debugging. And as I have lots of screen estate available I'm keeping it turned on.

    @Anonymous: I don't like undocked interface. Looks too messy to me and it's hard to set up so that background is not "shining through".

    ReplyDelete
  4. Anonymous22:19

    I use almost the exact setup except...

    My Taskbar is on the left monitor because my centre screen displays Delphi inside of full screen VMWare which I can cysle thrugh 2-3 VM running at the same time.

    VMWare also very easily allows me to expands from centre monitor to centre+right (in one click) giving even more real estate, when needed. :)

    ReplyDelete
  5. Anonymous22:37

    off topic, but still important:
    you've lost your "www." dns-record entry on your domain servers. regards, dennis

    ReplyDelete
  6. Anonymous22:45

    I also use the undocked (messy!) layout across multiple monitors but am annoyed that both D2010 and XE have a bug where each time I do a build the undocked message and other windows move down a few pixels eventually wrapping to another monitor.

    ReplyDelete
  7. I use two 2560 × 1600 monitors :-)

    Full screen VMware on one. Outlook, documentation, etc on the other.

    It's really nice to have the 1600 pixels height when working with code, and the 2560 pixels width allows me to have wide enough panes on each side of the code.

    ReplyDelete
  8. Aha... glad to know that I'm not the only one using more than one monitor for software development, cheers!!

    ReplyDelete
  9. @Mason: I'm also a major user of the CPU view, it's fairly convenient whenever a single line includes more than a single method of function call, as it allows you to step "inside" the currently debugged, and look at intermediate values.

    f.i. with the CPU window the line

    SomeMethod( a.Method, b.Method)

    will as "stepable" as

    intermediate1 := a.Method;
    intermediate2 := b.Method;
    SomeMethod(intermediate1, intermediate2);

    would be

    ReplyDelete
  10. Thanks, especially about using the separate CPU panes to create your own CPU view.

    ReplyDelete
  11. @Anonymous 18:23 and others. Even if you use the docked format, you can still undock individual panes and drag them wherever you want. When using multiple monitor I often drag the windows to another monitor, particularly the watch and stack windows

    ReplyDelete
  12. You might want to run your 2 1280x1024 monitors in portrait (if you can rotate them) as they match resolutions better (1280 is closer to 1200 than 1024 is). A 26" widescreen monitor matches pretty nicely with two 19" screens in portrait - and you can pick up 19" LCDs fairly inexpensively second hand.

    ReplyDelete
  13. Oh, and main code window is Consolas 10 at 160 columns and that's where I wrap to. I find it really hard to code with shorter lines these days, even though I've largely stopped using end of line comments except to stop the D2010 code formatter breaking my layout. I miss the DelForEx "don't reformat this bit" markers.

    ReplyDelete