Visual StudioでデフォルトでUTF-8を使用する方法
最近ソースコードの管理にSourceTree+Git環境を導入したのだが、SourceTreeが文字コードを誤認して文字化けが起きたりするので、色々調べた次第。
- SourceTreeのデフォルト文字コードをShift_JISにすれば、文字化けは起きない。*1
- ソースコードの文字コードに関わらず、
.sln
ファイル等の文字コードはUTF-8なので、デフォルトの文字コードをShift_JISにすると今度はそっちが化ける。
上記の理由から、ソースコードの文字コードをUTF-8にしようと思ったのだが、この方法が中々分からず苦労した。
任意のファイルの文字コード及び改行コードを変更する
デフォルトの文字コードを指定するための前準備として、とりあえず任意のソースコードの文字コードを、デフォルトの文字コード及び改行コードとして使用したい設定にする必要がある。
新規ファイル作成時に任意の文字コード及び改行コードを使用する
実は、Visual Studioそのものの設定には、文字コード及び改行コードを指定する設定は無い。これらの設定は、「項目テンプレート」と呼ばれる設定ファイルに含まれている。
項目テンプレートとは、新しい項目の追加から新規ファイルを作成・追加する時に表示される、C++ ファイル (.cpp)とか、ヘッダー ファイル (.h)とか書いてあるあれである。これらの設定ファイルには、拡張子やデフォルトのファイル名、文字コード、改行コード等の設定が含まれており、新規ファイル作成時はこれらの設定に基いたファイルが生成される。
- 前項で作成したファイルを選択する。
ファイル(F)
->テンプレートのエクスポート(E)...
からテンプレートのエクスポート ウィザードを起動- 項目テンプレートを選択し、次へ。
- 前項で作成したファイルのチェックボックスを有効し次へ。
- 次へ。
- 適当に書く項目を入力し、完了。
尚、Visual Studioで使えそうなアイコンが以下からダウンロード出来るっぽい。*3
2013.08.31 何故か.cpp
や.h
で使えそうなアイコンは含まれていない臭い。
2014.09.01 .cpp
ファイル及び.h
ファイルのアイコンはC:\Program Files\Microsoft Visual Studio 12.0\VC\vcpackages\VCProject.dll
に含まれている。*4
Download Visual Studio Image Library from Official Microsoft Download Center
たぶん、2013だけでなく、他のバージョンでも概ね同じ方法が使えると思う。
基本的にUTF-8 BOM付きを使えばいいかな、と思っている。普通のバージョン管理システムはBOMのせいで動作がおかしくなる事は無いだろうし、BOMがあれば、文字コードの自動認識が誤作動を起こすのを防げる。BOMや改行コードによる意図しないファイル変更の検知等の問題はバージョン管理システム側が処理すべき問題と考える。