プロジェクト

全般

プロフィール

NetBeans 8.1セットアップ

Windows OS上でのNetBeans IDE 8.1のセットアップについて記述します。

リリース情報

NetBeans IDE 8.1リリース情報 (日本語)
NetBeans IDE 8.1リリース・ノート (日本語)
NetBeans IDE 8.1のインストール手順

トピック

Java SE開発に関連する新機能を紹介します。

JUnitの標準搭載

NetBeans IDE 7.0のリリース(2011年)から、ライセンスの関係でJUnitがNetBeans IDEのインストーラに含まれなくなり、オフライン環境ではJUnitを使用するために「尋常ならざる手間」をかける必要がありました。しかし、今回のリリースからライセンスがCPLからEPLに変更されたJUnitをインストーラに含むようになったのでよかったというトピックがあります。

GluonがビルドしたScene Builderのバイナリに対応

JavaFXのビジュアルデザイナーツールScenen Builderは、OpenJDKプロジェクトの一部として開発され、バイナリが各OS(Windows、Linux、MacOS X)に提供されていました。しかし、2014年末にOracleが「これからはもうScene Builderのバイナリは提供しない。オープンソース・プロダクトなのだから使用者が各自でビルドすればいいじゃないか」と言ってちょっとした騒ぎになりました。その後、Gluon社が「Scene Builderのバイナリはうちが提供するぜ」と言って2015年の3月ころからバイナリを提供するようになりました。JavaFX 8.0 Update40相当の機能がGluonビルドのScene Buiderとなっています。

NetBeans IDE 8.0は、Oracle時代のScene Buliderバイナリを認識して起動していたので、GluonビルドのScene Builderをインストールしてもそれを認識できず起動できませんでした。一応、NetBeans IDE 8.0.2 patch2でGluonビルドのScene Builderを認識できるようになったのですが、patch2はダウンロード版は用意されず、インストール後にオンラインの更新で適用されるもので、オフライン環境では適用ができません。
今回の8.1でようやく正式にダウンロード版でGluonビルドのScene Builderを起動できるようになりました。

Java言語以外の開発用にはJRE内蔵版インストーラを用意

Java言語で開発する人はほぼJDKを別途インストールしているので、NetBeans IDEをインストールすれば実行できます。しかし、HTML5/JavaScript、C/C++、PHPなどの開発でNetBeans IDEを使う場合、Java(JDKまたはJRE)を別途入れるのは手間でしかありません。そこで、今回からJava以外の言語開発用NetBeans IDEのインストーラにはJREを同梱するようになりました。JREは32bit版と64bit版があるので、インストーラも32bit版と64bit版が用意されています。

コード補完が改善

少し賢くなったようです。

maven関連の改善

mavenはちっとも使っていないので何が嬉しいかは分かりませんが、いろいろ改善されているようです。

プロファイラの使い勝手を改善

使い方を簡単にしたよ。ワンクリックでプロファイルなど。
新機能は、CPU使用率、スレッドダンプ生成、CPU表示で選択したスレッド群の混合表示とか。

Git関連の使い勝手を改善

インストール

NetBeans IDEを実行するJava(JDK)の選択

インストーラが、インストールするマシン上に存在するJDKを見つけてそれを表示します。
選択したJDKのパスが、NetBeansの設定ファイルに記述されます。Windows OSの場合は次のファイルになります。
C:\Program Files\NetBeans 8.1\etc\netbeans.conf

netbeans_jdkhome="C:\Program Files\Java\jdk1.8.0" 

なお、JDKはアップデートを適用するたびにディレクトリが変わるので、そのたびにNetBeansの設定ファイルを変更するのは大変手間です。
そこで、NetBeans IDEが参照するJDKのディレクトリは常に固定としておき、JDKのアップデートのディレクトリをシンボリック(ジャンクション)を利用して指定すると楽です。設定方法は次を参照してください。
JDK 8セットアップ#シンボリックリンク(ジャンクション)の作成

起動

NetBeans IDEを実行するJava(JDK)の変更

NetBeans IDEを実行するJavaを変更するには、次の方法があります。

  • 上述のnetbeans.confの記述を変更する
  • NetBeans IDE起動のコマンドラインオプションで指定する
    "C:\Program Files\NetBeans 8.1\bin\netbeans64.exe" --jdkhome "C:\Program Files\Java\jdk1.8.0_66"

