Planning features for NetBeans next ... Continuation I

It was exactly one year ago, when we released NetBeans 6.5, the first version of NetBeans with PHP support. I know that the support is not still perfect (which software is bug free in theses days :) ), but at least NetBeans is known inside the PHP world. One of the evidence is the number of comments that you have written below my latest blog about planing features for next release. I would like to thank everyone who spent a minute and write up a suggestion or an idea.

We would like to implement all things that you mentioned, fix all problems that we know, but we always have to balance between requirements (from users, marketing, management :)) and resources, which are available. I think that almost everybody knows such situation and I don't know a solution, which will satisfied everyone. If you know it, please write me:).

Because there are many comments below the entry, I will try to answer your comments in this post.

I have mentioned the compression of CSS and JavaScript and a few of you reacted on this. I fully agree that this feature should be part of a build process  as Iv├ín Montes wrote. This can be benefit for projects, which use Ant or Maven for building, like Java Web, Ruby or Groovy. The PHP project doesn't have a such integration yet. A PHP user can still use the Ant support and call a compressor from an Ant task, but it's not integration like in other projects, where you can find build action for example. I think that for PHP projects the building system shouldn't be required by default. 

A few of you mentioned support of Phar files. How such support should look like? A Phar file doesn't have to be such plain zip file with predefined contains. If we will create a support for Phar files, then the compressing CSS and JavaScript can be a part of the creating of such files.

Stuart's comment:

  1. compress CSS
  2. find unused CSS selectors (finding CSS selectors based on selected dom elements would also be nice)
  3. strip comments
  4. regular expression tester/generator
  5. Improved CSS and HTML palletes (see Dreamweaver)

I think that the bullet 1 and 3 belongs together and I have wrote about this above. Finding unused CSS selectors it's nice idea and it can be also a part of CSS refactoring. We talked on the meetings about the CSS refactoring, so I hope that it will be done.

Regarding regular expression tester, there was already such module for Java regular expressoin. I'm not sure whether is still available, but you are right, it would be useful. The regullar expression should be language aware, because the same expression can be written in different form in Java and JavaScript (I hope that I remember this correctly :)).

What you exactly mean by Improving CSS and HTML palletes? Dreamweaver is viasual tool and NetBeans doesn't have such editor. I always thought that the items for HTML should be a part of code completion, so it can be used without a mouse. 

Pet's comment:

"only with one tab in Firefox. Or integrate few features from YSlow directly in NetBeans." this one is interesting, but what exactly can be done?

There are some possibilities. For example a few of rules from YSlow can be implemented as hints in the editor. Also the service that compress images can be reused in NetBeans directly. It's basically duplication a part of YSlow functionality. The question is whether it worth for it.

James Dunmore's comment:

I'd be interested in some WSDL features for code generation; both ways - i.e. creating a WSDL file form a class, and creating a class that consumes a WSDL file; although that might be a bit too "IDE" feature and not the out of the box comments you listed.

Just to be sure, do you mean PHP classes? We have similar support for Java.

Support for Selenium would be great too - built into netbeans (like selenium is built into firefox plugin) and be able to launch and control selenium (to different browsers?!) all from netbeans would be brilliant.

As Tom wrote, there is already Selenium plugin available on the autoupdate. It doesn't have probably "production" quality, but it can be useful. How many of you do you use Selenium for testing?

ignacio's comment:

I'd love to see Zend Framework support, I don't know why symfony took its place.

The support for Zend Framework is on the plan. We also plan to make a support for Cake PHP. The reazon why we implemented the Symfony support as the first one is this voting.

Trawka's comment:

- in HTML editor classes and ids completion (based on project css files)

The code completion of CSS class and ids in HTML is on the plan.

- another thing in HTML and CSS - images browser, for example in img tag.

There is already implemented a file system based code completion for some attributes. So it should be reused for all cases, where it can be useful like in img tag. And it would be useful, if there will be displayed the content of the image in such case.

Tom's comments:

"For example I use Firebug for "tuning" css and html, because it allows to change the code directly in Firefox and see the result instantly. Unfortunately there is no way how to save these changes back to the sources"

