[英]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与我一起表达,自然也没有这个。 叹。
我这样做的方式:
花了20分钟写了1.并且执行了几分钟。
我想不出手动打开和保存所有300个文件
这似乎不是你可以放入propertyPage的设置。 我能想到的最好的方法是创建一个简单的脚本(如在此链接中 ),作为预构建步骤运行并重写文件。 只要脚本与项目一起保存,这可能会起作用,但可能会非常烦人。
看来Visual Studio正在根据文件内容猜测字符编码。 如果你在每个文件中放置一个标准的注释标题,并且该注释包含一个明确的UTF-8字符,VS应该做正确的事情。 另一个好处是,某些Linux实用程序也会将该文件识别为明确的UTF-8。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.