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

摘要:
TFS的版本控制系统将根据以下标准自动检测代码文件的编码格式:1.首先,如果代码文件包含BOM,请使用BOM中指定的编码格式打开文档。BOM是什么?

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.0Common7IDE

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/

免责声明:文章转载自《TFS文件编码检查机制和修改(Team Foundation Server 2013)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇APICloud 真机连接失败前端与后端的数据交互(jquery ajax+python flask)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Tfs 2010使用小技巧

一、如何删除工作项     1、使用Tfs管理员账户登录     2、使用Cmd打开命令行窗口          如果是32位系统,cd "C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE"          64位系统则        cd "C:\Program Files (x86)\...

在TFS 2013上,使用tf workspace命令删除其他用户的工作区

8月25日补充:如果想批量删除工作区,你可以使用第三方工具MSBuild Sidekick http://www.attrice.info/downloads;或者自己编写一个bat脚本,但是缺陷是需要手工相应“是否确实删除此工作区”,这是比较讨厌的。 在使用Team Foundation Server (TFS)的过程中,由于用户重装或切换了计算机,再次...

objective-c(十二)关于Foundation框架

  Foundation框架可以说是objective-c最强大的库,基本上所有的通用标准都是有Foundation来提供的,首先要介绍的就是NSString对象。   NSString就是java中的String字符串。只不过在oc中。NSString只能赋值的是静态字符串变量,因此赋值是稍微有些不同   NSString temp = @“hello...

TFS2010 取消锁定

 CMD到TFS的命令            32位操作系统: c:/program files/microsoft visual studio 10.0/common7/ide。     64位操作系统: c:/program files(x86)/microsoft visual studio 10.0/common7/ide。  执行tf undo解锁...

Run Loop

学习过程中,将Threading PG中的Run Loops翻译了下,权当是做为笔记。原文见 Run Loops。 20110526 转载请注明,谢谢。 http://www.cnblogs.com/scorpiozj/ Run loops是线程的基础架构部分。一个run loop就是一个事件处理循环,用来不停的调配工作以及处理输入事件。使用run loo...

TFS(Team Foundation Server)简介和新手入门

在两部分的文章。我会介绍Team Foundation Server一些核心功能,着重于产品的日常应用是如何将这些功能结合使用。 作为一个软件开发。在我的职业生涯,。我常常用于支持软件开发过程中大量的开发工具,版本控制工具如、包、生成脚本语言、单元測试框架和需求分析工具等等。在.NET平台上,大量的支持工具可以非常好地独立工作,可是。为了使得各种工具之间...