You are right! This will only work for static CSS files and static HTML files. In fact: this might be a nice addition to Firebug to enable it to save files, where the URL starts with "file://". Firefox users will possibly crown you king for that. But I don't think it is linked to editing PHP files in Netbeans IDE.

I know that this is not linked to editing PHP files. I want to find out features, which will help to a web developer. It doesn't have to be only PHP developer.

BTW: better Smarty support would be great! The existing Smarty editor doesn't work very well. It reports many valid constructs as errors and doesn't highlight the code as expected. Also I would like to be able to add my own modifiers and functions to the auto-completion window.

The Smarty plugin is developed by community. We need to talk about the problems with the author.

I also got a list of all currently available Smarty functions and modifiers, including parameters, suitable for code-completion. This list includes standard Smarty functionality and optionally Yana's Smarty extensions alike.

If you feel like this may help you out with the Smarty editor - just drop me a line and I will send it to you.

Every help is welcome, I need to find out the status of Smarty plugin and look how hard it would be to add such code completion

However: support for Yana could be easily integrated.
All you need is just a hand full of auto-complete templates for XML files and Smarty.
I could write those templates and send them to you, if you like.

I don't know this framework. Probably I should look at this. You can send me the templates. At least we can discuss the support. 

BTW: I also got a PHP script that collects all the current class and function definitions from the PHP manual and generates a fresh file for code-completion any time you want with no need for updating the IDE.

Again: if you feel that this might be something you want for NetBeans - just drop me a line and I will give it to you.
(Might need a bit of work though to port it to NetBeans as it was written for ConTEXT and PSPad in the first place.)

We have similar scripts, which generates signatures files. Our script is not able to find out the documentation for some classes and function, so probably it would be useful to look at your.

Martinjn's comment:

Improved XDebug integration would be nice... doesn't really work well at the moment.

There are many bugs, which come from XDebug itself. So there has to be fixed in XDebug, but still there some problems that can be fixed on NetBeans side.

Mike's comment:

I would like to see support for git. Almost all of my projects have moved to git.

This is a requirement for the team who develop support for VCSs. There is already a version of plugin for Git on Autoupate Center. I haven't tried it yet.

I'd also like to have the code completion come up automatically, not triggered by a key combo.

Did you try a last dev build of NetBeans 6.8. In the PHP editor it is already there.

Various stability and memory improvements as well for mac - it still doesn't feel as solid as I'd like.

It would be always good to know how to reproduce the problem. You can file an issue to our database.

Benjamin's comment:

1. Create a new Class against an existing Interface and create all necesarry methods, like the Getter and Setter Creating Option

In NetBeans 6.8 there is new hint "Implements all abstract method" that does this. You have to place cursor on the line when the class keyword is located.

2. Customising the creating of the Getter and Setter Methods

Yes, this I want to do it from the time, when I implemented this feature:).  Unfortunately I haven't time to do it yet.

Kristian's comment:

I would like to see more focus on making the core editing features more reliable. I'm using the latest dev-version and I am currently experiencing problems the code templates. Sometimes the work sometimes they don't. General code completion (ctrl+space) seems to work a lot better now though.

I agree with you, the editor is the key. 

I would also like to have an option to quickly change file-encoding, and a way to see if NetBeans is treating af file like UTF8, ANSI or other.

JSP, XML or other files has advantage that the content can keep information about encoding. Unfortunately for PHP it's not true. If I understand correctly you have a project, where the files use different encoding?

But I guess these issues all belong in the "general editor features" category and not really what Petr was asking us about :-)

Yes, my original question was about web developer workflow and how NetBeans could simplify the workflow. I was expecting that there will be a lot of comments that don't answer the original question. But still it expresses what is important for our users.  

 Ufff, it's 2:30 AM. I need go to the bed. Continue tomorrow.


In regards to the WSDL comment, I would also love this feature. I am mainly interested in creating php classes from a WSDL and xsd definition files. It is one of the more boring and time consuming parts of creating soap servers... creating php classes for objects for web services.

Posted by Andrew Lowe on November 26, 2009 at 08:01 PM CET #

