NetBeans IDE 6.1 Final is released yesterday.
By popular demand, the bean pattern and JSF CRUD generation features that were missing in the 6.0 release have returned. In addition, early versions of new modules, such as ClearCase support, are available as plugins.
Get your copy of NetBeans IDE 6.1 GA from the download page in your favorite pack.
Tuesday, April 29, 2008
NetBeans IDE 6.1 Final is released yesterday.
Monday, April 21, 2008
NetBeans IDE 6.1 Release Candidate 2 is now available. You can download your favorite pack from the download section of NetBeans site now.
The final release of NetBeans IDE 6.1 is scheduled on April 23rd, 2008. So three days from now we can download the final release.
Friday, April 18, 2008
Initially for exploration of the features working with mouse may feel fancy but as you continue using the tool for project development and want to concentrate more on task in hand you start finding ways to do things faster. NetBeans IDE 6.1 provides many keyboard shortcuts if used judiciously they can save a lot of developers time.
I use certain shortcut keys more often than other keys. This is a list of the keyboard shortcuts for NetBeans IDE which I use in my day to day development tasks.
1. CTRL+F12 Navigate to Member
When my class becomes big and there are many methods in the class navigating to a specific method becomes easy with this dialog box.
As soon as I start typing the name of the desired method the dialog contents are filtered for me to select from matching method names starting from what I have typed.
2. SHIFT+ESC Toggle Editor Maximize / Minimize
I like working in the fully maximized editor window. SHIFT+ESC maximize the editor window for me and I can work with full concentration. When I need to see other windows I can again press SHIFT+ESC and I get the normal layout of windows back.
3. CTRL+7 Activate Navigator Window
When I am in maximized editor mode and I need to navigate to some method, either I choose the method 1 as described above or sometimes I use CTRL+7 to activate the navigator window. The windows other than editor in NetBeans follow a specific pattern, you can type characters and a quick search window appears which selects the most appropriate item from the window according to what is typed in this quick search window.
4. CTRL+/ Toggle Comment
For quick commenting of some lines I select those lines and press CTRL+/ to comment all those selected lines. The same lines can be uncommented again by following the same process.
5. ALT+SHIFT+F Format Code
This key combination formats my code to the standard Java Code Formatting template.
6. CTRL+0 Activate the Editor
When I am in the Navigator window through the shortcut CTRL+7 and I want to navigate back to the editor i press CTRL+0. I do not need mouse to do this navigation and save a lot of time in navigating between windows.
7. CTRL+# Activate different windows
These shortcuts are handy for navigating between the different windows. They become very important when I work in maximized editor mode.
CTRL+1 - Project Window
CTRL+2 - Files Window
CTRL+3 - Favorite Window
CTRL+4 - Output Window
CTRL+5 - Services window
CTRL+6 - Tasks Window
8. ALT+INSERT Generate Code
When I need to generate getter setters or constructors this key combination brings the Code Generation menu
9. ALT+F7 Find Usages
Many a times I want to track all the occurrences of a particular method call. Who is calling my method. This Find Usages dialog comes handy in such times.
10. CTRL+F4 Close Editor Window and CTRL+SHIFT+F4 Close All Editor Windows
I use these keys often to close my editor windows and save many mouse clicks.
Tushar Joshi, Nagpur
Thursday, April 17, 2008
As mentioned on the grants page on NetBeans site the NetBeans Innovators Grant is a process to provide grants to developers or teams of developers to work on an open source project. A total of 10 large projects will be chosen and awarded a grant of US$ 11,500 dollars. Another 10 smaller projects will be chosen and awarded a grant of US$ 2,000 dollars. Awards will only be awarded upon actual project completion. Projects that excel may receive one of two possible gold awards of US$ 11,000 dollars or two possible silver awards of US$ 5,000 dollars.
Tom Wheeler, on behalf of NetBeans Dream Team, announced the names of the Large as well as Small projects on the openide-dev mailing list today.
I can see 10 large and 10 small projects getting added to the NetBeans treasure in August as this competition takes final turn. Apart from the winning the most important thing is NetBeans community will get 20 best add on features in the NetBeans platform.
Congratulations to all the winners. The list will be published soon on the NetBeans web site for all.
What is Ohloh?
Ohloh is a open source software directory. Ohloh recognizes the open source source control repositories and when a open source project is registered with Ohloh it crawls the source repository directly and generates reports about the activity and nature of the projects.
NetBeans information on Ohloh
Click here to visit NetBeans page on Ohloh
What is the language used to develop NetBeans?
I know that NetBeans IDE is written in Java language. The NetBeans site do not mention this fact any where as it may be taken as a implicit fact. The NetBeans site mentions about the features of NetBeans and what it can do for you but what it is written in is kept implicit, or at least I could not find any page mentioning the programming language of NetBeans IDE. Now as I am subscribed to NetBeans developers mailing list I know from the discussions going on there that NetBeans is developed in Java.
Wednesday, April 16, 2008
I stumbled upon an old post by Matt Stephens with the title 10 Things NetBeans must do to survive. Matt has reviewed NetBeans version 3.0 probably and the post is dated October 27, 2003. I got tempted to check whether his points hold good today for the current version after around 4 and half years of that review.
1. Improve the windowing system
In his first point he points out towards the windowing system. I have used IntelliJ IDEA and I daily use Eclipse in my day job. I can say the windowing system in NetBeans is according to current standards. Same dockable windows, floating windows and expandable editor windows. I am able to use the windowing system without much difference noticed.
2. Improve Usability
In his second point he mentions options panel, properties panel, GUI panel and Wizards being unfriendly. I have not used the NetBeans version 3.0 so cannot say about these windows in that version. For NetBeans IDE 6.1 I can see the options window, properties window, GUI panel and Wizards according to the current industry standards. If you do not have to learn a feature because it follows already established industry standard then that feature can be called as usable. In fact the GUI builder now have choices to create Java code which is not dependent on any NetBeans library.
3. Improve the default Look and Feel
In his third point Matt mentions default look and feel which in his view was not good at those times. Now I can see my NetBeans IDE opening with the Windows XP look and feel for me. This means the IDE now has smart look and feel features. I even tried changing my look and feel by changing the look and feel entry in netbeans.ini configuration and I now know I can have any look and feel to my NetBeans IDE.
4. Keep enhancing Java Editor
In his fourth point he suggests NetBeans to keep the Java editor up to date. I can see many good features now available for Java Editor. There are some hints missing but I see the Java Editor making progress in each version.
5. Slow down on APIs
Matt expresses unhappiness for the rapidly changing API of NetBeans platform. I can see many books in the market now with the established set of APIs. I feel the API of NetBeans is quite matured now and this point does not hold good now.
6. Make the APIs simpler
In this point it is mentioned that API is not suitable for standalone applications to get developed on the NetBeans platform. I cannot say much for this point. You the reader may have better points and if you do please tell me in comments of the post. What I can say is I have seen some applications developed on top of the NetBeans platform and hence do not feel the APIs are not good enough or simple.
7. Lose the NetBeans is slow stigma
The performance of NetBeans has been improved by the NetBeans team from version to version. The startup time is now fast and many benchmarking reviews are available.
8. Offer built-in refactoring support
Now NetBeans has a refactoring menu for Java refactoring. I can see major refactoring options available out of the box.
9. Make more noise
For this point Tim Boudreau also have stated in comments that hyped publicity do not last long. I can see many users of NetBeans writing about it and this is the most original and first hand publicity a software tool can get. So this point has being covered by different and better means creative of publicity and promotion.
10. Stop using that… brown colour scheme on their website
Here Matt says brown color should be left behind and NetBeans should embrace more professional color. I do not agree much to his point but now NetBeans.org site has different colors that those days. The colors now are blue shades and smooth colors to eyes.
Concluding my review of the review I will say that all the points mentioned by Matt are covered by the new NetBeans IDE 6.1 and not only that the IDE now contains many more improvements and support for multiple languages as well.
If Matt writes about the current version of NetBeans IDE 6.1 again I believe he will agree to all my points and will also add some more praise to the points more than me.
Do read that review also as it contains many comments from many important people with interesting viewpoints. Do comment on my post with your opinion.
Recently I saw some back links for my blog. Many thanks to Ramesh and Jay for the link backs.
Tushar Joshi, Nagpur
Tuesday, April 15, 2008
(You will need Mercurial installed in windows to see the things in this article working. We covered installing Mercurial in windows in an earlier post here)
Support for remote repositories in NetBeans IDE 6.1 is limited to updating and pulling. I wish I could have done all the required things only in NetBeans IDE but unless full support is available in NetBeans IDE we will use NetBeans IDE and TortoiseHg windows shell client to achieve our goals.
Let us start with the free Mercurial project hosting site FreeHg. FreeHg provides free sign up and hosting of your mercurial repositories. If you do not have an account yet sign up now.
Let me create a new repository named myhgtest
After clicking the button Create repository for tusharvjoshi I can see the repository created and displayed on the web page with its web address as http://freehg.org/u/tusharvjoshi/myhgtest/
This is an empty but initialized Mercurial repository for me on remote server. To work with this repository I will clone it to my workstation.
Right clicking in empty space of My Computer window will bring windows context menu with TortoiseHg > Clone a repository option.
I will name my repository as myhgtest and will provide the remote web address for my source path
TortoiseHg creates a new folder and clones the remote repository in that folder.
NetBeans IDE cannot create a new NetBeans project in an existing directory yet. I will have to create a dummy project for this purpose. Let me create a project with name myhgtest-temp just for creating the project skeleton files.
Now as the project skeleton is ready as seen in the image
I will copy all the files in this folder myhgtest-temp to my cloned repository folder myhgtest. Now when I choose Open project command in NetBeans IDE it will show my cloned repository also. Open that project.
We can see Netbeans IDE identifies that this project is under Mercurial version control. Remember we have not yet committed the NetBeans project configuration skeleton files, so the files are shown in a different color.
Let us commit the files to the repository. Committing, Updating can be done from within the Netbeans IDE.
Now we have all the files committed to the local repository. Now when I am done with my development I want to share this version with my friends. The push command to remote repository is not supported in NetBeans IDE 6.1 yet and gives an error for me.
I choose to right click in the folder window and TortoiseHg > Synchronize... option
The synchronize window has an option of Push. Let us choose that option
As soon as I choose the Push option TortoiseHg asks for the password for the repository. Cloning can be done without password but pushing to a repository requires a password in FreeHg server.
It successfully pushed the files. How to check whether the files are really updated on the remote server?
When I refreshed the project page in my browser I could see the new change-set available on the changes section of the project.
This is how we can share a Mercurial project through a remote server. All the developers can clone the project and update the project through Push commands. NetBeans IDE provides identification and local commands to work with the local Mercurial repository copy.
I will like to have all the features in NetBeans IDE as I said earlier so that TortoiseHg is no more needed. I believe this will be very soon.
Tushar Joshi, Nagpur
Monday, April 14, 2008
a helping friend
for Java development
for a newbie developer
your're soothing compliment
you give my programming
a productive touch
I have started liking
you very much
now I don't bother about
syntax errors any more
now I can concentrate
on logic much more
your hints are tonic
for my editing pain
I will write about
you again and again
Tushar Joshi, Nagpur
In my expectation driven development post I stumbled upon one limitation of NetBeans hints for Java. When I tried to create a new interface from a hint NetBeans only offered me a "Create Class" hint where I was expecting a Create Interface hint also. Eclipse has this hint and I am used to this Eclipse hint very much.
As an efficient NetBeaner I must file a report for this request in the NetBeans Issuezilla so someday this hint will get added to the IDE.
I started with searching for any other report already submitted regarding hints in Netbeans IDE. Any earlier report will help me understand what is done to submit a report for my requirement. Shall I submit it as a bug or an enhancement? All these questions may get answered in this search.
So in File an Issue page, in the "Search the 'summary' fields of open bugs" textbox I typed "hint" and clicked the search button.
All the reports having mention of hint word were shown to me. After some inspection I observer one interesting issue report.
I found one report http://www.netbeans.org/issues/show_bug.cgi?id=119619 which was very near to what I was about to submit. I learned from this report that I should file an enhancement report for my requirement. I also learned that the Component is java and subcomponent is hints for this type of report.
My new issue can be seen at http://www.netbeans.org/issues/show_bug.cgi?id=132711 where I have now filed my request for the enhancement in the hints for Create Class.
Now someday I can expect some development in this hint and will receive a mail when any changes happen to this issue report.
(UPDATE: Due to bandwidth issues I have changed the links of the video file to a shared hosting service. Please suggest any if option is available where I can host this video free directly in comments to this post)
In an earlier post I presented Expectation driven development through NetBeans IDE concept. I have prepared a video demonstration of that concept.
Please visit the Expectation driven development through NetBeans IDE demo to watch the video.
Tushar Joshi, Nagpur
Sunday, April 13, 2008
First, let me tell you about the word NetBeaner in title of this post. I have read NetBeans developers, technical writers and bloggers using words like "Happy NetBeaning". I think this is a way people show their affection towards the platform, by tweaking the name NetBeans and making a verb out of it, adjective out of it. I also used it here to describe people who like to experiment with NetBeans, who use Netbeans and often say it through their blogs.
Now coming to Seven Habits of highly effective NetBeaners. I don't have to tell you, the reader, more about the phrase Seven Habits. It comes from a popular book written by Stephen Covey. When I though about some good habits NetBeaners should have I came up with some points which I will like to share with you.
1. Be proactive
If you like NetBeans tell that to the world. Blogging is the easiest and best way to shout about your experiences. Blog about your experiences. Tell others why you liked particular feature of NetBeans. To write about something makes you think about it, which is useful for deep exploration of the tool.
2. Begin with end in mind
We must remember that the IDE is a tool to make us develop projects efficiently. Learning IDE to its depth and width will make us productive for development of our projects. So keep in mind that it is the project, which is the end product of all the learning associated with Netbeans. It happens sometimes that we fell into love with the tool so much that we forget the end and the project. Loving the tool is good as it makes the learning process passionate but we shall also keep the project in mind.
3. First things first
Start with what you know about Netbeans by using it in your project. Just because you are new to Netbeans cannot be the reason of staying away from it. You can start with what you have and while developing your project keep learning new tips and tricks about the Netbeans IDE. Adding NetBeans related blogs in your favorite Feed Reader and reading new posts frequently can be a good source of learning new things in the NetBeans platform.
4. Think win win
When we like some tool it does not mean all other tools in the world are not good. Do not make the users of other IDE feel bad just because they do not use NetBeans. I believe in presenting all the goodness of NetBeans to all the people when ever it is possible to me. Using NetBeans does not mean I hate all the existing IDEs in the world. I prefer even testing other IDEs and checking interesting features they have. I appreciate the new features and add them to the wish list for NetBeans if those features are popular and good enough. There will always be some people who have a different requirement or perspective than me. Some people will use other IDEs and I must respect their choice.
5. Seek first to understand
Part of learning NetBeans is also sharing your knowledge with other knowledge seekers. Join nbusers mailing list. This is the mailing list where other NetBeans users discuss about the usage and their difficulties in NetBeans. I can also ask my own problems here. Even if I do not have a problem with NetBeans, still the discussion going on here, helps me learn more things in Netbeans. Reply to mails where you know the solution. This helps the community and you to learn more. Learn from questions and experiment new things in the NetBeans IDE. Join NetBeans Zone and post NetBeans related links there to share with the world. Take part in Netbeans related discussions on NetBeans Zone and put your opinion honestly.
Join an open source project related to NetBeans. When you find issues and bugs, report them to the NetBeans IssueZilla so the developers can reproduce them and fix them in the next version of NetBeans. Pour your ideas in the mailing lists. Invent new solutions through discussions in mailing lists.
7. Sharpen the saw
Watch the new and noteworthy about the newest version of NetBeans. Learn all the newly added features and keep yourself acquainted with most of the features of the IDE so they can help you become productive in your projects. Join the nbdev mailing list to know about the new developments happening in NetBeans platform. Write new modules to make the IDE better. This can be done either by joining any open source module project or starting your own module project as an open source project.
Tushar Joshi, Nagpur
Saturday, April 12, 2008
I tried experimenting in NetBeans IDE 6.1 Beta for Mercurial support. Now as the NetBeans IDE 6.1 Release Candidate 1 is available I tried to work with this new version and found some changes in the arrangements of the Mercurial menu. Now onwards we will see the features of NetBeans IDE 6.1 RC1 on this blog as this is the latest available release.
If you try to run any Mercurial command on NetBeans IDE when Mercurial is not installed or not available in the Windows executable search path then NetBeans shows a dialog box saying no support for Mercurial.
Mercurial should be already installed to see the things in this post happening. In an earlier post we covered the installation of Mercurial on Windows. The version of Mercurial we installed was not the version NetBeans was expecting so it displayed a dialog box saying this module was not expecting this Mercurial version but it allows to continue with the version we have.
Choosing Yes will tell NetBeans to try anyway.
I created a new sample project "BankExample" for the test run. After right clicking on the project name we can see menu with Versioning > Initialize Mercurial Project.
Choosing this option will initialize Mercurial repository in the project directory. Mercurial will create a folder named ".hg" in the project folder. This is the Mercurial repository where it will store all the configuration and version control material.
You can see the Mercurial initialization output on the output window.
Unlike Subversion Mercurial will not create .hg folder in all the sub folders. This is one feature I liked very much of Mercurial.
The Mercurial repository is created but the files in the directory are not yet tracked by the Mercurial system. We must commit all the files to the repository first to tell Mercurial to keep version information, which it does in terms of change-sets.
The project explorer shows visual clues by showing icons with the file and package names.
We can commit the files by right clicking the project and choosing the Mercurial > Commit... option
The commit dialog box shows all the files that will be committed to the repository. Here we have choice to change the behaviour of the commit command for different files. We can set some files not to commit. We are required to type a message for commit.
We should commit our code often as we develop the project. This commit is made in the local Mercurial repository crested in the project folder. This is just like maintaining our repository locally with the project.
To check the sharing options of the Mercurial version control system we should clone the project repository. Cloning makes a replica of the project repository and also sets a reference to the original copy of the repository as default push and pull target. Once the project is cloned then the original and the cloned copy can share the version information by commands push and pull.
The command for cloning is available at top menu Versioning > Mercurial > Clone (project name)
NetBeans suggest a name for the clone and also offers to make the new cloned project as main project.
We can see the project cloned in folder BankExample_clone0 and opened in the NetBeans IDE side by side to the original project.
When I changed a file in the cloned project and committed to the repository I can now check pushing the information back to the original repository.
Again Versioning > Mercurial > Share > Push to - default option will allow me to push the changes to the original repository from where I had cloned this repository.
Ideally the projects will be made available on web for sharing by people. People can share the updates to the originally repository by cloning the projects on their workstations. The local copy can be updated by update or pull command from the original repository any time.
Tushar Joshi, Nagpur
NetBeans.org has released the NetBeans IDE 6.1 Release Candidate. Download it now!
Highlights of this release include:
- Semantic Highlighting
- Code Completion and Type Analysis
- Quick Fixes and Semantic Checks
- Performance Enhancements
- Up to 40% faster startup
- Smarter parsing so that code completion is faster
- Less memory consumption
- Support for Popular Web APIs
- RESTful Web Service Support
- Spring Framework Support
- New MySQL Support in Database Explorer
- Ruby/JRuby Support Enhancements
- Java Beans Support (back by popular demand)
- JSF CRUD Generator (back by popular demand)
- Javadoc Code Completion
- Sharing Projects (AKA Sharable Libraries)
- New Update Center Modules for ClearCase, AXIS, Hibernate, and SOAP UI
More information about these and other features is at the NetBeans IDE 6.1 Release Candidate page. They say that the final NetBeans IDE 6.1 release is scheduled for late April.
Tushar Joshi, Nagpur
This blog got a mention in the NetBeans Announcement Page on Apr 10, 2008.
It says "Lists are easy to read and to the point. Tushar Joshi keeps things simple with his Top 10 Reasons for using the NetBeans IDE 6.1 Beta". The complete announcement has many other names and URLs of the blogs to give a sample about how people are blogging about NetBeans for the contest.
It says check out a few of the insightful *entries that we've received:
- How about a little show-and-tell? Lucio Benfante and John Muchow submitted screencasts! Benfante's demo shows a web project created with NetBeans 6.1 and Parancoe, while Muchow presents Ruby in the NetBeans IDE as an alternative to AppleScript.
- Lists are easy to read and to the point. Tushar Joshi keeps things simple with his Top 10 Reasons for using the NetBeans IDE 6.1 Beta.
- Patrick Julien, Daniel Pfeifer and Harshad Oak are all long-time users of multiple IDEs, and compare the NetBeans IDE 6.1 Beta to other tools—with favorable conclusions.
Friday, April 11, 2008
Mercurial is a distributed version control system. It allows us to maintain source versions in a distributed way. This means we can maintain version information locally in a Mercurial repository and can share this information with others easily. Typically in big projects the topology of sharing of repositories get planned and the repositories are laid out like a tree.
There is one main repository maintained and the developers clone the repositories on their work stations. Cloning means making a replica of the repository on another place. This makes the full Mercurial repository available with the source on local workstation. The origin of the clone is configured as default push path.
Mercurial can be taken as a source control repository server available with in local workstation. This server can share its data with up-link server from where it was cloned in an easy command called as push.
Distributed version control system has become popular lately due to its ease of use all the goodness of copy-merge type of systems and also distributed architecture. This means no central server from where all will have to checkout the projects. This becomes a distributed tree of the project with each developer having his own copy of the server and these servers then collaborate with each other.
NetBeans IDE has support for Mercurial. Actually even the NetBeans code base is now shifted to a Mercurial repository.
Let us see installation of Mercurial system on Windows. Useful information is available on the MozillaWiki Mercurial page. I figured out some missing points to make them work which we will see. We will need some software installers as follows:
1. Mercurial Windows Binary
2. ActiveTcl Installer for hgk
3. hgk.tcl script for "hg view" GUI interesting visualization of repository
4. TortoiseHg Windows Shell client installer
The installation of Mercurial Binary is straight forward.
For windows the installer starts a wizard.
We need to keep on responding with Next. The last page asks whether we want the windows path to be updated. This is a good idea and shall be checked out so the Mercurial command becomes available on command prompt from all the directories.
Once Mercurial is installed I checked the installation by opening a command prompt and typing hg command. It showed the usual output from Mercurial command about the usage of Mercurial. This ensures that I have a good Mercurial installation on my Windows machine now.
Mercurial and GIT are very similar systems. GIT people use a command gitk for visualization of the GIT repository and this command is also available in Mercurial as "hg view". In windows making this command work needs Tcl installed. ActiveTcl distribution makes the Tcl toolkit available in windows.
ActiveTcl provides a installation wizard.
The wizard is simple and easy to follow.
The Registry Settings part is important and registering the tcl extension is important for the tcl files to work.
The hgk file shall be renamed to hgk.tcl and copied to the Mercurial directory. As the Mercurial directory is already in the windows path this will make the hgk file available in path.
Mercurial has a extensions system to work with external command. In the Mercurial.ini file we need to add one line as shown for hgk to work as an extension
At the end of the Mercurial.ini file add one [hgk] section as shown to make the hgk.tcl file path available to Mercurial.
This will ensure that we can run "hg view" command now. lastly we will install the TortoiseHg shell client for windows. Tortoise products are superb products for CVS, SVN and now also for Mercurial. They make task like creating repositories and working with them piece of cake.
Once you start the installer the wizard will ask questions and in minutes you will have tortoise shell client installed on windows.
Let us see how to work with the Mercurial repositories in the next post. We will use Mercurial repositories in NetBeans IDE to check the Mercurial support from NetBeans.