The Source for Java Technology Collaboration
User: Password:



Claudio Miranda

Claudio Miranda's Blog

NetBeans startup settings, a UI module to change it.

Posted by claudio on December 18, 2005 at 07:52 AM | Comments (14)

NetBeans IDE as a pure Java Swing app, can use any JVM parameters, it can be specified at netbeans.conf file, as Charlie Hunt blogged about that, see NetBeans IDE: Adding/Changing JVM command line args. Then as Charlie asked to contribute a plugin to configure NetBeans startup settings, I decided to try it, an developed the plugin, see a small screenshot below (click to enlarge).


nb-options-small.png
View image

It's almost done, probably in next few days I will post the NBM (NetBeans module install package).

Do yout think the UI is good, needs some improvement ? I am not very good on UI things, so please, drop a message.

Some improvements I plan to do:
1. optimized parameters will suggest some -X and others JVM parameters
2. restore orginal settings
3. any other you want to see ? drop a message.


Bookmark blog post: del.icio.us del.icio.us Digg Digg DZone DZone Furl Furl Reddit Reddit
Comments
Comments are listed in date ascending order (oldest first)

  • I'd suggest dropping the -J from the front of the options. As NetBeans folks, we know that those switches are needed, but for novice/new users, they might not know that. Behind the scenes, your code can add the -J switches where appropriate.

    Posted by: doj on December 18, 2005 at 08:12 AM

  • Clicking on that screenshot link gives me the html source.

    Server reports "Content-Type: text/html" and the URL name is "nb-options1.", so unsurprising.

    I agree with the -J bits though. This bit of UI is for "JVM Startup settings", so should be consistent.

    Posted by: goron on December 18, 2005 at 12:52 PM

  • Thank you, for the feedback. Be sure "-J" won't be needed.

    Posted by: claudio on December 18, 2005 at 01:28 PM

  • Other than the "-J" bits that others have mentioned above, this is a cool plug-in to be used. =)
    May be the "restore original settings" can be done via backing up "netbeans.conf" file(s) for a variety set of settings which can be saved / retrieved.

    Posted by: alexlamsl on December 19, 2005 at 08:18 PM

  • Claudio, I saw you comment you left a my blog. Sorry, been really busy the past couple days. I just looked at the graphic you have of your module / plugin for viewing and setting command line args for NetBeans. Muito boa!!! I love it!

    Posted by: huntch on December 24, 2005 at 07:14 AM

  • This is great!
    What would be even better for a dumb person I am is an editable combo box in each row of the table that would proposed well known options to pcik from (and a text explanation for them), so that I woulk know that XX:PermSize is a parameter I care about or not...
    These CLI parameters have been designed by CLI geeks, and are not really user friendly at best:-) Just see what is takes to declare debug parameters:

    -J-Xdebug -J-Xrunjdwp:server=y,transport=dt_socket,address=1233,suspend=n


    Simple no? Not for me...


    Great job: this is needed!
    Ludo

    Posted by: ludo on December 24, 2005 at 10:15 AM

  • The basic functionality is done (loading, saving, restore original settings, without -J option). What I plan now, is to develop the optimization parameters and hints) make it available through control version (maybe svn) to everybody test it.
    * Ludo *: each line of jtable is editable.

    Posted by: claudio on December 26, 2005 at 05:45 AM

  • Are you saying you would let others download your cool plug-in and test it while you add the most commonly used JVM command line options and their descriptions ? That would be really great! I can send you what I think would be the JVM command line options that would be of most interest along with descriptions.

    Posted by: huntch on December 26, 2005 at 11:27 AM

  • hi
    i want to recive a copy of your module
    my email address is :
    legolas.w [at] gmail.com
    i would be happy to test it

    Posted by: legolas_w on December 31, 2005 at 09:12 AM

  • Just a follow-up, I wrote another blog entry with screenshot and some ohter updated information.

    Posted by: claudio on January 02, 2006 at 05:56 AM

  • API Part I

    I think it would be worth while to create a public API for your module which would allow modules to register their startup options/switches if they know about the plug-in. I am sure then you could get an API review from NB and get it accepted into the main branch. Also, there are NB switches and JVM switches so you would want to take that into account in the API.

    So, have an API and it allows the module to register with your API the: module name, option/switch, type (JVM/NB), human readable name (most options have a long name as to be unique) , description so users can know what it is that is going on, interface hook to call getDefaultValue(), TypeBase.class (Class is the return type and it must be of type TypeBase.class) getValueType() (could define TypeString, TypeInt, TypeDouble, TypeLong, TypeFloat, TypeBoolean, TypeByte, TypeDate, others? which are value wrappers for these types to allow your module to know how to display the value...alignment and which class to use for display), getLegalValueList() (if null is returned anything can be entered so no drop down should be used...obviosly for boolean there are only two possible options period..each item in the list should be of the correct Type wrapper (TypeString, TypeInt, ...etc), TypeLegalReturn isValueLegal(TypeBase--super of all Type wrappers).

    Posted by: wadechandler on January 21, 2006 at 08:47 AM

  • API Part II

    Maybe you can then have a Default set of registered items so you can do what you are doing now which is register the known switches and if a module registers it's own switch and accompanying data and interfaces that you use the modules info instead of the default....that will help out until other modules register their own switches. You would have to write about that in your API review and also have to make sure you wrote the dev lists so the module writers know about the API to review it and know the way it works by default awaiting their registration of their values.

    Then if your API gets accepted then modules can register and have their values edited here. In your file output you would surely want to wrap the indiviudal options in quotes to keep space allowing values from breaking startup...I haven't used your module yet, but I have been writing about this registry bit on the dev list and mentioned it on another RFE, but it hasn't gotten any responses as I don't think any of the main developers have a task for this and usually are driven by other tasks....however if someone were to contribute an API and get it reviewed I'm sure it would be introduced into the main APIs

    Posted by: wadechandler on January 21, 2006 at 08:49 AM

  • Was this ever released?

    Posted by: werezak on June 19, 2006 at 06:01 PM


  • Just to let you know, I have updated the startup settings plugin to work with NetBeans 6, with NBM available. See this other blog entry

    Posted by: claudio on April 02, 2008 at 09:51 AM





Powered by
Movable Type 3.01D
 Feed java.net RSS Feeds