V netbeans mi chybí něco jako ruční brzda pro debug. Byl by to přepínač, kterým by se daly ignorovat všechny breakpointy i počáteční stop na první řádce kódu. Výsledkem by bylo že bych se mohl rychle proklikat stránkami projektu až tam, kde chci začít krokovat a tehdy znovu stisknout požadované tlačítko aby začaly fungovat breakpointy a podobné.

Omlouvám se, že píšu česky, ale moje angličtina není z nejlepších.

Posted by Vitex on November 26, 2009 at 08:25 PM CET #

I would like to see some better diff software, i'm not that pleased with current diff system with Netbeans. Normally i use winmerge, but it does not work correctly with netbeans if i assign it as external diff program.

Maybe there could be better internal diff or better support for externals.

Posted by Jasmo on November 27, 2009 at 12:03 AM CET #

Hi, I think support for SMARTY like template files should be usefull for a lot of people. Many new PHP frameworks (Nette for example) use it in their template engines so this feature is "multiframework". Gennerally, better support for MVC(P) coding practices will be perfect for many PHP developers (a mean some type of cooperation between presenters and templates with coding completion and so on...)

btw: thanks for perfect product

Posted by Crempa on November 27, 2009 at 12:19 AM CET #

For our PHP development we use the Flexy HTML Templating from PEAR.

It would be nice if I could instruct the ide
how to handle the flexy templates (even without
syntax highlighting I would like to prevent netbeans
telling me about errors in my html code which are not erros but flexy templates)
like <p style="{mystyle:h}"> </p>)

An other issue in NB is the missing trac support... yes there is cubeon which works but
cubeon goes its own way:
It is managed completly different than bugzilla etc.

In the case of cubeon plugin you have the following:
- Go in services->issue trackers
- select: create a new one ...
- and you will see bugzilla or jira (if installed) but NO trac.

cubeon goes its own different way, but I would like to see trac handled the same way...ok its not
such PHP related but its our main issue tracker.

Posted by Anton on November 27, 2009 at 01:07 AM CET #


- That would be great if Netbeans could find the unused includes (include(), require()) like in Java.
- I would love to use Prado framework support in Netbeans. This is really good framework, this has a big community. One year ago, you started to implement this support ( Please, please continue!!!
- I would like to see a better WSDL support, creating a WSDL form a PHP class, and creating a PHP class from a WSDL file. There are several WSDL generators in the web, like these:

Posted by Holló Levente on November 27, 2009 at 01:29 AM CET #

Support for phar-Files is a good idea, as they can bring the benefit of JEEs war-Files to php. Compression makes also a lot of sense. The jQuery-Lib might be an example on that. The compressed Lib for the Projects, the uncompressed with VS-Commands as Code-Completion and Doc-Help for the Developer. Building such Units auf Doc/Completion and distributable packed lib would be great.

Instead of supportin dozens of Frameworks (Zend,Cake,Symfony) what about Templates for modules of most commen CMS Systems. Modules for Joomla, Modules for Wordpress, Modules for Typolight... that would be great too!!!

Posted by guest on November 27, 2009 at 01:31 AM CET #


Thanks for the superb Netbeans IDE! The PHP support is great.
I work at a very big project. All the PDT and Zend Studio user are so impressed by the features Netbeans provide. Specialy for QA, like codecovarge and unittest integration).

WSDL and Soap support would very helpfull for me, too.

But the last point for QA is open ;-), add phpcs support:

Best Regards,

Posted by Ingo on November 27, 2009 at 01:48 AM CET #

For me, NetBeans is already the best IDE in the world... ever :)

If I could have more, I would choose configurable Line Breaks, and some better formatting (i.e. format of multidimensional arrays is horrible).

I would give up trying to make support for variety of frameworks or CMS. First reason, it is never ending story. There always be someone who will want support for CMS x, template y and ect. It is straight road to feature creep. And the Netbeans becomes somehow to dependant to products you want to support, their release cycles, plans, bugs and so on. I mean, I use Netbeans every day with ZF, and there is no slightest trouble.

Also the problem with PHP is that the is not one and only true framework, like it is with Ruby (Rails) or Python (Django). So again avoid it, and instead give the work for the community around those projects. You foucs on core IDE support, community focuses on plugins. "You wanna have support for CakePHP? Write a plugin for it, we will show you how :)". Have a Firefox for an example, it's extensions is key to success, and because of that we have great plugins like Firebug and tons of others, and they were created by community folks, not Mozilla.

