I've been using UES for PHP development using CodeIgniter, SMF Forum Development, and other application work, for several years now. Nothing in the past year, as I've actually been working on Desktop applications for Windows, but I'll be picking up PHP again as I finish some of my current workload. As a freelancer, it pays for me to have more than one area of expertise.
Most people who are looking for PHP IDE are looking for a few basic necessities, as a vast majority of people who call themselves "web developers" are not old-school programmers, but are breaking into it because they believe it would be a lucrative career choice.
These basic necessities include:
1. Must run on Linux
- because they can get the Operating System, Development Server, etc. for free that way, and they believe that since most web servers running PHP run on Linux, you must have to have Linux to develop PHP. This, as any real programmer that has done their homework knows, is bogus.
2. Needs to be a "multi-platform" IDE
- because you never know when you'll run into issues on how to properly use your IDE, and you'll need to ask your Windows or Mac friends how to do something.
3. Has to be free
- because, how can you make money if you're always having to pay for stuff?
When it comes right down to it, I have yet to find functionality that I would actually use in another IDE that UES doesn't implement just as well or better. Different perhaps, but usually that's a good thing.
Almost all of these developers use an Eclipse based IDE, or something that runs on Java or .NET. These IDEs, when dealing with a large project (or just the Joomla core) slow to a crawl. It's pathetic. I just wasn't able to get any work done with any of them, and I had tried them all. Makes me glad I'm using Windows XP.
I'll try to answer some of those issues you posted, but I may not be the best one to answer some of them, and I'll say so on those issues.
1) It's not that UES is not competitive on features. If you compare a full list of features, you'll see that in most cases it's the other product that isn't competitive on features with UES.
2) See the following: Configure UEStudio's integrated PHP Debugger
3) Those "define" statements are for constants. They are not variables. The values of a constant does not change, so there is no need to "watch" it. So I've never tried. There is no need. If those are being "re-defined", then the PHP platform is practicing VERY bad practice. Constants should, as a rule, never be redefined.
4) You can map keys and create keyboard shortcuts for pretty much anything UES does, period. You can create custom toolbar buttons as well. See Configure custom keymapping and menu hotkeys in UEStudio
5) This is one that takes a little explaining, but I can definitely tell you why. It will be long winded, as I usually am. You can decide to read it or skip it if you like.
An auto mechanic takes time to learn how to properly use the tools they have, and they become familiar with how to use the repair manuals on hand.
A Doctor can't simply learn from a book, they have to have practical experience in using the "tools" of the trade. They need to know which instrument to use for which part of the surgery, how that instrument works, and what the differences are between different types of scalpel blades, surgical silk threads, clamps, etc.
In the same way, a programmer must know their tools. If you have a powerful IDE, it makes no sense to use it and not know its potential. Serious, hard-core programmers know this. Generally, those are the kind of programmers that buy UEStudio, as fly-by-night programmers which outnumber hard-core programmers by 1000 to 1, will use a free software alternative.
Those who want to get to know their tools will spend time studying it, read the manual, and test out the different functions to see what it can do for them. The time spent on it will increase their productivity to the point to pay for the time spent in the long run. Personally, I spent a good 40 hour work week getting up to speed when I switched from UE to UES a few years ago, and I'm still learning about features and the inner workings of it. It has made me more productive.
That's not to say it takes a 40 hour work week to learn how to use it, just that I wanted to play with it that much to see what all it could do. I was home on a 6 week vacation at the time, and it seemed a perfect time to do so.