textmate

TextMate Wishlist: Five features I wish TextMate had

I love TextMate. I've pretty much given up on IDEs in favor of TextMate's simple yet powerful code editing. I think I've written upwards of nine bundles, some of which are available at my GitHub repo. TextMate one of the few applications that is always running on my Mac.

But there are a few things that I wish TextMate had. Nope -- they're not the usual "I want more code completion" features. They're more generic requests; things that I imagine would improve my day-to-day workflow.

Using Phing from TextMate to run PHPUnit tests

I have recently converted some of my PHP projects over to use the awesome Phing build tool. Phing is similar to Apache Ant, a tool I am familiar with from my Java development days. I have crafted Phing's build.xml for QueryPath to handle building packages, generating API docs, running coverage analyses, linting, and (of course) running QueryPath's ~250 tests.

Having left IDEs behind for the time being, I have been working hard to build an personalized toolchain for PHP development. I've settled on TextMate as my editor (though I still use vim quite often). One thing I wanted to be able to do is run unit tests from within TextMate.

Initially I built a shell script to run the unit tests. But after moving to Phing, it seemed like it should be possible to take advantage of Phing's unit test running abilities (and lovely HTML output) from within TextMate. Working this out took two major stages:

  1. Writing a custom target in Phing's build.xml
  2. Creating a simple TextMate bundle for running Phing tasks

This article shows how to accomplish each of these steps.

Debugging your PHP Code: XDebug on MAMP with TextMate and MacGDBp Support

As I see it, there are two major drawbacks to the otherwise-spectacular MAMP (MacOS Apache MySQL, PHP) package (three if you count the funky directory structuring):

  1. The .h files are all missing, so PECL doesn't work very well.
  2. There is no debugger.

The first issue is covered elsewhere. In this article, I will address the second by explaining how to setup XDebug on MAMP. XDebug is one of the two popular PHP debugging engines (With ZendDB being the other).

In this article we will cover the following:

  • Getting and installing XDebug
  • Using XDebug for basic stack tracing
  • Integrating XDebug with TextMate
  • Configuring XDebug and MacGDBp for client/server debugging
  • Using MacGDBp
Syndicate content