The Live Templates are also a real treat.
I can type gor (for "getObject resource") followed by the tab key and have this on the screen in a flash (with the cursor between the last two quotes):
$modx->getObject('modResource', array('pagetitle')=>''));
And, if I’m inside a class, I type tgor-tab for:
$this->modx->getObject('modResource', array('pagetitle')=>''));
The live templates are really easy to create, and you can put in variables and tab between the parts you need to fill in. You can also highlight code and "surround" it with a live template.
Here’s a general getObject() live template (go-tab):
$modx->getObject('mod$object$', array('$name$')=>'$value$'));
$end$
The $end$ puts the cursor on the next line after you’re done tabbing through the stuff you need to enter. I can enter a whole getObject() call in a few seconds and be sure it has no syntax errors.