Shuhei Kagawa

OSX 上の MonoDevelop の日本語対応

@2009-08-22 19:01

MonoDevelop Mac Preview 09/07/06 版をインストールしてみました。MonoDevelop 2.2 Beta リリース前のプレビュー版だそうです。
プレビュー版だけあっていろいろ動作があやしいです。そして日本語、というかマルチバイト対応がさっぱりです。
以下、できるだけ日本語使えるようにするためのメモ。

スタートページやメニューの文字化け

まず目につくのがこれ。
/Library/Framework/Mono.Framework/Version/Current/etc/pango/pango.aliases というファイルを作成し、以下の内容を書くと直るようです。

"Lucida Grande" = "Hiragino Kaku Gothic Pro"

pango なるもののバグだとか。

via っき雑記: MonoDevelop 2.0 AlphaのMac OS X版で日本語を表示する方法

ファイルは UTF-8 でないと化ける

Shift-JIS のファイルを UTF-8 置換しましょう。VisualStudio に戻した時にも問題ないはずです。

find . -name '*.cs' -print0 | xargs -0 nkf -w -Lu --overwrite

なんと日本語が入力できない

我慢しましょう。どうしてもという時はコピペができます。

XML 内の日本語

XMLコメントの中の一行で日本語が何文字か続いた後、改行せずにタグを閉じると落ちるようです。
つまり、以下のようなもの。

/// <param name="hoge">ほげほげほげ</param>

当面の回避策は、タグを閉じる前に改行することでしょうか。

/// <param name="hoge">ほげほげほげ
/// </param>

ちょっとどうかと思いますが、これなら落ちません。

置換

perl -i.bak -pe 's/(\t+\/\/\/ )(.+)(<\/(param|returns)>)/$1$2\n$1$3/mg' hoge.cs

一括置換は以下。

find . -name '*.cs' -exec perl -i.bak -pe 's/(\t+\/\/\/ )(.+)(<\/(param|returns)>)/$1$2\n$1$3/mg' {} \;