Eclipseで編集中のファイルにBOMを付ける。
- ActionScript2.0はUTF-8にBOMを付けなければ駄目。
- Eclipse単体ではBOM付きのUTF-8に変換できない。
という前提で(本当に正しいのか自信がないんだけど)、簡単にBOMを付ける方法を模索した。
最初はプラグインかなんかが出てるんじゃないかと思ったけど見つからなかった。
次にExternal Toolsでnkfを実行するのを試したが、-Oオプションで同じファイルに書き出せなかった。ファイルが空になってしまう。
rubyのワンライナー(-pieオプション)だとWindowsで同一ファイルに書けなかった。
で、BOMを付ける簡単なスクリプト addbom.rb を書いた。
#! /usr/bin/env ruby path = ARGV[0] puts "Add ByteOrderMark to #{path}" src = File.read(path) bom = "\xEF\xBB\xBF" if src.index(bom) == 0 raise "BOM already exists." end File.open(path, "w") do |io| io << bom io << src end
これをexternal toolsで実行するようにEclipseを設定。
Name: add BOM Location: rubyのパス Arguments: /path/to/addbom.rb ${resource_loc} Refresh: selected resource
で選択中のリソースに簡単にBOMを付けられるようになった。うれしい。