Unity3D脚本行尾(Line Endings)
行尾不一致(inconsistent line endings )
开发环境
有时候编辑Unity的脚本文件,代码diff之后,或者从svn更新文件之后,Unity中会出现行尾不一致的信息。
我的开发环境如下:
visual studio 2015,unity3d 5.x,beyond compare 4,notepad++ 6.x
windows 7/10
行尾不一致
当Unity在编译时,如果脚本的行尾不一致,会出现以下提示信息:
There are inconsistent line endings in the 'someFileName.cs' script. Some are Mac OS X (UNIX)
and some are Windows.This might lead to incorrect line numbers in stacktraces and compiler
errors. Unitron and other text editors can fix this using Convert Line Endings menu commands.
产生原因
这是由Windows和Unix不同的标准引起的,即“回车”和“换行”的问题。“回车”和“换行”是ASCII
字符集中两个不可见的控制符。“回车”就是CHAR(13),即\r;“换行”就是CHAR(10),即\n。至于“回
车”和“换行”是来源于打字机,没见过打字机或没见过DOS时代的光标恐怕不好理解,因为GUI时代光
标都是自由移动的不再有回车的意义。
在Unix中“回车”不换行,“换行”才换行,行尾只需要一个“换行”,而在Windows中,“回 车”和“换
行”都换行,“回车”+“换行”才是行尾,所以符合Windows开发标准的文本编辑器才会提醒你当前编辑
的文本不符合Windows行尾标准。
Unix和Windows行尾
Unix平台: 行尾'LF'
Windows平台: 行尾‘CRLF’
CR回车(\r) LF换行(\n) Windows/Dos CRLF \r\n
Linux/Unix LF \n
MacOS CR \r
解决办法
unity中创建的新脚本的默认行尾是LF,而visual studio中创建的新文件中默认行尾为CRLF,需要统一文件的行尾
统一为LF(Unix)
Visual Studio插件:Strip'em Add-in for Visual Studio
官网:http://www.grebulon.com/software/stripem.php
这个插件当你在Visual Studio中保存文本时自动转换文件的格式,对你在Windows和Unix环境中混合工作时非常有用的。
在Unix中,文本文件的行结束是换行字符,在Windows中——一个回车和换行。
这个插件确保文件将被保存你所希望的方式。
它支持行尾(EOL)转换到Unix,Windows或旧的Mac约定。
统一为CRLF(Windwos)
- 打开Unity安装目录(*C:\Program Files\Unity\Editor\Data\Resources\ScriptTemplates*)
- 找到Unity新建文件的模板文件(xx.txt),有规律的txt文件
- 用visual studio 打开这些文件,在文件 - 高级保存选项 - 行尾 选择 window(CRLF)
以Unity 5.3.5为例,新建文件的模板文件如下:
- 81-C# Script-NewBehaviourScript.cs.txt
- 83-Editor Test C# Script-NewEditorTest.cs.txt
- 86-C# Script-NewStateMachineBehaviourScript.cs.txt
- 86-C# Script-NewSubStateMachineBehaviourScript.cs.txt
- 83-Shader__Standard Surface Shader-NewSurfaceShader.shader.txt
- 84-Shader__Unlit Shader-NewUnlitShader.shader.txt
- 90-Shader__Compute Shader-NewComputeShader.compute.txt
- 82-Javascript-NewBehaviourScript.js.txt
- 85-Shader__Image Effect Shader-NewImageEffectShader.shader.txt
参考资料
https://www.reddit.com/r/Unity3D/comments/3dl8oz/psa_how_to_fix_line_endings_in_unity_for_windows/
http://forum.unity3d.com/threads/inconsistent-line-endings.40671/
http://www.cnblogs.com/sevenyuan/archive/2012/12/06/2805114.html
Unity3D脚本行尾(Line Endings)的更多相关文章
- 【实习记】2014-08-26都是回车惹的祸——shell脚本必须是unix行尾
事情由起:svn的url在excel里,我复制到txt文本下,vi做些文本处理,只提取了url,保存为url.txt.再用vi处理url.txt,加上svn checkout等词,变成可以运行 ...
- There are inconsistent line endings in the 'xxx' script. Some are Mac OS X (UNIX) and some are Windows.问题解决
在Window上使用Visual Studio编辑Unity3D脚本时常会出现类似如下警告: 警告 1 There are inconsistent line endings in the 'Asse ...
- [转]unity3d 脚本参考-技术文档
unity3d 脚本参考-技术文档 核心提示:一.脚本概览这是一个关于Unity内部脚本如何工作的简单概览.Unity内部的脚本,是通过附加自定义脚本对象到游戏物体组成的.在脚本对象内部不同志的函数被 ...
- Unity3D脚本中文系列教程(七)
http://dong2008hong.blog.163.com/blog/static/4696882720140311445677/?suggestedreading&wumii Unit ...
- Unity3D 命令行参数
Unity3D 命令行参数 @by 广州小龙 unity ios开发群:63438968 Typically, ...
- unity 解决与永久解决行尾不一致报警
虽然不影响使用,但一堆警告信息着实让人不爽,继续往下看. 用Notepad2的“查看->显示换行编码"查看发现通过Unity3D编辑器创建的脚本文件是以"LF"结尾 ...
- windows10下git报错warning: LF will be replaced by CRLF in readme.txt. The file will have its original line endings in your working directory.
window10下使用git时 报错如下: $ git add readme.txtwarning: LF will be replaced by CRLF in readme.txt.The fil ...
- 去掉行尾的^M
1. 处理掉行尾的^M 在windos下进行linux内核驱动编写,调试成功后需要集成到内核代码中去,所以会通过虚拟机共享文件夹拷贝到内核对应目录,这时候看源码文件还是没有异常的. 当对该文件进行回车 ...
- linux向文件中添加数据,数据被追加到了上一行的行尾
当我们在windows上新建了文件,并且要上传到linux上时,一定要在文件后加上空格,否则就会出现标题上讲的,数据被追加到了上一行的行尾,而不是新起一行,但是如果是在linux上新建的文件,则没有这 ...
随机推荐
- python计算器
思路:优先级处理思路一:正则表达式+递归(计算时间慢)思路二:堆栈的方式队列:先进先出电梯-->队列上电梯(入队123):第三个人3,第二个人2,第一个人1>>> li = [ ...
- 最短路径之Floyd算法
Floyd算法又称弗洛伊德算法,也叫做Floyd's algorithm,Roy–Warshall algorithm,Roy–Floyd algorithm, WFI algorithm. Floy ...
- 对,这是http处理层
16年2月的一次代码重构,面对如此肮脏丑陋的代码我困在了座椅上整整一天的时间. 底层用java写的api接口,通过http去调用,在之上是用php写的业务逻辑层,重构的代码,正是php这一层. pub ...
- javascript 中的location.href 并不是立即执行的,是在所在function 执行完之后执行的。
javascript 中的location.href 并不是立即执行的,是在所在function 执行完之后执行的. 1 function getUrl(tp) { if (tp == 'd') { ...
- EF 分页查询优化
按照通常的方式分页查询至少要查询数据两遍,一个操作是查询总数,另一个是查询数据,这样有些耗时 这里介绍一个基于EF的插件 EntityFramework.Extended,当然这个插件有很多的功能,比 ...
- XSS跨站测试代码大全
'><script>alert(document.cookie)</script>='><script>alert(document.cookie)&l ...
- Android 学习心得 TextView 添加垂直滚动条
XMl文件中: 添加android:scrollbars="vertical" 添加android:maxLines="10" //设置一页最多显示10行 a ...
- VS的安装
一 安装过程 我直接在官网下载的 2015版本 ,软件比较大 安装起来比较花时间 同时也装了中文语言包,下面附上安装过程中的一些截图. 二 现在正在摸索如何使用,百度教程,等会附上单元测试.
- JVM之运行时常量池(Runtime Constant Pool)
基本特性: 方法区的一部分,在方法去中分配,加载泪或者接口后就创建运行时常量区. class文件每一个类或接口的常量池表(constant_pool table)的运行时表现形式, 包括编译期的数值字 ...
- c#获取时间
DateTime.Now.AddDays(10).ToShortDateString().ToString() addDays(整数) 一天前DateTime.Now.AddDays(-1).ToSh ...