TFS文件编码检查机制和修改(Team Foundation Server 2013)

TFS的版本控制系统会自动按照下面的标准检测代码文件的编码格式:

1. 首先,如果代码文件包含了BOM部分,则使用BOM中制定的编码格式打开文档

什么是BOM (Byte order mark)? http://en.wikipedia.org/wiki/Byte_order_mark

2. 如果代码文件没有BOM部分,TFS检测第一个千字节中的不可打印ASCII字符(unprintable ASCII character)。如果第一个千字节中没有不可打印ASCII字符,则使用当前页面的编码设置打开代码文件。

3. 如果检测到有不可打印ASCII字符,TFS见文件标记为二进制文件,则不存在编码的问题。

这里有一个例外,就是PDF文件。这些文件通常被标记为二进制文件。PDF的文件头通常会出现“%PDF”的字符。

这样,如果你新建一个没有BOM部分的中文源文件,例如在MyEclipse中新增一个文件index.jsp,并将其添加到TFS的源代码库中,TFS将使用默认的编码格式Windows-1252来读取,在web access中打开该源代码,中文字符将出现乱码(以方框代替了中文)

SNAGHTML7eb3ce6

出现上述问题的时候,可以采取以下两种方案纠正编码的问题

方案一: Visual Studio 团队资源管理器

在Visual Studio 2013的团队资源管理器中,你可以修改一个已经提交到源代码库的文件的编码格式。操作方式如下。

在源代码管理器中导航到需要修改编码的文件,使用鼠标右键点击该文件,选择高级>属性

SNAGHTML7f5d9b2

在弹出的窗口的窗口中选择设置编码>检测,或者从下列选项中选择正确的编码格式,确定

image

代码的编码格式将被修改,TFS资源管理器会自动检测出变更,并标记为“【编码,编辑】”,这时可以点击“签入”按钮,将源代码的变更提交到TFS服务器上。

image

方案二: TFS命令行程序TF.exe

上面的方案比较适合修改单个文件的编码格式,如果需要批量修改这个代码库所有文件的编码格式,则可以使用TFS的命令行程序TF.exe。在安装了Visual Studio或者Visual Studio团队资源管理器的计算机上,可以通过这个路径找到这个程序:C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE

image

可以使用tf checkout命令的参数/recursive签出所有的文件,使用/encoding参数指定需要修改的编码格式,下面的列子需要将所有文件修改为GBK编码。执行完命令后,可以在团队资源管理器中看到所有文件已经在挂起的更改中自动检测出来,可以在这里点击签入,也可以使用tf checkin命令签入所有文件。tf的详细使用方法,可以参考MSDN的文档“Use Team Foundation version control commands ”https://msdn.microsoft.com/en-us/library/cc31bk2e.aspx 

image

通过上述两种方案解决文件编码的问题,需要注意:

由于修改编码会产生新的变更集,所以需要在修改编码前,将代码文件下载到本地。不能修改没有下载的文件(显示灰色)或者被掩蔽的文件/文件夹的编码格式。

http://www.cnblogs.com/danzhang/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值