私はそれらをUTF-8(BOMなし)で保存する必要があるJavaScriptファイルを持っています。それらをNotepad ++で正しい形式に変換するたびに、それらはVisual Studioで開くとBOM付きのUTF-8に戻されます。どうすればVS2010がそれを止めることができますか?
別の質問、Visual Studioの署名なしのUTF-8はBOMなしのUTF-8と同じですか?
私はそれらをUTF-8(BOMなし)で保存する必要があるJavaScriptファイルを持っています。それらをNotepad ++で正しい形式に変換するたびに、それらはVisual Studioで開くとBOM付きのUTF-8に戻されます。どうすればVS2010がそれを止めることができますか?
別の質問、Visual Studioの署名なしのUTF-8はBOMなしのUTF-8と同じですか?
回答:
BOMまたはバイトオーダーマークは、非常に煩わしい場合があります。Visual Studioは、(Hansが言ったように)保存しない限りファイルを変更しません。
そして、これがあなたの問題の解決策 です:他のエンコーディングでファイルを保存したい場合は、名前を付けて保存を選択し、ファイルダイアログの保存ボタンを拡張して、「エンコーディングで保存」を選択してください。または、この設定を完全に削除する場合は、[ファイル]メニューを開いて[詳細な保存オプション]を選択し、[署名なしのUTF-8]を選択する必要があります(これも最後の質問に回答しました:)。はい「署名なしのUTF-8」はBOMなしと同じです。
今写真付き。
File
->に移動しSave As
ます。
次に、[保存]ボタンで三角形をクリックし、をクリックしますSave with Encoding...
。
[OK]をクリックしてファイルを上書きし、エンコードのリストからUTF-8 Without signature
[ 検索] -> []をクリックしOK
ます。
これにより時間を節約できることを願っています。
Visual Studio 2010+がBOMをUTF-8ファイルに追加できないようにするFix File Encoding拡張機能を作成しました。
残念ながら、これはcsprojファイルでは機能しません。「高度な保存オプション」はありません。csファイルに対して「署名なしのUTF-8」に設定しても、csprojファイルはBOMで保存されます。VSSを使用している場合でも、プロジェクトファイルについて不満があります。
UTF-8-「名前を付けて保存」(署名なし)デフォルト-署名なしのUTFのデフォルトを含めるように要求
VS 2017はネイティブでEditorConfigをサポートしているため、
.editorconfig
コードベースにファイルを追加して設定することをお勧めしますcharset => utf-8
。次に、ファイルを保存すると、BOMなしのUTF-8として保存されます。
charset
は.editorconfiggithub.com /editorconfig
最近、任意のUTF-8エンコードファイルのBOMを追加または削除するこの小さなコマンドラインツールを見つけました:UTF BOM Utils(githubの新しいリンク)
少し欠点は、プレーンなC ++ソースコードのみをダウンロードできることです。makefileを作成し(CMakeなどで)、自分でコンパイルする必要があります。このページではバイナリは提供されていません。ただし、ソフトウェア開発者にとっては、これは問題にはなりません。
Dave81のソリューションを使用しても、Visual Studio 2015 Communityは、HTMLファイルを保存するたびにファイルをUTF8-BOMに戻していました。
そのhtmlファイルを作成したときに、プロジェクトを右クリックして[追加]を選択し、HTMLファイルを追加しました。
デフォルトでは、Visual Studioは<meta charset="utf-8" />
HTMLファイルにタグを含めます。
タグを削除してからDave81のソリューションを適用するだけで、今回は問題が解消されました。
Visual Studioはhtmlファイルを解析し、そのタグを検出すると、元のファイル形式(BOMのないUTF-8)を考慮せずにファイルをUTF8-BOMに変換するようです。
私はDave81のソリューションの直下でコメントを書いたでしょうが、そうするための十分なポイントがありませんでした...