NetBeans: How to simplify copy/paste Java code from online tutorials

Some months ago I created a small useful NetBeans plugin, which allows to you to save time when pasting code samples from online tutorials. Today I used it again and I still find it very useful in this specific context. And it saves you time. That is why I want to report about it.

What is the feature? You can copy the Java source code of whole classes from a tutorial and paste it via Menu|Edit|Paste to new file. Either the package declaration of the Java class is taken in account or the Java class is placed in the correct package. This depends on the selected node and it is documented included screencasts at https://github.com/markiewb/nb-paste-to-new-file.

That sounds familiar? Yes, this feature already exists natively in Eclipse JDT and Intellij IDEA.

Give it a try, when using NetBeans! Happy coding.

BTW: I am still looking for maintainers for my plugins! Because of time issues, I will not bugfix nor implement features anymore. Support your favorite IDE and by contribution to your favorite plugin!

PasteToNewJavaFile

IDEA: How to “create a file from a file template”-plugin…

At https://github.com/markiewb/idea-create-from-template-plugin you will find an IDEA plugin, which shows you some APIs in action:

  • How to add an action to the context menu
  • How to create a context sensitive action. The action is only activated for Maven-based module nodes.
  • How to add an option panel – see projectConfigurable in the plugin.xml
  • How to register and use a project based settings service. See projectService in the plugin.xml
  • How to register a file template. See fileTemplateGroup in plugin.xml and resources/fileTemplates.j2ee

Missing plugins for your NetBeans nightly builds?

Do you use a Nightly-/Dev-Build of NetBeans or even a release candidate of 8.2 within the NetCAT-program and you are missing some of your favorite plugins?

First there is no plugin center for Dev-Builds. Also most plugins from the 8.1 plugin center are not verified for the new 8.2 build yet – including my plugins.

Nevertheless in the meantime you can still use the plugins and give the plugin authors feedback of the compatiblity to 8.2. Some plugins won’t work, because of using non-public API, but that is the point to find out!

How to do that?

At Tools|Plugins|Settings add the plugin center URL for 8.1 [1] and then at Tools|Plugins|Available Plugins click at “Check for Newest

Additional

If you are interested in testing non-verified plugins see the article [2]

[1] http://plugins.netbeans.org/nbpluginportal/updates/8.1/catalog.xml.gz
[2] https://benkiew.wordpress.com/2013/02/03/netbeans-ide-verification-of-plugins-and-update-center-urls-for-non-verified-plugins/

Eclipse formatter for Java – Compatibility fork 4.4

As you already know, I provide a NetBeans plugin to format your Java code using the Eclipse formatter engine. Currently the 4.5.x engine is embedded.

But there were several complaints that this version does not format the same way as it does using the previous version. There is a reason for that: The Eclipse formatter has been changed in an incompatible way [1]. Other formatter plugins like the one for Intellj Idea are also affected [2]

But here is a good news for all the brave NetBeans Java developers, who are still in such an environment of 4.4.x Eclipse installations: Now I provide a 4.4-fork of my own plugin. It has the same features and issues like the 4.5 plugin, but it uses the other engine and the plugin has been updated to be installed side by side to the original plugin.

2016-05-09_22h45_51

The plugin is already available from the update center from within your NetBeans IDE. Or you can download it from the plugin page [3] or from github [4].

2016-05-12_00h16_22

[1] http://eclipse-n-mati.blogspot.de/2015/06/eclipse-mars-how-to-switch-back-to.html
[2] https://github.com/krasa/EclipseCodeFormatter/issues/51
[3] http://plugins.netbeans.org/plugin/64061
[4] https://github.com/markiewb/eclipsecodeformatter_for_netbeans

 

 

Version 1.10.2 of Eclipse Code Formatter for Java introduces support for Workspace Mechanic and much more

In the last days and weeks I was busy enhancing the Eclipse Code Formatter plugin. The main focus was the support of the Workspace Mechanic [1] configuration file to be in compliance with my coworkers.

Offtopic: Workspace Mechanic is a plugin for Eclipse IDE itsself, which makes sure that shared Eclipse configurations are applied to your local installation. Have a look. It’s useful in a team of several developers.

Workspace Mechnanic also synchronizes the configuration of the formatter. Luckily its file format is quite simple and thus supportable by my plugin. So next to the standard XML-formatter file you can now use Workspace Mechanic EPF-files too.

I also added some other useful features you may like. That was the reason, why the release of this version took so long. For example now the “format on save”-action can optionally format the changed lines only. You can use formatter settings from .settings, you can configure the Java source level and the line feed. And the download size of the plugin has been massively decreased.

The full changelog can be found at [2]

global

In a few days it will be available as an update from within your NetBeans IDE. If you are curious and you don’t want to wait for it, then you can install it manually from [3] or [4].

Feel free to file issues and even better, provide pull-requests! We see us at NetBeans Day Germany in Munich on the 31st of March 2016. Get your ticket at [5]!

[1] Workspace Mechanic
[2] https://github.com/markiewb/eclipsecodeformatter_for_netbeans/issues?q=milestone%3A1.10.2
[3] http://plugins.netbeans.org/plugin/50877
[4] https://github.com/markiewb/eclipsecodeformatter_for_netbeans
[5] NetBeans Day Germany in Munich

Quicktip: Maven-based NBM development and the user-dir

When you develop a NetBeans module using the Maven-approach, every time you “Clean & build” your module the userdir, which is placed in the target-directory by default, will be deleted. “Clean & Build” is necessary if you’re altering the layer.xml directly or indirectly by using annotations like @ActionReferences.  So after that you have to reconfigure your target platform again, f.e. by opening the same projects and files to restore the previous state. That is annoying, but easy to fix.

Add a profile to your settings.xml

<profile>
    <id>userdir</id>
    <properties>
        <netbeans.userdir>../userdir</netbeans.userdir>
    </properties>
</profile>

2016-01-23_13h14_03

After that you can choose the profile from the profile-dropdown or in the context-menu of the project node.

2016-01-23_13h18_46

This way the configured userdir is used for running/debugging your NetBeans module. It won’t get deleted automatically.

Advanced tips: Of course you can also configure an absolute path or even make the profile default by applying activeByDefault

<profile>
    <id>userdir</id>
    <activation>
        <activeByDefault>true</activeByDefault>
    </activation>
    <properties>
        <netbeans.userdir>/home/user/myuserdir</netbeans.userdir>
    </properties>
</profile>

 

Code outline plugin 1.3.0 now supports dark themes

As you might already read in the NetBeans weekly newsletter, I also updated the Code outline plugin this week. This plugin shows the document content in miniature at the right gutter of the editor. Some of you know that feature from “Sublime Text” editor. This implementation is a bit simpler.

screenshot1-3

A highly requested feature was the support of dark themes. And now it’s supported. The basic text color and the background color of the editor is used. You can also check the “Darkening” option, which lowers the brightness of the code outside of the viewport. Try it!

Other improvements: You can define the font-size, but I propose to use single-digit font-sizes. The display quality has also been improved by applying anti-aliasing.

2016-01-07_22h12_55

The plugin is already available from the plugin dialog within your NetBeans IDE 8+. Or it can by downloaded manually from the plugin page at [1] and github [2].

Please file issues/enhancement at [2]. I also like to merge your pull-requests for further improvements! Happy coding with NetBeans!

[1] http://plugins.netbeans.org/plugin/57219/?show=true
[2] https://github.com/markiewb/nb-codeoutline