Posted by e.s.t on November 27, 2009 at 02:31 AM CET #


Many thanks for the response.

Yes WSDL PHP support, not Java ;)

I'll go and investigate the Selenium support.


Posted by James Dunmore on November 27, 2009 at 02:40 AM CET #

IMHO, for now, most important is Git support and Smarty, anything else can wait ;)

BTW, in plugins menu I can't find Git support. There is project for git support with limited functionality

Posted by guest on November 27, 2009 at 03:12 AM CET #

I'd like to be able to use Zen Coding:

Posted by Richard Le Poidevin on November 27, 2009 at 03:39 AM CET #

I would like to see the code-templates integrated in the code-completion dialog (which comes up when you hit <ctrl>+<space>).

The templates already are there, but I have to type the content of the first line of the template instead of the shortcut. This behavior is non-sense!

Examples: My "class" template starts with a comment block, so it never pops up in the list no matter what I type. My "foreach" template happens to start with an assertion, so it is shown when I type "assert", but not when I type "foreach".

I would like to see this changed! It should be easy to do and helps a lot.

I also would like to be able to bind the code templates to file extensions instead of mime-types. I got specific templates for XML files that should only be used with specific DTDs.
I have no problem with naming the files according to the underlying DTDs like "file.vdrive.xml" or "file.db.xml".

Also I would like to be able to force NetBeans to use a code-highlighter of my choice. For example: the default extension for XLIFF-files is .xlf. Thus NetBeans does not recognize the files as XML and doesn't highlight them at all. Instead I always have to use an external XML editor.

(I know I can associate an extension with a Mime-Type in Tools > Options > Misc > Files > File associations. But this is not a convenient and user friendly solution. Would any user really guess from this name that this functionality is actually for setting the default highlighter?)

These two small changes would also help us out with Smarty: since Smarty templates are almost 100% HTML with just some additional function calls, telling NetBeans to handle Smarty templates (\*.tpl) as HTML files and adding Smarty's function list as code-templates would almost instantly enable Smarty support in NetBeans at no extra cost and with no need for a special plugin.

It won't fix it all, but it would help to keep the costs of development to a minimum.

Posted by Tom on November 27, 2009 at 03:52 AM CET #

FYI: I checked the NetBeans Smarty editor plugin here:

But it is more than incomplete, was never updated and doesn't seem to be in active development anymore. It don't know if it even works in the current version of 6.7.

In it's current stage of development the plugin seems to be unusable for real projects.

Posted by Tom on November 27, 2009 at 04:08 AM CET #

One thing really important i didn't mention in my last post:
Thank you very much for this really great IDE. Thanks a lot!

Posted by Benjamin on November 27, 2009 at 04:13 AM CET #

This might sound really trivial, but it'd be really nice if @deprecated functions (indicated by a doc block comment) would show up with a different / grey / faint icon in the code navigator...

Posted by Denyerec on November 27, 2009 at 04:46 AM CET #

I really need an easy way to run Xdebug through a proxy, so that multiple developers can debug on a remote server.

Nice to have:
@suppress warning comments
IDE warnings should be minimized or suppressed, after clicking cancel. Do you really want the same person submitting the same bug reports?

Posted by Bruce on November 27, 2009 at 09:19 AM CET #

I can not find the wiki page about NetBeans 6.9....

Posted by hantsy on November 27, 2009 at 08:26 PM CET #

Thanks for great IDE!

What about one global .ini configaration file for NetBeans, where we could turn off/on all options like we do in Apache, PHP, whatever?

NB developers could then keep GUI clean, and each user be happy to have IDE under control.


Posted by guest on November 28, 2009 at 01:50 AM CET #