キャッシュディレクトリの変更

NetBeansは、プロジェクトを開いた時にプロジェクトの様々な情報を解析し、コード補完やimportの解決などに役立てます。その解析には多少時間がかかります。大規模なプロジェクト群を開くと、プロジェクトの解析が完了するまでディスクアクセスが発生し続け、非常に動作が重い状態が数十分続くこともあります。そこで、キャッシュディレクトリをより高速なディスクに置くことでその負荷を軽減します。

高速なディスクとは、次などが考えられます。

  • RAMディスク
  • PCIexpress SSD
  • RAID 0などのストライピング構成のHDD
  • バッファ容量の大きなHDD
  • SATA3(6Gbps)のHDD

キャッシュディレクトリの指定方法は、 NetBeans IDE起動のコマンドラインオプションで指定します。
"C:\Program Files\NetBeans 8.1\bin\netbeans64.exe" --cachedir "X:\netbeans\8.1\cache"

フォントサイズの変更

プレゼンテーションでNetBeans IDEの画面をプロジェクターに投影して聴衆に見せるときや、超高解像度ディスプレイでNetBeans IDEを使用するときなど、標準のフォントサイズでは文字が小さすぎることがあります。コマンドラインオプションでフォントサイズを変更することができます。
"C:\Program Files\NetBeans 8.1\bin\netbeans64.exe" --fontsize 18

初期設定

フォント設定

Windows OS日本語版でJavaのGUIが使用するフォントは、JDK(JRE)のフォント設定に定義されています。デフォルトでは日本語フォントはMS ゴシックおよびMS 明朝が使用されます。この両フォントはTrueTypeフォント(アンチエイリアス対応)なのですが、埋め込みビットマップフォントを有し、16ポイント以下ではビットマップフォントとして表示されてしまい、「ぎざぎざ」になってしまいます。そこで、日本語フォントを純にアンチエイリアスなものに変更します。

JDK 8のフォント設定と変更(ぎざぎざ解消)

JDK 8では次のフォント設定となっています。これを変更してアンチエイリアスな表示を実現します。

書体  デフォルトのフォント 変更後のフォント 備考
Serif(ハネあり) MS 明朝 IPAex明朝1[2]
Sans-serif(ハネなし) MS ゴシック Meiryo UI
等幅(英語) MS ゴシック Consolas デフォルトではMS ゴシックの半角英数字を使用
等幅(日本語) Meiryo UI

1 http://ipafont.ipa.go.jp/ より無償で入手可能です。

2 Windows 8.1からは標準で游明朝が搭載されているので、Windows 8.1以降のOSであれば游明朝を指定すると別途フォントを追加しなくてもOKです。Windows 7、8.0用にはダウンロード版の游フォントが以下URLで提供されています。
https://www.microsoft.com/en-us/download/details.aspx?id=49114

JDK(JRE)のフォント設定を変更するには、次のファイルを作成します。

  • <JDKインストールディレクトリ>\jre\lib\fontconfig.properties

デフォルトの設定が、同ディレクトリにfontconfig.properties.srcとして置かれているので、必要な修正を行います。

詳しくは次のページに記載しています。

HiDPI環境でのフォントの大きさの調整

HiDPI(DPI値が大きい高解像度ディスプレイ)環境でNetBeansを実行すると、文字がとっても小さく使用が厳しいです。OSの設定でテキスト表示の拡大率が125%や150%に設定されていても、NetBeans上の文字は拡大されずに元のままです。そこで、文字を読みやすいよう大きくする設定を模索しました。

HiDPI環境下でのNetBeans IDE起動時のスプラッシュ画面。あまりに小さい。

netbeans_splash_hidpi-1.png (HiDPI環境での起動時のスプラッシュ画面は小さい)

--fontsize指定

NetBeansを実行するコマンドラインに引数で、--fontsize 18のように大き目のフォントを指定すると、エディタ部、出力部、メニューバーの文字は大きくなりますが、プロジェクトツリー等やドロップダウンメニューの文字は元の小さいままです。

NetBeans_fontsize_18-1.png (HiDPI環境でfontsize 18設定時の画面)

-J-Dsun.java2d.dpiaware=false指定

