2015年10月18日日曜日

Atomで文字コードの自動判別

Atomで文字コードの自動判別

Atomエディタにて日本語のファイル名が豆腐になっていたり、
開いたファイルの文字コードをいちいち変えなくてはいけなかったので、調べていたところ
以下でできるようになりましたので、備忘録として記載します。

1.iconv-liteとjschardetのインストール

 ※node.jsも必要なのだが、Ubuntuは入っているということなので、インストールはしていない。
  

npm install iconv-lite
npm install jschardet

2. init.coffeeの修正
.atomフォルダにあるinit.coffee ファイルに以下の記述を追加する。

fs = require('fs')

atom.workspace.onDidOpen ->
  editor = atom.workspace.getActiveTextEditor()

  try
    filePath = editor.getPath()
  catch error
    return
  return unless fs.existsSync(filePath)

  jschardet = require 'jschardet'
  iconv = require 'iconv-lite'
  fs.readFile filePath, (error, buffer) =>
    return if error?
    {encoding} = jschardet.detect(buffer) ? {}
    encoding = 'utf8' if encoding is 'ascii'
    return unless iconv.encodingExists(encoding)

    encoding = encoding.toLowerCase().replace(/[^0-9a-z]|:\d{4}$/g, '')
    editor.setEncoding(encoding)

【参考】
http://qiita.com/moris/items/281a588b9773357b27f7
http://text.baldanders.info/remark/2015/atom-editor/

0 件のコメント :

コメントを投稿