.editorconfigの管理対象にSHIFT-JIS等のNo.41097
fzok4234 さん 24/03/13 22:35
 
こんばんは、Fzok4234 です。


さて、.editorconfig ファイルで管理する対象のファイルの中に、SHIFT-JIS 等の非
 Unicode の
マルチバイトの文字コードのファイルがある場合はどのように運用すればよいのでし
ょうか ?


例えば、Windows バッチファイルの *.cmd が .editorconfig での管理対象となって
いるプロジェクトの
ディレクトリに含まれている場合とかがこのケースに該当します。*.cmd は UTF-8
等の Unicode の
ファイル形式にすることができず、必ず純粋な ASCII か SHIFT-JIS 等のマルチバイ
ト形式で
保存する必要があります。

ところが、.editorconfig の charset 値は、latin1、utf-8、utf-8-bom、utf-16be、
utf-16le の
いずれかでなければならず、必然的に latin1 を選んで

[*.cmd]
charset     = latin1
end_of_line = crlf

などと記述することになってしまいます。

この場合、たとえ「ファイルタイプ別の設定」->「保存・読込」->「エンコードの種
類の指定」で
「SHIFT-JIS」を指定しても強制的に「欧文」として扱われます。当然、全角文字は
文字化けするため
純粋な ASCII 文字しか使えなくなり、このプロジェクトでは *.cmd の中でコマンド
引数や
コメントなどでの日本語の使用自体を禁止するという強硬策をとらざるを得なくなっ
てしまいます。

そして、コマンドプロンプトのコマンドを列記する *.cmd の特性上、コマンド引数
に日本語などの
ローカライズされた文字列を指定しないと意図した動作にならないという状況になる
と完全に
アウトです。


このような問題を回避しつつも .editorconfig で Unicode 系のエンコードを使えな
いようにする
ためにはどうすればよいのか対処法が分からずに困っています。

どうか適切な対処法の御教示よろしくお願いします。



[ ]
RE:41097 .editorconfigの管理対象にSHIFTNo.41099
h-tom さん 24/03/13 23:30
 
h-tom です。

charset を記述しなければいいのでは?

[*.cmd]
end_of_line = crlf

[ ]
RE:41097 .editorconfigの管理対象にSHIFTNo.41100
(-L-) さん 24/03/13 23:30
 
駄目だったらごめんなさい。
秀丸のデフォがShift-JISなら、

--- .editorconfig --------------------
[*]
charset     = utf-8

[*.cmd]
charset     = unset
end_of_line = crlf
--------------------------------------

こんな感じでunsetでいけるような気がします。

[ ]
RE:41099 .editorconfigの管理対象にSHIFTNo.41103
fzok4234 さん 24/03/14 00:14
 
回答ありがとうございます。


> charset を記述しなければいいのでは?
>
> [*.cmd]
> end_of_line = crlf

確かに、charset 値を無くすか、または (-L-) さんのおっしゃるように unset を指
定すれば
「ファイルタイプ別の設定」->「保存・読込」->「エンコードの種類の指定」で指定
した
文字コードが適用されるようになりました。

ただ、同じ *.cmd ファイルを別のユーザーが秀丸エディタあるいは他のエディター
で編集するとき、
そのユーザーの環境設定が SHIFT-JIS 等になっていないためにうっかり Unicode で
上書きされてしまう
可能性は格段に上がります。



[ ]
RE:41100 .editorconfigの管理対象にSHIFTNo.41104
fzok4234 さん 24/03/14 00:20
 
ご指摘ありがとうございます。


デフォルト設定を明示的に指定する unset について、公式サイト
https://editorconfig.org/
の記述をうっかり見落としていました。



[ ]