Visual Studioで標準エンコーディングを設定する方法


99

Visual Studioをセットアップしてファイルを常にUTF-8で保存する方法を探しています。

このプロジェクト全体を設定するオプションを見つけました。Visual Studio全体に設定する方法はありますか?


31
このプロジェクト全体を設定するオプションはどこで見つけましたか?
マルク

回答:


64

ASCIIエンコードで失われる特殊文字を使用しているため、ファイルをUTF-8として保存しますか?その場合はTools > Options > Environment > Documents、という名前のVS2008グローバル設定があります。Save documents as Unicode when data cannot be saved in codepageます。これが有効になっていると、特定の文字がデフォルト以外のコードページで表現できない場合、VS2008はUnicodeとして保存します。

また、どのファイルがUTF-8として保存されていないのですか?デフォルトでは、すべての.cs、.csproj、.sln、.config、.as * xなどがすべてUTF-8(署名、バイトオーダーマーク付き)として保存されます。


2
設定のヒントをありがとう。
xaml

こんにちは、レポートデザイナーがエンコーディング属性をutf-8に変更する理由を知っていますか? stackoverflow.com/questions/30071846/...
Mohammadreza

2
まだ良い解決策はありませんか?私のVS2015はクラッシュのたびにコードページをリセットし続け、私の電気ではかなり頻繁に発生します。悲しいことに、Microsoftがどのようにしてこれを実現し、どのようにして最高のIDEを作成し、デフォルトのコードページ設定を忘れることができるのか、残念です((
Movsar Bekaev

2
Unicodeを設定すると、実際にはUTF-8またはUTF-16が使用されますか?
binki

9
問題は、デフォルトのシステムコードページにデータを保存できることです。しかし、他のソフトウェアは私のシステムコードページのソースを常に読み取ることができません。したがって、私はデフォルトですべてのテキストファイルをUTF-8で保存する方法を模索しています。なぜ誰かがテキストデータをUTF-8以外のコードページに保存したいのか、私にはわかりません。
BlackOverlord

19

EditorConfigで可能です。

EditorConfigは、開発者がさまざまなエディターとIDE間で一貫したコーディングスタイルを定義および維持するのに役立ちます。

これには、ファイルのエンコードも含まれます。

EditorConfigは既定でVisual Studio 2017に組み込まれており、VS2012と同じくらい古いバージョンで使用できるプラグインがありました。続きを読む EditorConfig Visual Studioプラグインページをご覧ください

どうやって

EditorConfig構成ファイルをフォルダー構造で十分に高く設定して、意図するすべてのリポジトリ(ファイルが実際にどこにでも散在している場合はドライブのルートまで)にまたがるように設定しcharset設定を構成できます

charset文字セットを制御するには、latin1、utf-8、utf-8-bom、utf-16be、またはutf-16leに設定します。

より細かく制御したい場合は、すべてのフォルダーレベルで、またはファイル名/タイプごとにフィルターや例外などを追加できます。

設定すると、互換性のあるIDEは自動的に一致するファイルをルールに準拠させるようにします。Visual Studioはすべてのファイルを自動的に変換するわけではありませんが、IDEでファイルを操作する(開いて保存する)と、ビットを変換します。

次は何

Visual-studio全体の設定を使用することもできますが、ソリューションのバージョン管理にEditorConfigルートを含めることを強くお勧めします。これにより、明示的な設定がすべてのチームメンバーにも自動的に同期されます。一部のプロジェクトで独自のeditorconfigファイルがまだ設定されていない場合、ドライブルートのeditorconfigファイルがフォールバックになる可能性があります。


4

私はWindows7を使用しています。

コントロールパネル-地域と言語-管理-非Unicodeプログラムの言語。

「システムロケールの変更」を英語(米国)に設定した後。vs2010のデフォルトのエンコーディングをに変更しWindows-1252ます。そうだったgb2312前。

.cppC ++プロジェクト用の新しいファイルを作成しました。新しいファイルをTFSにチェックインした後、ファイルのプロパティページからエンコーディングショーWindows-1252を表示します。


Windows 10には、「ベータ版:Unicode UTF-8を使用して世界の言語をサポートする」というラベルの付いたチェックボックスが1つあります。確認すると、Visual Studio 2019でWindows-1252を使用してエンコードされたファイルを開くことができます。ありがとう!
Gean Ribeiro

1

私はグローバル設定については知りませんが、これを試すことができます:

  1. すべてのVisual StudioテンプレートをUTF-8で保存する
  2. DocumentSavedイベントをリッスンし、ファイルをUTF-8形式で保存する(まだない場合)Visual Studio Macro / Addinを記述します。
  3. 新しいファイルが常にUTF-8であることを確認するプロキシをソース管理に配置します。

2
3.ファイルをチェックインするとすぐに、チェックインしたファイルとファイルが一致しないと判断されるため、悪い考えです。まあ、少なくとも転覆に関しては。チェックとチェックインの両方をエンコードすることができれば、これは問題にはなりません。
TamusJRoyce

こんにちは、レポートデザイナーがエンコーディング属性をutf-8に変更する理由を知っていますか? stackoverflow.com/questions/30071846/...
Mohammadreza
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.