关于项目里配套资源产生的 meta 文件的讨论

原来vs code就是最终解决方案,好的,确实使用得可以。。我之前一眼扫过去以为是要用VS那个大编辑器编写代码,原来这是一个轻量的编辑器。。。这个解决方案可以。

嗯,代码的meta文件,vscode里面直接过滤就行了。还有文件名跳转和各种自定义snippets让VSCode无比好用,所以官方真的没有必要再花精力去搞内置编辑器,在这一点上官方团队的选择是对的。自从用了vscode两天以后,sublime已经被我卸了。

文本编辑器里都可以设置过滤条件的,以sublime为例,在 user settings 里添加

	"file_exclude_patterns": 
	[
		"*.meta"
	]
1赞

这么贴心,还帮我找了sublime的过滤方法~~~好的,谢谢,这个我觉得应该放在官方文档上面让更多的人知道,我相信有很多之前用lua的都是用这个编辑器的

不过既然你们都改了标题了,那我就来讨论一下这个meta文件的问题

我曾经让我弟用这个编辑器,他不是做游戏开发的,但是也是做游戏的,是游戏汉化,日翻加美工,所以绝对会PS但是是零程序基础,他使用这工具的时候是感觉一看到代码心情就低落,因为会被程序员笑话不懂程序,然后自己也会感觉自己什么都不懂,这就是单纯一个美术来用这个工具的用后感,所以,要想用好这个工具的美术,我看还是需要一点点的要求的。这是题外话。。

然后这个meta文件我觉得着实不应该到处放的,你们没考虑到真开发游戏后的人的感受,虽然后期可以打包图集,打包代码什么的,但是正在开发的时候呢?肯定要忍受打开系统资源管理器的时候面对double count的文件数量,这其中就包含了一个过滤任务,就是用开发者的人脑来过滤这些meta文件,这样的体验一定是不好的。。

我听了你们上面的解释,这是工具实现实时监测文件变化的一种技术手段,但是这种技术手段其实比较初级吧,我也是怕你们没什么精力去做太多事情,所以就不讨论太多,但是居然帮我改了标题,那我就讨论了。

至于解决方案,我的思考是这样:
可以做一个映射的方法,把meta的内容集中到其他地方,但是怎么实现我是完全不知道怎么讨论,你们的招你们自己想法吧,我只提供讨论,就举一个实例,sublime这个工具,假设我正在打开sublime中,正在开着某个文本文件,然后我用其它文本工具例如nodepad++,改了我在sublime正在打开的文件,那么我一切回sublime那也是一样会刷新成最新的改动结果。。那这个实现的效果不就是和你们的工具是一样的吗??那问题来了,sublime并没有加额外的东西给他的用户吧。。他的技术完全隐含了起来,完全让你感觉不到技术的存在了。。。。

1赞

我现在考虑将 meta 文件设为隐藏

文本编辑器里都是按照路径索引的,不存在类似数据库的映射需要,这类索引当然可以轻松实现无附加管理,但是想想你重构代码的时候改了一个文件的路径,然后就必须靠人肉全局搜索来修正所有代码引用里这个文件的路径。而 creator 的资源就没这个问题,只要你在资源管理器里修改,或者文件和 meta 同步修改,不管怎么改名、移动,引用都不会丢失

meta 主要是为了解决关闭编辑器后,文件在外部进行修改,移动操作时的索引问题。sublime 是一直开着编辑器的,没有可比性。

赞一个,标记一下。

我们可能有点土,只用本地svn工具,如果外部文件修改,都是主动去刷新;运行结果不对,也会去主动刷新。
说实话,为了同步外部编辑器修改,增加meta,代价有点大!

sublime 可以屏蔽特定格式的文件

求教如何通过prefab里的__type__关联到对应js文件的meta里的uuid,现在知道uuid通过base64转成__type__但是这个应该不存在反向还原的吧,那是如何通过__type__关联到这个js的uuid的呢?

感觉可以加一个文件夹. 同步映射assets的结构.
meta 存那个文件夹. 然后那个文件夹也需要版本管理

前面讨论过了,请看一下 11 楼附近,请不要重复发表一样的观点

我记得unity3d,创建出来的.meta默认是隐藏状态的。
但是可以被git.svn工具纳入版本控制

7 楼已经解释过为什么不隐藏了,请先看看前面的讨论,不要重复声明一样的观点。

个人看法,功能上需要,道理上说的通,但是这种增加一倍文件的方式给人的感觉真的很糟糕

习惯就好了,unity也是这种方式的。如果你不喜欢,可以试试用cocos2dx

@jare 要是改这个太困难,把资源管理器改成大图标也好啊,树形组件找素材真的太麻烦

vscode是个神器,设置隐藏扩展名meta文件,你就看不到了,只是看不到,并没有删除,眼不见为净
清爽不

1赞

请问,团队协作时,其他人添加了资源文件,并且上传了.meta文件,我这边从git上更新下来后,一打开cocos creator 就会产生meta文件的修改,丢弃修改后,打开cocos还是会产生
这种情况是怎么产生的呢?我需要把这些改动提交上去吗?