First - thanks for your work!
A better Smarty Support would be very helpful, but I'm much more interested in an improvement of the code formatting feature!
I work together in a team where someone works with Emacs, another one with an older ZEND IDE, ... Together with source control, it is always a big problem if I use the code formatting feature: A lot of changes in the code, without a "real change". Only the format has been changed. :(


Posted by Xantiva on November 28, 2009 at 06:17 AM CET #

I agree to e.s.t. There are too many frameworks (over than 50+ I am confident to say so..) in PHP. It is impossible to support all frameworks and also framework itself keeps changes and developing. Even though I am very appreciated you guys have done agreat work in symfony support.

I am not sure about ZF. ZF do bring good things to us (like Lucene) . But they try to make a standard to ask everyone follow. But I don't see why we have to use ZF's MVC implmentation...

I am trying to make one by code template. But it need more improvements ( such as better import/export, or it stored codes and templates in a folder so I could easy to backup) and I think Bundle in TextMate is a very good example, it collects a lots of bundles of different frameworks in different languages. And it is very convenient to share a bundle to ppl ( just a folder or a zip file).

So users from different frameworks could maintains theirs own code template (or call it bundle in Textmate).

I think you guys could make use of these bundles built for textmate:

code igniter bundles:

zf bundles:

So the code template should provide more power to let community easy and powerful enough to do their own job.

Also, zen-coding is really interesting and might be a good approach to help developer to build their own templates and snippet to help himself in his favorite framework.

Posted by Snake on November 28, 2009 at 10:34 AM CET #

Zend framework is a monster.
I repeat myself for Yii support. Many people now are using it and i think it is a really good framework with a great community

Posted by Marco Menozzi on November 29, 2009 at 01:43 PM CET #

I agree with @Snake. Look at other editors like ConTEXT, PSPad and the like. All I need to support a certain framework or template engine is a configurable generic highlighter and good support for code templates.

The reason is: I don't have the time to write a plug-in for NetBeans. It's far more easy with other editors. All I provide for ConTEXT is a file with code-snippets and another with highlighting rules. Just drop these two files in and you are ready to go!

These are simple text files so I just generate them automatically during the build process. No need to write Java code and learn third-party APIs.

To support a certain framework I don't need any palettes, syntax checks, menus or fancy plug-ins with support for more foos. All I really need is some text-coloring and auto-completion.
Yes: this language support may be very basic, but it will cover just all you need in 80% of all cases.

I have all the information I need and would have provided basic support for Smarty and support for some frameworks long time ago if it wasn't that time-consuming with all that Java programming just to make it work. For now it is about the same effort to support and maintain a dozen other editors as to support just NetBeans.

I guess that this is the main issue. In comparison just look at ConTEXT: last time I counted it supported more than 150 programming languages. See the list here:

The community could do the same for NetBeans: just give us the right tools and it will be done.

Posted by Tom on November 30, 2009 at 03:25 AM CET #

[2. find unused CSS selectors (finding CSS selectors based on selected dom elements would also be nice)]

Dust Me Selectors extension for firefox.

[4. regular expression tester/generator]

[5.Improved CSS and HTML palletes (see Dreamweaver)]

I disagree. Many prefer just editing the html text. This is least important.

[I would also like to have an option to quickly change file-encoding, and a way to see if NetBeans is treating af file like UTF8, ANSI or other.]

I think they mean something like this (look at bottom of text window):

[Normally i use winmerge, but it does not work correctly with netbeans if i assign it as external diff program.]
It's important that users can assing other applications to successfully handle some tasks like diff.

[Also I would like to be able to force NetBeans to use a code-highlighter of my choice. For example: the default extension for XLIFF-files is .xlf. Thus NetBeans does not recognize the files as XML and doesn't highlight them at all. Instead I always have to use an external XML editor.]
see for ideas:
Being able to change code highlighting on-the-fly is very very useful.

Most "IDE" are great at integrating with your programming language, class structure and web server or compiler but they all suck at being good "text editors". Netbeans could be the first :)

[What about one global .ini configaration file for NetBeans, where we could turn off/on all options like we do in Apache, PHP, whatever?]
Or like about:config in firefox?

Posted by thinsoldier on December 04, 2009 at 02:50 PM CET #

"Or like about:config in firefox?"

about:config sucks. There are no examples and comments, which good .ini file has

Posted by Pet on December 06, 2009 at 04:29 AM CET #

Post a Comment:
  • HTML Syntax: NOT allowed

This blogs is written by NetBeans developers who contribute to the PHP support mainly.


« March 2015