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上新建的文件,则没有这 ...
随机推荐
- [修正] 移动平台曲线不平滑的问题(如:TRectangle, TPath...等)
问题:从 XE4 以来,Firemonkey 曲线绘图在移动平台不平滑的问题一直令人诟病,提交到官方的 QC 也是族繁不及备载,官方似乎有意的避开这个问题,迟迟没有修正. 适用版本:XE4 ~ Ber ...
- 关于WebBrowser访问百度地图
前段时间遇到一个困惑用WebBrowser访问百度地图的时候,百度会自动转至让下载sdk的页面,经过一个仁兄的点拨,可以改变WebBrowser的agent来骗过网站.经过试验成功.贴源码如下: st ...
- git将本地仓库推送到远程仓库
如何将本地仓库推送到公司远程仓库? 1:前提是你本地安装好git.先把远程git仓库克隆到本地 git clone 远程仓库的地址(SSH) 2: git branch //查看本地分支 3: g ...
- #9.6课堂JS总结#变量作用域 date()对象 math()对象
一.变量的作用域 1.JavaScript的作用域链 首先看下下面这段代码: <script type="text/javascript"> var rain = 1; ...
- IIS配置文件的XML格式不正确 applicationHost.config崩溃 恢复解决办法
当打开IIS管理器,或配置网站时提示错误:配置文件的XML格式不正确 且是applicationHost.config的问题,那么肯定是applicationHost.config被破坏,IIS就崩溃 ...
- Touch ID使用
前言:如果图片看不了请移步:简书 Touch ID简介 Touch ID指纹识别作为iPhone 5s上的"杀手级"功能早已为人们所熟知,目前搭载的设备有iphone SE.iPh ...
- 【代码笔记】iOS-圆角矩形
代码: - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. se ...
- iOS--UIAlertView与UIAlertController和UIAlertAction之间的事儿
iOS 8的新特性之一就是让接口更有适应性.更灵活,因此许多视图控制器的实现方式发生了巨大的变化.全新的UIPresentationController在实现视图控制器间的过渡动画效果和自适应设备 ...
- IOS RunLoop浅析 一
RunLoop犹如其名循环. RunLoop 中有多重模式. 在一个“时刻”只能值执行一种模式. 因此在使用RunLoop时要注意所实现的效果有可能不是你想要的. 在这里用NSTimer展示一下Run ...
- Python之Mac上搭建集成开发环境
首先下载一个东西: 找到下载地址:https://download.jetbrains.8686c.com/python/pycharm-professional-2016.2.1.dmg pycha ...