NewAndNoteWorthyMilestone1NB65Ja

マイルストーン1での新機能および変更点

Contents



一般

WindowsにおけるUNCパス

UNCパス(例:
<br>computerName\sharedFolder\
)をサポートしました。UNC形式のフォルダへのIDEのインストールやUNCパスでのプロジェクトなどの作成が可能となりました。

ファイル関係オプションパネルとOpen As...アクション

オプションダイアログに新しいパネルが追加されました。このパネルでは、特定の拡張子のファイルを特定のMIME形式のファイルとして扱う ように設定することができます。(#133773も参照してください) すでに存在する拡張子に加え、新たな拡張子を追加することができます。もし選択した拡張子に対する設定をデフォルト に戻したい場合は、「デフォルト」ボタンをクリックするだけです。


Image:file-associations_NewAndNoteWorthyMilestone1NB65Ja.png

上記の変更に関連して、Open As...アクションが新しく追加されました。このアクションは、IDEによって識別されないファイルのみに有効です。 ユーザは、用意されたMIME形式の中から1つを選択します。すると、それ以降はその拡張子を持つファイルは、全て選択したMIME形式として扱われます。

Image:open-as-action_NewAndNoteWorthyMilestone1NB65Ja.png

JRE上でIDEディストリビューションを起動する

IDEディストリビューションの中には、実行する際にJDKを必要とせず、JRE上で実行可能なものがあります。(PHP IDEなど) プラグインマネージャは、ユーザがインストールしようとしている全てのモジュールのOpenIDE-Module-Package-Dependencies をチェックするようになりました。もしユーザのIDEがJRE上で起動していて、かつプラグインをインストールする上でJDKが必要な場合、 そのことを警告され、プラグインのインストールができなくなります。

Image:missing-jdk-warning_NewAndNoteWorthyMilestone1NB65Ja.png

クイックサーチ

アクションや型を探すのが簡単になりました。Ctrl-Iを使います。これはエンドユーザにおける機能だけが対象なのではなく、APIも含みます。 そのSearchProvidersは容易に全てのNetBeansモジュールに組み込むことができます。プロバイダの容易な生成を提供するウィザードは M2に組み込まれる予定です。

Image:qs_NewAndNoteWorthyMilestone1NB65Ja.png

J2SE/J2EEプロジェクトにおける、クラスパス変数

NetBeans 6.1以降、JARファイルもしくはフォルダをプロジェクトのクラスパスに加える際、絶対パス経由で参照するか相対パス経由で参照するかを 選択できるようになりました。今回のM1では、フォルダを指し示すクラスパス変数を定義できるようになり、JARファイルもしくはフォルダを参照する際にこの変数をベースとして使用できるようになりました。

この機能により、複数のユーザで共有しているプロジェクトがより簡潔なものになります。例えば、あるプロジェクトが次のような特徴のあるJARファイルに依存しているものとしましょう。

  • VCSで保存するのは望ましくない
  • 異なるユーザのために、異なる場所に配置される

このようなときにクラスパス変数が使用できます。

Tools -> Variable からこの変数を管理します。

Image:Manage-Variables_NewAndNoteWorthyMilestone1NB65Ja.png

上記のスクリーンショットでは、単一の変数がこれらのパラメータで定義されています。

Image:Edit-Variable_NewAndNoteWorthyMilestone1NB65Ja.png

JARファイルもしくはフォルダに基づく変数がプロジェクトのクラスパスに加えられると、そのパスは変数名で始まる形式で表示されます。(ポップアップウインドウには絶対パスが表示されます)

Image:Project-Properties_NewAndNoteWorthyMilestone1NB65Ja.png

JARファイルもしくはフォルダに基づく変数をクラスパスに加える一般的な方法は、クラスパスの設定時に"Add Jar/Folder"ボタンをクリックする ことです。(もしくは、プロジェクトプロパティ画面のLibrariesノードでの"Add Jar/Folder"アクションです)ファイル選択時には、"Use Variable Path"というオプションが追加されています。

Image:Add-JAR-Folder_NewAndNoteWorthyMilestone1NB65Ja.png

自分のJARファイルもしくはフォルダを参照していて、さらに選択しているファイルが変数よりも下の階層にある場合に、そのオプションは有効になります。 自分のIDE上で定義されていない変数に基づくパスでプロジェクトを開こうとすると、その変数を定義するように促す以下のような警告が表示されます。

Image:Broken-Reference_NewAndNoteWorthyMilestone1NB65Ja.png

Eclipseプロジェクトのインポートと同期

Eclipseプロジェクトのインポート機能によって、同じチーム内で異なるIDEを用いて開発を行うことができます。EclipseのワークスペースからEclipseプロジェクトを選択し、NetBeansプロジェクトとしてインポートすることができます。生成されたNetBeansプロジェクトは元のEclipseプロジェクトとリンクしているので、元のEclipseプロジェクトにおける変更、例えば、Eclipseプロジェクトにおいてクラスパスの変更もNetBeansプロジェクトに反映・更新させることができます。この更新はNetBeansプロジェクトを開いたときに自動的に行われますが、プロジェクトのメニューの"Synch with Eclipse"からも行うことができます。

Image:wizard1_NewAndNoteWorthyMilestone1NB65Ja.png

現在はearly previewの段階ですが、M2では完全に実装される予定です。(以前のリリースにおけるアップデートセンターから利用できた限定的なEclipseのインポート機能に取って代わる機能です)テストの際に、実際のEclipseプロジェクトの提供があったことやフィードバック(特にIssuezillaのcomponent ide, subcomponent eclipse project import)に対して感謝します。

Java Web Startのサポート強化

Java Web Startを通じてデプロイ可能なアプレットを作成するためのサポートが追加されました。注意:この機能はJDK 1.6.0 update 10で利用可能です。

Image:JWSProjProps_NewAndNoteWorthyMilestone1NB65Ja.png

Java Web Startを通じてデプロイされたアプリケーションおよびアプレットは、外部リソース(通常はインターネット上の他のJNLPファイル)を 指定できます。'External Resources'ボタンをクリックするとダイアログが開きます。

Image:JWSExtRes_NewAndNoteWorthyMilestone1NB65Ja.png

アプレットはJNLPファイルで定義されたプロパティを複数持つことができます。このプロパティは、'Applet Parameters'をクリックすると開くダイアログ内で定義することができます。また、このダイアログではアプレットのサイズを設定することができます。

Image:JWSAppletParams_NewAndNoteWorthyMilestone1NB65Ja.png

プラットフォーム

Sliding windowsが元のサイズを記憶するように

Slided-in windowsは、これまではIDE全体のウインドウサイズ(高さあるいは幅)まで拡大されて表示されていましたが、設定したサイズを記憶してそのサイズで表示するようになりました。(#135318も参照してください)


プラットフォームに基づいたアプリケーションのためのウインドウシステムプロパティを設定可能に

主要な部分のウインドウモジュールを決定することにより、ウインドウシステムの特徴を決めることができます。

Image:winsys_customization_NewAndNoteWorthyMilestone1NB65Ja.png

TreeTableViewの代替

問題の多いTreeTableViewの代替となるのがOutlineViewです。ドラッグアンドドロップや、ツリーセル編集機能、そしてより強化されたソート機能などをサポートしています。データ形式はTreeTableViewと完全な互換性があります。(#33281も参照してください)


あらかじめ選択済みのサブカテゴリでオプションダイアログを開く

オプションダイアログをあらかじめ選択済みのサブカテゴリで開けるように、options.apiモジュールのAPIが変更になりました。(#109538も参照してください)CategoryIDSubcategoryIDがレイヤから登録された名前であれば、コード中で、OptionsDisplayer.getDefault().open("CategoryID/SubcategoryID");を呼び出すことができます。雑多なカテゴリの下でパネルを選択する際は、OptionsDisplayer.getDefault().open(OptionsDisplayer.ADVANCED+"/SubcategoryID");を使います。

テキストのパレットへのドロップをサポート

テキストをパレットへドラッグアンドドロップし、新しいコード断片を作成できるようになりました。現在はHTMLエディタパレットのみで動作しますが、対応ドキュメントの種類は増える予定です。

PHP

PHP Early Access版の全機能を搭載

PHP Early Access版は4月のNetBeans 6.1のリリースと同時にリリースされました。NetBeans 6.5のマイルストーン1では、 このリリースでの全ての機能が含まれています。

次に、NetBeans 6.5のマイルストーン1では、PHPサポートはNetBeansの"all-in-one"の一部分となり、NetBeansのその他の機能全てと共に使用できます。もちろん、PHP開発をする上でPHPのエディタ機能には少し物足りない点も残っています。

Early Access版では提供されず、NetBeans 6.5マイルストーン1で追加された機能については以下をご覧ください。また、NetBeansのPHPサポートについて最新情報を知りたいときは、NetBeans PHP Team Blogをチェックしてください。

コード補完機能の強化

バグフィックスの結果、Early Access版に比べて、コード補完機能は大幅に強化されています。PHPDocタグをサポートし、編集しているファイルやそのファイルが明確にincludeしているファイルの外で定義されている要素も補完するようになりました。そのような要素はリストの最後に表示され、選択すれば、"require"が自動的に追加されます。


http://blogs.sun.com/netbeansphp/resource/PHPDoc.png

データベースに関連したコード

MYSQLデータベースに接続し、データベーステーブルにデータを表示するためのコードを生成します。これらのコードは、Javaエディタのように、Generate Codeアクション[[[Alt+Insert | [Alt+Insert]]のもとで有効です。

Image:php-database-table-snippet_NewAndNoteWorthyMilestone1NB65Ja.png

使用状況検索

PHPでも利用できるようになりました。要素を右クリックし、"Find Usages"を選択するか、Alt-F7を入力してください。

Image:php-find-usages_NewAndNoteWorthyMilestone1NB65Ja.png

多様なプロジェクト設定

  • 実行、デバッグをスクリプトもしくはブラウザ上のwebページとして行える
  • インデックスファイル、引数 ...

Image:php-project-configs_NewAndNoteWorthyMilestone1NB65Ja.png

CSS

CSSコード補完

CSSプロパティのドキュメントを補完します。CSSプロパティの値のコード補完は改善されています。

Image:css-completion_NewAndNoteWorthyMilestone1NB65Ja.png


Ajax

JavaScriptデバッガ

  • サポートブラウザ
  • Firefox 2.0.0.X
  • Firebug 1.1ベータが必要です。もし見つからない場合は、自動的にインストールを試みます。
  • JavaScriptコードのブレイクポイントの追加と削除
  • HTMLファイル
  • JavaScriptファイル
  • JSPのようなサーバサイド技術からのURLソース
  • デバッガセッションの管理
  • ソースの閲覧とナビゲート
  • HTMLファイル
  • JavaScriptファイル
  • JSPのようなサーバサイド技術からのURLソース
  • ウインドウ/フレーム構造の閲覧
  • JavaScriptコールスタックの閲覧*ナビゲート
  • ローカル変数の閲覧
  • watchの設定と削除
  • IDE上での(静的)DOMブラウザの閲覧
  • J2EEとRubyプロジェクトとの統合
  • クライアントセッションのデバッグ:NetBeansでプロジェクトを実行しJavaScriptデバッグセッションを立ち上げると、クライアントサイドのアプリケーションが実行されているFirefox 2.0.0.Xに連結されます。
  • ソースマッピング:J2EEプロジェクト内の対応するソースファイルとURIによって識別されたクライアントサイドのアプリケーション(DOMブラウザ)を関連付けます。(M1ではマッピングは限定的なものです)マッピングするのは以下のファイルです。
  • HTMLファイル
  • JavaScriptファイル

ユーザガイド


JavaScript ライブラリマネージャ

JavaScriptライブラリマネージャは以下のような機能を持っています。もともとマイルストーン1に向けたものでしたが、マイルストーン2/ベータ版まで延期されます。

  • NetBeansライブラリマネージャをJavaScriptライブラリの管理用に利用する
  • JSライブラリをJava EE、Ruby、PHPプロジェクトに追加するウィザード(Tools->Add JavaScript Libraries)

JavaScriptライブラリのバンドル

バンドルされるJavaScriptライブラリは以下のものです。もともとマイルストーン1に向けたものでしたが、マイルストーン2/ベータ版まで延期されます。

  • Yahoo UI
  • WoodStock
  • jQuery
  • dojo
  • scriptaculous
  • prototype

Java

Javadocアナライザ

このプラグインによって、ソースコードのJavadocコメントをチェック、修正できるようになります。project/package/filesから、"Source -> Analyze Javadoc"を選択してください。 自動コメント機能が復活しています。

Image:javadoc_NewAndNoteWorthyMilestone1NB65Ja.png

Call Hierarchy

選択したメンバのサーチスコープ内の全てのcallerとcalleeを表示します。

Image:ch_NewAndNoteWorthyMilestone1NB65Ja.png

プロジェクト毎のフォーマット設定

個々のプロジェクトについて、フォーマットを設定することができます。

Image:sttings_NewAndNoteWorthyMilestone1NB65Ja.png

キャメルケースコード補完

コード補完が改善されました。それぞれの単語の最初の文字を入力するだけで、スマートなコード補完がされます。例えば、"iL"と入力するとinvokeLaterと補完されます。


Image:cc_NewAndNoteWorthyMilestone1NB65Ja.png

カプセル化されたフィールドのリファクタリングを改善

カプセル化されたフィールドのリファクタリングが改善されました。新しいオプションが利用できます。

Image:encapsulate_NewAndNoteWorthyMilestone1NB65Ja.png

行末の空白文字を削除するオプション

長い間望まれていた機能が実装されました。

XMLとスキーマツール

  • 要素と属性値のコード補完。issue 91823参照。
  • 外部スキーマコンポーネントの可視性向上。issue 134861およびissue 122836参照。
  • スキーマからのサンプルXML生成を改善。
  • XMLドキュメントのフォーマットを改善。

完全な修正リストはここをクリックすれば参照できます。


Groovy

NetBeansが直接的にGroovy、Grailsをサポートするのはこれが初めてです。GroovyはJavaプラットフォームで動作する動的言語です。またGrailsは Groovyを利用したwebアプリケーションフレームワークです。GroovyとJavaを組み合わせると、Javaプロジェクトにおいて、Groovyの動的な振る舞いがもたらす利点を簡単に享受することができます。また、100%純粋なGroovyアプリケーションを開発することも可能です。webにおいても、IDEはその生成器やGSPを含むGrailsフレームワークを完全にサポートします。

エディタ

Groovyエディタは、シンタックスハイライト、ナビゲータ、コード折り畳み、出現箇所ハイライト、コード補完などを備えています。

Image:groovy-m1-editor_NewAndNoteWorthyMilestone1NB65Ja.png

Java SEプロジェクトの統合

GroovyはJava SEプロジェクトにおいてうまくJavaと統合します。GroovyからJava、JavaからGroovyを呼び出すことができます。純粋なGroovyプロジェクトを構築したいのなら、新しいJava SEプロジェクトを作成し、Groovyのクラス、スクリプトを追加して実行すればよいのです。

Image:groovy-m1-javaintegration_NewAndNoteWorthyMilestone1NB65Ja.png

Grailsサポート

NetBeansはGrailsアプリケーションをサポートします。何もインポートすることなく、新規Grailsアプリケーションの作成や、既存のGrailsアプリケーションを開くことができます。NetBeansはGrailsアプリケーションに対してメタデータを書き込むことさえありません。

Image:groovy-m1-grailsproject_NewAndNoteWorthyMilestone1NB65Ja.png

NetBeansに統合された複数のGrailsコマンドを使うことができます、もちろん、NetBeansから直接、サービスウインドウからアプリケーションの状態をコントロールしながら、Grailsアプリケーションを実行できます。

Image:groovy-m1-jetty_NewAndNoteWorthyMilestone1NB65Ja.png

データベース

新規接続ダイアログの改善

新規データベース接続を作成するためのダイアログにおいては、接続を開く上でJDBC URLの詳細を知っている必要は無くなりました。しかし、もし URLを変更したい場合は、"Show JDBC URL"チェックボックスをクリックしてください。URLへの変更がそのフィールドに反映されます。

Image:conndialog_NewAndNoteWorthyMilestone1NB65Ja.jpg

SQL文の履歴ダイアログ

実行されたSQL文はユーザディレクトリのファイルに保存され、ダイアログで閲覧することができます。また、SQL文を選択し、既存のSQLファイルに再び挿入することもできます。

Image:sql_history_icon_NewAndNoteWorthyMilestone1NB65Ja.png


Image:sql_history_NewAndNoteWorthyMilestone1NB65Ja.png

サーバサポート

GlassFish V3統合モジュール

Web & Java EEとRubyバンドルの一部となりました。アップデートセンターからモジュールをダウンロードする必要はありません。

Webフレームワーク(Spring, Hibernate, JSF, JSF CRUD Generator, JPA)

Spring

  • JavaクラスFQN補完の改善

コード補完が以前のバージョンよりも速くなりました。JavaクラスFQN補完は2ステップの作業となり、効率的になりました。ほとんどの場合、必要なのはプロジェクト(ソースクラスパス)でローカルに定義したクラスのみです。まず、CTRL+SPACEを入力すると以下のように、ソースクラスパス内のクラスのみが表示されます。

Image:cc_step1_NewAndNoteWorthyMilestone1NB65Ja.png

もしソースクラスパス内に無いクラスを追加したい場合は、もう一度CTRL+SPACEを入力します。また、もし入力された頭文字がどのローカルなクラスにもマッチしないときは、自動的に全てのクラスを表示します。

Image:cc_step2_NewAndNoteWorthyMilestone1NB65Ja.png

  • Spring Beanダイアログ

Spring Beanダイアログは、型ダイアログに似ているもので、Spring Beanの名前を入力すると素早くその定義が参照できるものです。 メニューからNavigate -> Go to Spring Bean...を選択するか、Alt + Shift + Bと入力すればSpring Beanダイアログが表示されます。

Image:menu_goto_NewAndNoteWorthyMilestone1NB65Ja.png

Image:goto_dialog_NewAndNoteWorthyMilestone1NB65Ja.png

  • Javaプロパティのリファクタリングサポート

Java Beanプロパティ、ゲッターおよびセッターをリファクタリングするときは、 Spring XML設定ファイルの中の対応する部分も合わせて変更されます。

Image:ren_ref_pre_NewAndNoteWorthyMilestone1NB65Ja.png

Hibernate (M1ではDevelopment Update center経由で利用可能です)

  • リバースエンジニアリングのサポート。既存の設定においてPOJOとマッピングファイルが生成されます。詳しくは Reverse Engineeringを参照してください。

Image:ReverseEngg_NewAndNoteWorthyMilestone1NB65Ja.png.

  • HQLクエリ実行のサポート。HQLクエリをIDE内で実行できます。クエリはjoinとclauseを含むことができます。詳しくは HQL Editorを参照してください。

Image:HQLQueryEditor_NewAndNoteWorthyMilestone1NB65Ja.png.

  • hibernateマッピングファイルのリファクタリングのサポート。詳しくは Refactoringを参照してください。

File:MappingRefactoring_NewAndNoteWorthyMilestone1NB65Ja.PNG.

JSF, JSF CRUD Generator

JSF設定ファイルとJSF JSPページをサポートするエディタが改善されました。改善されたのは、コード補完、ハイパーリンク、リファクタリング、使用状況検索です。詳しくは、 Editor Support in JSF Configuration Files and JSP Filesを参照してください。

  • コード補完:JSFページファイルのためのJSPエディタが、Managed BeansとResource Bundlesの補完に対応しました。
コード補完 UI
Managed Beans Image:JsfEditorSupportCodeComplete2_NewAndNoteWorthyMilestone1NB65Ja.gif
Resource Bundles Image:JsfEditorSupportCodeComplete4_NewAndNoteWorthyMilestone1NB65Ja.gif


  • ハイパーリンク:JSF設定ファイルやJSF JSPページ中でハイパーリンクを使用することにより、ソースから別のファイルを素早く参照できます。
JSF設定ファイルの例 開くファイル
<managed-bean-class>foo.ManagedBean</managed-bean-class> the Java file ManagedBean.java under package foo
<to-view-id>/Page2.jsp</to-view-id> the JSF page file Page2.jsp under the context root


JSF JSPページの例 開くファイル

</span><h:outputText value="#{ManagedBean.min}"/></h3> </tt>

the JSF configuration file on position where the managed bean been defined
<tt> <h3><h:outputText value="#{ManagedBean.min}"/></h3> </tt> the appropriate Java file on position where the getter for the property been defined


  • リファクタリングサポート:JSF設定ファイルのリスト中の全てのファイルについてリファクタリングをサポートします。BeanやJavaクラス、メソッドの使用状況を、名前空間内の要素やエイリアス、およびその子要素の中から検索することができます。
リファクタリング UI
Managed Beans Image:JsfEditorSupportRefactoring1_NewAndNoteWorthyMilestone1NB65Ja.gif
Folder / Package Image:JsfEditorSupportRefactoring2_NewAndNoteWorthyMilestone1NB65Ja.gif


  • 使用状況検索:Javaの要素(クラス、メソッド、フィールド、プロパティ)を参照しているJSF Bean定義を表示できます。使用状況検索では、beanの定義だけではなく、他のbeanによって使用されているbeanを表示することもできます。
使用状況 UI
Managed Beans Image:JsfEditorSupportUsages_NewAndNoteWorthyMilestone1NB65Ja.gif


  • JSF CRUD Generatorはデフォルトのスタイルを適用するようになりました。

Image:styled-jsfcrud_NewAndNoteWorthyMilestone1NB65Ja.gif

JPA

NetBeans 6.5では、データベースウィザードからのエンティティクラスには、次のようなマッピングオプションを設定するためのパネルが追加されました。

  • Association Fetch:default, eager, lazyから選択します。デフォルトでは、defaultはリレーションシップアノテーションにどのフェッチアトリビュートも加えないことを意味します。
  • Collection Type:collection typeは一対多や多対多のCMRフィールドで使われます。java.util.Collection, java.util.List, java.util.Setから選択できます。デフォルトでは、java.util.Collectionです。
  • Fully Qualified Database Table Names:カタログとスキーマアトリビュートを@Tableに追加したい場合は、チェックを入れます。デフォルトではチェックされていません。
  • Attributes for Regenerating Database Tables:nullable(falseの場合)やlength(String型の場合)、precisionとscale(小数の型の場合)を@Columnに追加したい場合は、チェックを入れます。チェックを入れると、一意性制約が@Tableに追加されます。デフォルトではチェックされていません。

このパネルはウィザードの最後のステップで表示されます。これは任意のものです。

File:jpaFromDB-step4_NewAndNoteWorthyMilestone1NB65Ja.JPG

UML

UMLについては、M1では対応していませんが、Betaでは対応を予定しています。開発チームはUMLをNetBeans Visual Libraryへ移動し、完全にオープンソース化しました。modelingのテンプレートはシンプル化され、contextのテンプレートが追加されました。これにより、簡単かつ迅速なモデル作成が可能となりました。開発チームは、主要な部分の実装を完了していて、リリースに向けてコードの安定化を行っています。詳しくは UML Current Projectsを参照してください。

モビリティ

データバインディング

モビリティデータバインディングは、Visual Designer内で、アプリケーションにおけるデータを表現し関連付ける、簡潔で確実な方法です。 NetBeansのモビリティで利用可能なデータバインディングライブラリを利用します。 マイルストーン1でサポートしているのは以下のコンポーネントです。

  • TextField ( Text, Label)
  • ImageItem (Image, Label)
  • DateField (Date, Label)
  • StringItem (Text, Label)
  • Itemsの残り ( Label)

データバインディングはカスタムプロパティエディタ内でサポートされます。

Image:mobilitypropertyeditor_NewAndNoteWorthyMilestone1NB65Ja.png

空のDataSetに対して生成されたコード

Image:mobilitydataset_NewAndNoteWorthyMilestone1NB65Ja.png


Custom Componentサポート

Custom ComponentサポートはVisual Mobile Designer Custom Componentsの作成を手助けします。以下のものを含む、全ての必要なCustom Component基盤を生成します:Module project Infrastructure, components descriptors, producers, layer.xmlファイル

新規Project Custom Componentウィザード

Image:mobilityccp1_NewAndNoteWorthyMilestone1NB65Ja.png

生成されたプロジェクトとクラスおよびcomponent descriptorとproducer

Image:mobilityccp3_NewAndNoteWorthyMilestone1NB65Ja.png

Mobile Custom Component追加のウィザード

Image:mobilityccp5_NewAndNoteWorthyMilestone1NB65Ja.png

詳しい情報はCustom Components API Project Support - DRAFTを参照してください。

SVGサポート

既存のSVGコンポーネントのグループを、SVGを使ったモバイルプラットフォームで優れたUIを作成するためにより良いサポートを提供できるように拡張しました。

SVGライブラリで利用できる新しいコンポーネントは以下のものです。

  • SVGForm
  • Button
  • RadioButton
  • CheckBox
  • ComboBox
  • Label
  • List
  • Slider
  • Spinner
  • TextField

動作画面

Image:widgets_NewAndNoteWorthyMilestone1NB65Ja.gif

デバッガ

マルチスレッドデバッグのサポート

NetBeans 6.5 M1で利用可能になったマルチスレッドデバッグサポートについて要点を説明していきます。 これらはNetBeansデバッガ再設計の過程の中で最初に行われたもので、デバッグの流れと使いやすさを改善することが目的です。


デバッグ画面

[[{ImageSrc=MultithreadedDebugging/DebuggingWindow.PNG} | {Image src='MultithreadedDebugging/DebuggingWindow.PNG}]]
マルチスレッドデバッグのUIを改善し、デバッガ画面の数を減らすために、デバッガ画面を新しくしました。 この画面では、デフォルトで、現在のセッション、スレッド、コールスタックを統合して表示しています。

デバッグ画面は(一般的には)セッションの一覧として構成されます。それぞれのセッションはスレッドの一覧として保持されていて、それぞれのサスペンドされたスレッドはそのコールスタックに拡張できます。デバッグ画面はデフォルトでは典型的に必要とされる情報のみを表示しますが、オプションでカスタマイズが可能です。'Suspend Table'をオンにすると、専用のボタンをワンクリックすることでスレッドをレジューム、サスペンドすることができます。

もしエディタ内にデバッガカウンタが表示されていて、他のスレッドがブレークポイントに到達した場合、自動では現在のスレッドには切り替わりません。その代わり、モーダルでないパネルがデバッグ画面の下方に表示され、ブレークポイントに到達したスレッドが存在することを知らせてくれます。またデバッガを次の(もしくは選択した)ブレークポイント到達スレッドに切り替えるためのドロップダウンボタンも現れます。モーダルでないパネルにすることで、現在のスレッド(例えばexpression evaluation)のデバッグを終了させることができ、ワークフロー上適当な時にブレークポイントに到達したスレッドに切り替えることができます。


Current Thread Chooser

[[{ImageSrc=MultithreadedDebugging/CTChooser.PNG} | {Image src='MultithreadedDebugging/CTChooser.PNG}]]
マルチスレッドデバッグをしていると、特定のスレッドに素早く切り替えをする必要が出てきます。例えば、2つのスレッドで交互にステップ実行をする場合です。このような場合には、Current Thread Chooser(CTRL+8)という新しいアクションが使用できます。OSが行うアプリケーションスイッチングと似ています。この機能により、スレッドの表示切り替えを容易に行うことができます。


'他のスレッドがここでサスペンドしている' Gutter Navigation

[[Image:MultithreadedDebugging/gutter.png}]]
エディタの脇でスレッドアイコンが表示されている場合は、その行で、他のスレッドがサスペンドしていることを示しています。アイコンのtooltip上にこれらのスレッドの一覧が表示され、コンテキストメニューからその中のどのスレッドにも切り替えることができます。 エディタ内のSource -> Threadsからも利用できます。


デッドロックの発見

[[{ImageSrc=MultithreadedDebugging/DeadlockDetection.PNG} | {Image src='MultithreadedDebugging/DeadlockDetection.PNG}]]
デバッガは、自動的に、全てのサスペンドしているスレッドからデッドロックを発見します。デッドロックが見つかった場合、モーダルでない警告が表示され、関連するスレッドを強調して表示します。詳しい情報も専用のノード内に表示されます。


新しいスレッディングモデル

マルチスレッドデバッグを改善するために、デバッグ対象のスレッドの管理方法を変更しました。現在のモデル(NetBeans 6.1以前)の問題点は、ユーザによって意図的にサスペンドされたスレッドが存在するにも関わらず、どのステップ実行も全てのスレッドをレジュームしてしまうことでした。 このことにより、競合状態やデッドロックの問題が起こり得ます。この問題に対する自然な解決方法は、仮にサスペンドしているスレッドが他に存在しても、現在のスレッドのみをレジュームすることです。明らかに、この変更により、ブレークポイントスレッドのみをサスペンドするためのデフォルトブレークポイントが必要になります。さもないとデバッガによるデッドロックの発生につながりかねないからです。

現在のモデルの要点(NetBeans 6.1以前)

  • デフォルトブレークポイントは全てのスレッドをサスペンドする
  • 意図的にサスペンドされたスレッドが存在するかどうかに関わらず、ステップ実行は開始時に全てのスレッドをレジュームし、終了時に全てのスレッドをサスペンドする。
  • 評価は現在のスレッドがレジュームされているときのみ行われる(デフォルトでは)。これはデバッガによるデッドロックを引き起こしやすい。
  • ブレークポイントによるステップが中断される問題はデフォルトブレークポイントに存在する。

新しいモデルの要点

  • デフォルトブレークポイントはブレークポイントスレッドのみサスペンドする。
  • ステップ実行は開始時に現在のスレッドのみをレジュームし、終了時に現在のスレッドをサスペンドする。
  • 評価は現在のスレッドがレジュームされているときに行われる。(他のスレッドはデフォルトブレークポイントもしくはステップ実行によりサスペンドされていない)明確にサスペンドされたスレッドが存在しない限り、デバッガによるデッドロックは起こらない。
  • ブレークポイントによるステップが中断される問題はデフォルトブレークポイントに存在しない。(ステップ実行しているスレッド自身がブレークポイントに到達した場合を除いて)

GUIビルダ

ButtonGroupの可視化

ButtonGroupもしくはButtonGroup中のコンポーネントを選択したときに、GUIビルダーがこのグループに属しているコンポーネントを表示するようになりました。

Image:buttonGroups_NewAndNoteWorthyMilestone1NB65Ja.jpg

imbusルックアンドフィールでのプレビュー

JDK 6 Update 10を使っていれば、Nimbusルックアンドフィールでプレビューすることができます。このプレビューは、より信頼できる、正確なものになるでしょう。(<tt>javax.swing.UIManager</tt>の範囲内で)さらに、実行時にNimbusルックアンドフィールを指定することもできます。プロジェクトプロパティウィンドウ内のDesktop Java Applicationプロジェクトで利用可能です。

Image:nimbusPreview_NewAndNoteWorthyMilestone1NB65Ja.jpg

TreeModelエディタ

TreeModelエディタではJTreeを簡単にプロトタイプできます。

Image:treeModelEditor_NewAndNoteWorthyMilestone1NB65Ja.jpg

ListModelとComboBoxModelのユーザビリティ強化

ListModelとComboBoxModelのエディタを書き直しました。より使いやすくなっています。

Image:comboBoxModelEditor_NewAndNoteWorthyMilestone1NB65Ja.jpg

Webサービス

データベースからのRESTfulサービス

新しいウィザードにより、RESTful(JSR311に基づいたデータベーステーブルからの直接的なサービス)の作成が可能になりました。JPAエンティティからサービスを作成するウィザードに追加された機能です。

PHPでのSaaSサービス

NetBeans 6.5のサービスタブにあるWebサービスノードがPHPファイルへのドラッグアンドドロップに対応しました。

Image:PhpSaaSClient_NewAndNoteWorthyMilestone1NB65Ja.png

C/C++

コード補完が正確に

NetBeans 6.1に比べ、マイルストーン1では、コード補完の正確性が大幅に改善しました。誤った候補が表示されることは非常にまれです。誤り率は0に近くなっています。また、適当な候補が表示されないこともありますが、中規模から大規模なアプリケーションでもその確率は5%以下です。今もさらなる改善を目指しています。


Call Graph

選択された関数について、全てのcallerとcalleeを表示します。

Direct call graph:

Image:direct_callgraph_NewAndNoteWorthyMilestone1NB65Ja.png

Reverse call graph:

Image:reverse_callgraph_NewAndNoteWorthyMilestone1NB65Ja.png

エラーハイライトとより多くの型に対応した意味的ハイライト

C/C++エディタは初歩的なエラーをハイライトします。typedef, クラスフィールド、関数名の意味的なハイライトが追加されました。

Image:hl-ss_NewAndNoteWorthyMilestone1NB65Ja.png


Ruby

  • Rake
  • 内部での統合がよりスムーズな流れに
  • デバッガ
  • 条件付きブレークポイントのサポート
  • 例外におけるブレークポイントのサポート(catchpoint)
  • 新しいバージョンのエンジン
  • プロジェクト
  • あらかじめ生成されたRakefile(clean, gem, パッケージ, rdoc, spec, test, .... tasks)
  • JVMオプションをJRubyに渡すことが可能に(-Djruby.objectspace.enabled=true)
  • プラットフォーム
  • Rubiniusサポート
  • sudoのサポート - これまでは'gksu'(issue 128575)
  • Gemマネージャでの開発中Gems取得のオプション(-a, -d)
  • Rails
  • 2.1.0にアップグレード
  • 異なる環境でのRailsコンソール実行のサポート
  • 新規プロジェクトにおけるRailsのバージョン指定を可能に(複数のバージョンがインストールされている場合に)
  • Rails generatorにおける'destroy'のサポート
  • テスト実行環境
  • テスト結果表示のための新しいテスト実行環境UI

Image:rubytestrunnerui_NewAndNoteWorthyMilestone1NB65Ja.png

Not logged in. Log in, Register

By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2012, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo