I've been using them about a week and i've been jotting down problems and suggestions for WC09 to post here, but some also apply to phpCoder
Bugs:
- The JavaScript parser gets confused when passing an object into the constructor of a new class instance and an object shows up in the document pane with no name
- Related to the above, objects shouldn't show up in both the object and variable list.
- Again related to the above, variables assigned with "new Class()" etc should show up as objects.
- For PHP, types are marked as a reserved word in the editor but they aren't. For example "callback" can be used as a function name. (phpCoder too)
- Related to the above, when a reserved word is used as a function name the parser gets confused. In WC09 it detects classes and class functions declared after it as global functions whereas in phpCoder it shows up $this as a class variable if used in a class function. I don't think this is a big problem as you can't use reserved words as function names, but I thought i'd report it as it messes things up relating to bug #4.
- Matching PHP brackets don't highlight.
- The file associations window is resizable but the contents don't resize with it. (phpCoder too)
- In very large files the scrollbar handle gets very small. Not necessarily a bug but make it hard to use. It hits its minimum size after 6540 lines but this is only 5 pixels high. (phpCoder too)
- The syntax coloring tab in the settings asks if you want to save the settings for the current language if you change to another even if you didn't change anything. (phpCoder too)
Feature requests and Suggestions:
These are some things I'd find quite handy, just throwing them out there as ideas. I'm sure some are achievable through scripting but i've only dabbled with it so far.
- Something to count all the matches when using the search dialog
- FIXME, TODO, @todo etc tags in comments automatically parsed and show up in the todo list
- The option to have tabs on the document tab bar wrap round onto multiple lines instead of scrolling across
- Ability to change the font face and size in the syntax coloring for individual settings
- Add PHP class variables that aren't declared but used in functions to the intellisense/document outline.
e.g.- Code: Select all
class Test
{
public function func1() { $this->var1 = 'test'; }
public function func2() { $this-> // When typing this, $this->var1 shows up in intellisense }
}
- JavaScript code tidy. HTML, CSS and PHP have it so it just makes sense that JS should too.
- The option to automatically open the project tree to the currently active document when switching between them.
- When using the "Automatically complete single/double quotes" intellisense setting, if you type the ending quote anyway have it ignored and the caret skip ahead one character so the quote isn't doubled. e.g. type 'test' instead of 'test''.
- This is website related, but a compare features matrix would be nice for WebCoder/phpCoder/WebPad. I wasn't sure which to use at first until I installed them both and had a play around.
Lastly, i'd like to comment on your blog post about combining WebCoder and phpCoder as I don't believe the points against it you discuss are entirely true. Feel free to completely ignore all this as you know better which direction you want to go with them but i'd just like to throw my thoughts out there
I totally understand your desire to keep them lean and mean but I think keeping them separate creates usability problems that more than negate the pros of doing this. When working with HTML/CSS/JS you may not need the extra PHP functionality that phpCoder adds, but the opposite isn't true. When working with PHP you are almost always working on HTML and CSS too, and if you are doing AJAX stuff you will almost certainly be using all 4. This means PHP coders have 2 options, either solely use phpCoder and do without the extra stuff WebCoder gives you for HTML/CSS/JS or use both apps at once and put up with all the extra window switching, file opening, project tree traversing etc that comes with having 2 editors open.
I think a better solution is to have phpCoder be the bigger brother of WebCoder. It could be a superset of all the WC features so PHP devs get everything in one editor while non-PHP devs get a cheaper, lighter editor.
To touch on your comment in your blog post:
The thing will get bloated, with heavy load times and an interface that is difficult to use.
When not in debug mode, phpCoder has no extra tool windows or toolbars so apart from the drop down menu along the top the interface wouldn't be any harder to use than WebCoder 2009 is. Even if the load times were increased by a couple of seconds, this would more than make up for all the extra time being spent switching between editors. I believe running 2 editors is actually more bloated; you have double the load times, double the memory usage, double the windows open, double the disk space used, double everything basically.
Here's some other advantages I can think of to support this:
- Simpler for customers to use; all the points above along with only having to choose, buy, install and update 1 app.
- Quicker updates for customers; instead of the tick-tock updates that happen now (WC 2007, phpC 2008, WC 2009) both editors would benefit from changes and could be released at the same time.
- Easier development for you; changes and bug fixes would automatically apply to both as they're on the same release cycle.
Despite all the above, I am still going to buy both apps as soon as WC09 is released. Even as 2 apps they kick other editor's butts