NetBeans 8.1(8.0.2)Windows版をインストールしたら、インストールディレクトリ下のetc\netbeans.confに、起動時のオプション指定箇所に-Dsun.java2d.dpiaware=trueという記述がデフォルトで付いています。これを指定しましたが、パッと見には違いがわかりにくいです。

sun.java2d.dpiaware=true(デフォルト) sun.java2d.dpiaware=false
netBeans_default-1.png (HiDPI環境でのデフォルト設定起動時の画面) netbeans_dpiaware_false-1.png (HiDPI環境でdpiawareをfalse設定時の画面)
-J-Dsun.java2d.dpiaware=false指定と--fontsize指定

起動オプションに次を指定して起動したときの画面です。

-J-Dsun.java2d.dpiaware=false --fontsize 14

netbeans_dpiaware_false_fontsize_14-1.png (HiDPI環境でdpiaware=falseとfontsize 14指定)

参考情報

HiDPI with Eclipse and NetBeans

ダークテーマ設定

暗色系の背景を持つテーマが、NetBeans IDEではプラグインで用意されています。
詳しくは次に記載しています。

キーバインド設定

NetBeans IDEでは、デフォルトで次のキーマップ設定を有しており、デフォルトではNetBeansが設定されています。

  • Eclipse
  • Emacs
  • Idea
  • NetBeans
  • NetBeans 5.5

詳しくは次に記載しています。

日本語Javadocの設定

デフォルトでは、Java SE APIおよびJavaFX APIのJavadocへの参照設定は英語版となっています。これを日本語版にしておきます。

[ツール]メニュー > [Javaプラットフォーム]で「Javaプラットフォームマネージャ」を開き、[Javadoc]タブを選択します。
デフォルトで登録されているJDKのJavadocおよびJavaFXのjavadocを、次のURLに差し替えます。[URLの追加]ボタンで追加します。

http://docs.oracle.com/javase/jp/8/docs/api/
http://docs.oracle.com/javase/jp/8/javafx/api/

コード補完でポップアップされる表示は、JDKのソースコードから直接生成されているので日本語にはなりません。

Javaフォーマット設定

一行の最大桁数

デフォルトでは、80桁の位置に細いラインが表示されます(超えても何か起きるわけではありませんが)。画面が狭かったころは、80桁で横スクロールが発生してしまいますが、今は横幅がかなり大きいので、桁数を増やしても支障は少なくなっています。

[ツール]メニュー > [オプション]で「オプション」ダイアログを開き、[エディタ] > [フォーマット]タブを選択し、言語欄が[Java]であることを確認し、[全ての言語設定の使用]のチェックを外すと、[右マージン]欄の変更が可能となります。右マージンはデフォルトで80となっているので、これを120とか130とかに増やします。

caseラベルのインデント

デフォルトでは、switch文のcaseラベルが1レベルインデントされてしまうので、caseラベルをインデントしないように設定を変更します。
[ツール]メニュー > [オプション]で「オプション」ダイアログを開き、[エディタ] > [フォーマット]タブを選択し、言語欄が[Java]であることを確認し、[switch文でcase文をインデント]のチェックを外します。

デフォルトのcaseラベルのインデント caseラベルをインデントしない
switch (option) {
    case 'a':
        Parameters.setAlfa(true);
        break;
    case 'b':
        Parameters.setBravo(true);
        break;
    default:
        Parameters.setAnother(option);
}
switch (option) {
case 'a':
    Parameters.setAlfa(true);
    break;
case 'b':
    Parameters.setBravo(true);
    break;
default:
    Parameters.setAnother(option);
}

FindBugs設定

NetBeans IDE上でプログラミングしたコードの品質を高めるために、コード解析ツールを入れておきます。
FindBugsは、クラスファイルを解析してバグパターンに合致するものを検出します。NetBeans IDEの認定プラグインサイトからインストールできます。詳しくは次のページに記載しています。

通常はデフォルトのルールで検査して問題はないと思います。

PMD設定

NetBeans IDE上でプログラミングしたコードの品質を高めるために、コード解析ツールを入れておきます。
PMDは、ソースファイルを解析して指摘ルールに合致するものを検出します。FindBugsと類似性がありますが、検査対象がソースファイルなのでコンパイルしたら見えない問題はこちらのツールで検査します。NetBeans IDEのプラグインポータルサイトからインストールできます。詳しくは次のページに記載しています。

クリップボードから画像を追加 (サイズの上限: 1 GB)