簡體   English   中英

如何使Visual Studio將所有文件保存為UTF-8而不在項目或解決方案級別簽名?

[英]How can I make Visual Studio save all files as UTF-8 without signature on Project or Solution level?

我試圖以一種可以在Linux中由gcc編譯的方式配置VS c ++項目。 似乎我需要將文件編碼為UTF-8而不簽名(這不是默認值)。 是否可以在項目或解決方案級別設置某些內容,以便在有人打開解決方案並保存其更改后,文件仍為UTF-8?

請注意,它是一個開放項目,所以我不能要求每個人都改變他們的Visual Studio設置。

Visual Studio將通過轉到另存為...並選擇“使用編碼保存...”並選擇“無簽名的UTF-8”來刪除BOM。 一旦沒有BOM保存,VS將不再添加它。 不幸的是,沒有辦法為VS中的所有文件設置此默認值,並且必須在每次首次保存文件時手動完成。

如果您安裝了Cygwin,則可以使用以下小腳批量修改現有文件:

find . -name "*.cpp" -exec vim -c "set nobomb" -c wq! {} \;

或者,如果你沒有Cygwin,但你有vim,你可以使用這個批處理腳本。

for %%f in (*.cpp) do call vim -c "set nobomb" -c wq! %%f

注意,在批處理腳本中執行此操作,似乎每次vim退出時都需要按[return],這與cygwin版本不同。

在vs2010中應該可以全局設置 - 請參閱: 沒有BOM的UTF-8

我只是在mo與我一起表達,自然也沒有這個。 嘆。

我這樣做的方式:

  1. 寫了一個小應用程序,使用記事本調用靜默進程。 只需在shell中處理(使用System.Diagnostics)
  2. 創建了一個文件和foreach文件列表,打開並保存為utf-8

花了20分鍾寫了1.並且執行了幾分鍾。
我想不出手動打開和保存所有300個文件

這似乎不是你可以放入propertyPage的設置。 我能想到的最好的方法是創建一個簡單的腳本(如在此鏈接中 ),作為預構建步驟運行並重寫文件。 只要腳本與項目一起保存,這可能會起作用,但可能會非常煩人。

看來Visual Studio正在根據文件內容猜測字符編碼。 如果你在每個文件中放置一個標准的注釋標題,並且該注釋包含一個明確的UTF-8字符,VS應該做正確的事情。 另一個好處是,某些Linux實用程序也會將該文件識別為明確的UTF-8。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM