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上新建的文件,则没有这 ...
随机推荐
- cursor.MySQLCursorDict Class
5.9.6.4 cursor.MySQLCursorDict Class The MySQLCursorDict class inherits from MySQLCursor. This class ...
- Cursor的用法
文章主要来自于::::http://www.cnblogs.com/TerryBlog/archive/2010/07/05/1771459.html 主要为了自己学习方便,侵删!!!! 使用过 SQ ...
- c#中奖算法的实现
算法名称 Alias Method public class AliasMethod { /* The probability and alias tables. */ private int[] _ ...
- Lind.DDD.Events事件总线~自动化注册
回到目录 让大叔兴奋的自动化注册 对于领域事件之前说过,在程序启动时订阅(注册)一些事件处理程序,然后在程序的具体位置去发布(触发)它,这是传统的pub/sub模式的体现,当然也没有什么问题,为了让它 ...
- 如何使用grunt压缩js文件
jQuery在使用grunt,bootstrap在使用grunt,百度UEditor在使用grunt,你没有理由不学.不用! 1. 前言 各位web前端开发人员,如果你现在还不知道grunt或者听说过 ...
- Mvc与WebForm优缺点及Mvc的使用
关于Mvc与WebForm的优缺点在网上的评论可谓不胜枚举,但脱离了我们的项目来谈这些意义就不大了.以我们这次改版来看,WebForm的优势有以下几点: 一,可以使用<#include>, ...
- jQuery - 全国省市县三级联动
最近有空用jquery做了一个全国省市县的三级联动,在以后或许可以用的到 ,遗憾的是我还没用封装,等有空看能不能封装成一个插件 废话不多说,贴上代码: <!doctype html> &l ...
- TableViewCell重影问题
UITableView继承自UIScrollview,是苹果为我们封装好的一个基于scroll的控件.上面主要是一个个的UITableViewCell,可以让UITableViewCell响应一些点击 ...
- Hadoop系列教程<一>---Hadoop是什么呢?
Hadoop适合应用于大数据存储和大数据分析的应用,适合于服务器几千台到几万台的集群运行,支持PB级的存储容量.Hadoop典型应用有:搜索.日志处理.推荐系统.数据分析.视频图像分析.数据保存等.但 ...
- ORA-12516:TNS:listener could not find available handler with matching protocol stack
应用程序连接测试数据库时报ORA-12516:TNS:listener could not find available handler with matching protocol stack 检查 ...