web-dev-qa-db-ja.com

Visual Studio(2010)にすべてのファイルをUTF-8で保存するように強制する

Visual Studio(2010)にすべてのファイルをUTF-8で常に保存させる方法はありますか?

18
Niels Bosma

現在のコードページにファイルを保存すると思います。 [ツール]-> [オプション]-> [環境]-> [ドキュメント]の下に、現在のコードページに保存できない場合にUnicodeで保存するオプションがあります。しかし、それが役立つかどうかはわかりません...

UTF-8ですべてを強制的に保存する方法はわかりませんが、ケースバイケースで保存できます。最初にドキュメントを保存して[名前を付けて保存...]ダイアログが表示されたとき、[保存]ボタンは実際には2つのオプションがあるドロップダウンボタンになります。 「エンコーディングで保存...」が必要です。これにより、インストールされているWindowsエンコーディングの全リストが表示されます。

あなたが本当に欲しいエンコーディングは一番下にあります:

Unicode(署名なしのUTF-8)-コードページ65001

ただし、多くの苦痛を軽減したい場合は、上部にあるオプションを選択することをお勧めします。

Unicode(署名付きUTF-8)-コードページ65001

違いは、後者のオプションがUTF-8署名(UTF-8でエンコードされたUTF-16バイトオーダーマーク)を固定することです。 UTF-8は複数のバイトオーダーを持っていないので、これは私のペットのおしっこの1つです。したがって、BOMはせいぜい冗長であり、最悪の場合、あらゆる種類のテキスト処理ツールを壊します。 。 MSはこれを使用してUTF-8を自動的に「検出」します。これは、シングルバイト文字の場合、UTF-8、ISO-8859-1、およびCP-1252は、MSが基本的に32文字(0x80-0x9f)のシーケンスを除いて同一であるためです作り物。

Visual Studioまたは.NETツールを使用してファイルを編集または処理するだけの場合は、署名を使用して保存すると問題なく機能する可能性があります。他のツール(バッチファイル、SQLクエリ、PHPスクリプトなど)で使用するためにファイルを保存する必要がある場合、署名によって問題が発生するため、署名なしで保存する必要があります。これには、「署名なしでUTF-8エンコーディングを自動検出する」オプション([ツール]-> [オプション]-> [テキストエディター]の下)を有効にするか、ファイルを右クリックして[プログラムから開く...]を選択することができます。 「」を選択し、「エンコーディング付きエディタ」というエディタオプションを選択します。

24

ForceUtf8(BOMあり)/ ForceUtf8(BOMなし)拡張を試してみたいと思います。

VS拡張ギャラリーでUTF8を検索するだけです([ツール]-> [拡張と更新])

6
RalphSu