全力わはー RSSフィード

2015-06-18

UTF8ize Plugin。

| 00:03 | UTF8ize Plugin。を含むブックマーク

これは何?

新規に作成したり開いたユニットのファイルフォーマットを自動でUTF-8にセットするプラグインです。

デフォルトでは新規かどうかにかかわらずすべてUTF-8にセットします。この動作をやめて新規のみを対象にする場合は、UUtf8ize.pasを開いて{$DEFINE APPLYTOALL}をコメントアウトするか、削除して下さい。ただし以下のような動作をするため、ほとんどの場合はそのまま使っても問題ないと思います。

既存のファイルに対する動作

このプラグインは新規作成したファイルだけでなく、既存のファイルを開いた際にもフォーマットとしてUTF-8を指定します。フォーマットの変更を手動で行う場合、IDEは変更フラグを立てるため、中身を何も編集していなくてもファイルを閉じる際に保存するかどうか尋ねられますが、このプラグインは変更フラグを立てないため、内容の変更を行わない限り保存するかどうかは尋ねられませんし、そのまま閉じればUTF-8に変換しないまま閉じることができます。

ダウンロード

UTF8ize Plugin Ver.0.0.1をダウンロード

余談

これを作るにあたってとりあえずOpen Tools API内で何とかできないか調べたところ、IOTAFileFilterServicesにDefaultFilterプロパティがあり、ここにUTF-8を表すIOTAFileFilterインターフェースを突っ込めば良さそうだったので、これは楽勝…と思いきや、指定すると「BOMが付いてないファイルをUTF-8と見なして開く」という動作に変わるだけの残念仕様*1で、結局OTAを使わないいつもの手法に落ち着きました…。

余談の余談

ソースコードをUTF-8にするメリットは、海外の人がソースコードを開いた時に文字化けを防ぐというだけで無く、コンパイルが速くなる*2という直接的なものがあります。これはヘルプにも書いてあることなんですが、何故かUTF-8がデフォルトになる気配が無いですよね…謎です。UTF-16をデフォルトにするというならサイズ的な問題があるので分からなくも無いですが、UTF-8なら欧米圏はせいぜいBOMで数バイト増えるだけですし。

*1:当然UTF-8でないファイルは化ける

*2:正確にはUTF-8以外を使うとコンパイル速度が低下する

をを〜をを〜 2015/07/15 23:33 素晴らしいプラグインをありがとうございます。
とてもストレスが減りました。

benokbenok 2015/10/08 09:43 いつもながら、素晴らしいものを公開していただいてありがとうございます。
最近、チームで使わせて頂きだしました。むっちゃ便利です。

なにかを調べていた折に、Stackoverflowで下記の質問を見つけましたので、勝手ながら、UTF8ize plugin(とついでに他の作品も:)を紹介しておきました。
utf 8 - How can I set the default file format in the Delphi IDE to UTF8? - Stack Overflow
http://stackoverflow.com/questions/1736102/how-can-i-set-the-default-file-format-in-the-delphi-ide-to-utf8
画像なども転載してしまったのですが、もし問題ありましたらおっしゃってください。(^_^;;

benokbenok 2015/10/08 23:21 本文の後に、画像付きでいくつかのIDEの紹介をしたら、モデレーターにばっさり投稿ごと消されてしまいました。oTL..
考えてみれば、確かに直接関係ない投稿を許していたら、きりがないですから仕方ないですね。
一応、紹介抜きにして、再投稿してみました。
あそこに投稿しておけば、絶対困っている誰かを救えると思うので、消されないことを祈ります(^^;;

talestales 2015/10/08 23:53 こちらこそありがとうございます>お二方
お役に立っているなら嬉しい限りです。

画像の転載は問題なかったのですが、消されてしまってはどうしようもないですね^^;