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中打开该源代码,中文字符将出现乱码(以方框代替了中文)
出现上述问题的时候,可以采取以下两种方案纠正编码的问题
方案一: Visual Studio 团队资源管理器
在Visual Studio 2013的团队资源管理器中,你可以修改一个已经提交到源代码库的文件的编码格式。操作方式如下。
在源代码管理器中导航到需要修改编码的文件,使用鼠标右键点击该文件,选择高级>属性
在弹出的窗口的窗口中选择设置编码>检测,或者从下列选项中选择正确的编码格式,确定
代码的编码格式将被修改,TFS资源管理器会自动检测出变更,并标记为“【编码,编辑】”,这时可以点击“签入”按钮,将源代码的变更提交到TFS服务器上。
方案二: TFS命令行程序TF.exe
上面的方案比较适合修改单个文件的编码格式,如果需要批量修改这个代码库所有文件的编码格式,则可以使用TFS的命令行程序TF.exe。在安装了Visual Studio或者Visual Studio团队资源管理器的计算机上,可以通过这个路径找到这个程序:C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE
可以使用tf checkout命令的参数/recursive签出所有的文件,使用/encoding参数指定需要修改的编码格式,下面的列子需要将所有文件修改为GBK编码。执行完命令后,可以在团队资源管理器中看到所有文件已经在挂起的更改中自动检测出来,可以在这里点击签入,也可以使用tf checkin命令签入所有文件。tf的详细使用方法,可以参考MSDN的文档“Use Team Foundation version control commands ”https://msdn.microsoft.com/en-us/library/cc31bk2e.aspx
通过上述两种方案解决文件编码的问题,需要注意:
由于修改编码会产生新的变更集,所以需要在修改编码前,将代码文件下载到本地。不能修改没有下载的文件(显示灰色)或者被掩蔽的文件/文件夹的编码格式。
http://www.cnblogs.com/danzhang/
TFS文件编码检查机制和修改(Team Foundation Server 2013)的更多相关文章
- TFS (Team Foundation Server) 2013集成Maven构建
Team Foundation Server原生就支持跨平台的构建,包括Ant和Maven两种构建方式.通过配置构建服务器,连接TFS源代码库,可以实现持续集成构建,自动检测代码库健康状况,进而实现自 ...
- Team Foundation Server 2013 KEY(密钥)
isual Studio Ultimate 2013 KEY(密钥):BWG7X-J98B3-W34RT-33B3R-JVYW9 Visual Studio Premium 2013 KEY(密钥): ...
- Visual Studio Team Foundation Server 2013
下载地址:http://www.microsoft.com/zh-cn/download/details.aspx?id=42308 Microsoft Visual Studio Team Foun ...
- Team Foundation Server 2013 with Update 3 Install LOG
[Info @10:14:58.155] ====================================================================[Info @ ...
- Team Foundation Server 2013 Update 3 下载激活
http://www.microsoft.com/zh-cn/download/details.aspx?id=43728 支持的操作系统 Windows 7 Service Pack 1, Wind ...
- 在Sublime中集成Team Foundation Server (TFS),实现版本管理
Sublime是一款具有代码高亮.语法提示.自动完成且反应快速的编辑器软件,由于它开发的技术架构.丰富的插件,和轻盈而快速的编程响应,Sublime广受程序员的爱好.在C, C++, Javascri ...
- 【原创】Team Foundation Server 域环境迁移
先说下此片博客的上下文:部门所在的业务被集团出售,因此我们所有的计算机和服务器都得重新命名,退出当前域加入新公司的域.对于PC和其他服务器,目前不存在太大问题.但是对于Team Foundation ...
- Team Foundation Server 开发流程管理管理研讨会
这周,和微软公司的朋友一起,受北京某金融企业邀请,为企业软件部门一个70多人的软件团队提供了一场基于Team Foundation Server的软件软件流程的技术研讨会.在研讨会中,培训基于微软Te ...
- Integrate SharePoint 2013 with Team Foundation Server 2012
Now that SharePoint 2013 is out I want to make sure that I can integrate SharePoint 2013 with Team F ...
随机推荐
- 031:Cetus sharding
目录 一.主机环境 二.搭建环境 1.准备环境 三.Cetus安装 1.下载包和安装依赖包 2.Cetus安装 1.安装说明 2.安装实施 四.Cetus配置 1.创建和修改配置文件 2.启动cetu ...
- 个人tools封装
/** * jQuery 扩展 */(function ($) { $.fn.extend({ /** * 目标为任意对象元素 * 同时绑定单击和双击事件 */ bindClick: function ...
- 通过 NPOI 生成 Excel
HSSFWorkbook hssfworkbook; ISheet sheet1; public void BuildExcel() { hssfworkbook = new HSSFWorkbook ...
- Linux 清除N天前的 日期文件夹(yyyy-MM-dd)
本人碰到模糊目录移除,小记一下 1:准确目录情况 2:模糊目录情况 先来介绍准备目录情况 本人在网上找到的demo, 目录结构(在/root/zlogs) 脚本文件b.sh #!/bin/bash ...
- sql中纵表变横表
纵表格式如图所示: 查询sql语句如下: ),content)content,Date from SummerChina ' 变成横表如图所示: 纵表变横表sql语句如下: select Time, ...
- 问题记录,StartCoroutine(“str")问题
StartCoroutine参数为函数字符串名,运行时出错,错误是:无法启动协程函数. 调用格式如下: gameManager.StartCoroutine(LuaOnLevelwasloaded() ...
- 使用opencv3+python实现视频运动目标检测
本文主要实现了伯乐在线上的一个实践小项目,原文链接,用以巩固opencv视频操作知识内容.整个项目均有代码注释,通俗易懂,短短几十行就可以达到还算不错的实现效果,做起来成就感满满哒.打开编辑器,一起来 ...
- 【bzoj1087】互不侵犯King 状态压缩dp
AC通道:http://www.lydsy.com/JudgeOnline/problem.php?id=1087 [题解] 用f[i][j][k]表示前i行放了j个棋子且第i行的状态为k的方案数. ...
- Vue SPA应用中使用Layer的iframe 弹出层,并且传值
问题来源: BOOS 竟然说喜欢有可移动可最大化的弹出层,这!!! SPA 模式下就是这种引入Vue.js的写法 layer.open({ type: , area: ['840px', '550px ...
- null与not null
.not null CREATE TABLE `test` ( `col1` VARCHAR( ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NUL ...