So-net無料ブログ作成
検索選択

Ubuntu 10.04 に Monodevelop 2.4 をインストール [IDE]

badgerports を追加したので Monodevelop 2.4 をインストールしてみた。といっても C# で何かしようというわけではなく(そもそも使えないし)、たんなる好奇心からやってみただけ。

インストールしたパッケージは、monodevelop・monodevelop-database・monodevelop-debugger-gdb・monodevelop-debugger-mdb・monodevelop-nunit・monodevelop-python・monodevelop-versioncontrol の7つ。python はあるのに PHP と Ruby がないのが残念。バージョンコントロールは svn を使うみたい。

[アプリケーション]→[プログラミング]にアイコンが登録される。起動してバージョンを確認してみる。

Monodevelop2.4 のバージョンを確認したところ
起動は思いのほか速く、他の動作も結構軽い。それに文字化けもない。

[編集]→[設定]からオプションダイアログを開き、「キーバインディング」を "GNU/Emacs" に変更する。それだけで C-f,b,n,p,e,a のカーソル移動と C-d,h,k での削除はそのまま使えたが、C-m での改行や C-space のマークセットはできなかった。また、補完候補を C-n、p で選択することもできなかった。

インストール直後、テキストファイルを作成して日本語を入力(uim-skk)しすると、エラーダイアログが開き、文字の確定ができなかった。一旦終了し、iBus-anthy にかえて同じ操作をすると IDE がハングしてしまった。まさかとは思いつつ uim-skk に戻して Monodevelop を再起動、フォント設定を Monospace から IPA ゴシック に変更すると、不思議なことに正常に日本語を入力できた。その後フォントを Monospace に戻してみたが何のエラーも起きていない。あれはいったい何だったんだろう?どうも新規ファイルの1行目で日本語に変換するとエラーが出るっぽい。

追記:Ubuntu 10.10 にも Monodevelop をインストールしてみた。こちらは Ver.2.4 がデフォルトで用意されている。こちらでも同様に日本語入力ができないエラーが発生した。エラーメッセージは以下のとおり。

Unhandled Exception
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.NullReferenceException: Object reference not set to an instance of an object
at Mono.TextEditor.TextEditor.IMCommit (System.Object sender, Gtk.CommitArgs ca) [0x00000] in :0
at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (object,object[],System.Exception&)
at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in :0
--- End of inner exception stack trace ---
at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in :0
at System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) [0x00000] in :0
at System.Delegate.DynamicInvokeImpl (System.Object[] args) [0x00000] in :0
at System.MulticastDelegate.DynamicInvokeImpl (System.Object[] args) [0x00000] in :0
at System.Delegate.DynamicInvoke (System.Object[] args) [0x00000] in :0
at GLib.Signal.ClosureInvokedCB (System.Object o, GLib.ClosureInvokedArgs args) [0x00000] in :0
at GLib.SignalClosure.Invoke (GLib.ClosureInvokedArgs args) [0x00000] in :0
at GLib.SignalClosure.MarshalCallback (IntPtr raw_closure, IntPtr return_val, UInt32 n_param_vals, IntPtr param_values, IntPtr invocation_hint, IntPtr marshal_data) [0x00000] in :0

追記:いろいろ試した結果、新規にファイルを作成した直後に日本語変換を行なうと上のエラーメッセージが出る。最初に改行か半角文字(スペースでもO.K.)を入力しておくと正常に日本語入力ができた。

ソースファイルがいきなり日本語から始まるってことはまずないだろうから大きな障害ではない(だろうと思う)。でも、なんか気持ち悪い。

2011/01/30 追記:Ubuntu 10.04 が標準で提供している Monodevelop 2.2 も試してみた。このバージョンでもいきなり日本語を入力するとエラーになる。さらに悪いことに変換を確定するまで日本語が表示されなかった。Monodevelop を使う必要があるならば、badgerports を追加し、2.4 にしておくべきだろう。


タグ:mono Monodevelop

Eclipse3.6.1 で Static Web Project を作成するとエラーが出る [IDE]

Eclipse for PHP Developers で Static Web Project を作成すると、次のようなエラーが出る。

Errors occurred during the build.
Errors running builder 'Faceted Project Validation Builder' on project 'hoge'.
Could not initialize class org.eclipse.jst.j2ee.project.facet.IJ2EEFacetConstants

プロジェクト自体は作成できるものの、ファイルの作成/保存をするたびに同じメッセージが出てくるのでうっとうっしい。

メッセージから想像できるように、このエラーは Eclipse Java EE Developer Tools をインストールすれば解決する。だったら、PHP Developers では最初から静的 Web プロジェクトを作成できないようにしておいて欲しい。


NetBeans6.9.1 で jQuery を使う [IDE]

Using jQuery to Enhance the Appearance and Usability of a Web Page を参考に NetBeans6.9.1 で jQuery を使ってみた。以下はすべて PHPプロジェクトでの作業。

jQuery から Development タイプをダウンロード(Download ボタンをクリックするとソースが表示されるので、名前を付けて保存)する。

NetBeans のプロジェクト内に js という名前でフォルダを作成する。IDEのプロジェクトノードを右クリックして作成するか、ファイルマネージャなどで作ってもいい。そこに先ほどダウンロードしたファイル(jquery-1.4.4.js)をコピーする。

htmlファイルから参照するため、<head> 内に次のように記述する。

<script type="text/javascript" src="js/jquery-1.4.4.js"></script>

以上で NetBeans から jQuery のコード補完ができるようになった。

NetBeans6.9.1でjQueryの補完

次にアコーディオンウィジェットのサンプルを試すために jQuery UI から Query UI library(jquery-ui-1.8.7.custom.zip)をダウンロードして解凍する。

解凍したディレクトリ内の "/development-bundle/ui" 以下から、jquery.ui.core.js・jquery.ui.widget.js・jquery.ui.accordion.js" をプロジェクト内の js フォルダにコピーする。(jquery-ui-1.8.7.custom.js だけでもいいらしい。)

html ファイルの <head> に <script> タグを追加する。

<script type="text/javascript" src="js/jquery.ui.core.js"></script>
<script type="text/javascript" src="js/jquery.ui.widget.js"></script>
<script type="text/javascript" src="js/jquery.ui.accordion.js"></script>

サンプルコードを書いてみたが、UI 関係の補完はできなかった。

最後にテーマを使えるようにする。まずプロジェクト内に css フォルダを作成しておく。次に "/development-bundle/theme/theme-name" 内の jquery-ui-1.8.7.custom.css と image フォルダを css フォルダにコピーする。

html ファイルの <head> 内に <link> タグで参照を設定する。

<link rel="stylesheet" href="css/jquery-ui-1.8.7.custom.css" type="text/css">

別途にプラグインをインストールする必要もなく簡単に jQuery が使えるようになったが、UI で補完ができないのが残念。なにか設定すれば有効になるんだろうか。


タグ:NetBeans

すぐ忘れる自分のための設定メモ。初歩的なことしか書いてません。内容に間違いがあるかもしれません。それと、自分にしか通じない日本語で書いてます。

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。