mac上一保存脚本挂着的脚本全部丢失

@dumganhar @jare @擎开发团队
项目在windows上开发 然后上传到svn上,mac从svn把项目checkout下来,打开用vscode打开脚本,一保存,编辑器里面就会显示所有的脚本已经丢失,重新打开编辑器就好了,但是只要vscode一保存脚本所有挂着的脚本全丢失了 版本1.9.1 只有我这个项目这样,其他没上传到svn的项目 网上载的一些项目都是好的,而且我这个项目cc.下面的代码提示也莫名的不见了 各种奇怪的问题

@dumganhar @jare @擎开发团队

这个问题好久了,请问有解决吗?
在 mac 下 ,用 vscode 打开脚本修改后,回到编辑器所有脚本就丢失了. 关闭编辑器重新打开又好了

我们测试很难复现这类问题,你这边如果可以复现,提供下工程!感谢~

已经私信你 复现工程了 . 麻烦测一下

我之前遇到 是因为部分js代码有问题 在windows中没有报错,mac下也不会报错,但是有那几句代码就会导致这个问题,删了几句代码就没问题了。

有可能,但是因为没有报错.根本找不到


if (!Array.indexOf) {
    Array.prototype.indexOf = function (obj) {
        for (var i = 0; i < this.length; i++) {
            if (this[i] == obj) {
                return i;
            }
        }
        return -1;
    }
}

cc.Class({
    extends: cc.Component,

    properties: {
        label: {
            default: null,
            type: cc.Label
        },
        // defaults, set visually when attaching this script to the Canvas
        text: 'Hello, World!'
    },

    // use this for initialization
    onLoad: function () {
        this.label.string = this.text;
    },

    // called every frame
    update: function (dt) {

    },
});

新建 HelloWorld 工程. 在HelloWorld.js 开头处 添加

if (!Array.indexOf) {
    Array.prototype.indexOf = function (obj) {
        for (var i = 0; i < this.length; i++) {
            if (this[i] == obj) {
                return i;
            }
        }
        return -1;
    }
}

然后重新加载界面,手动编译脚本, 发现 helloworld.fire 上绑定的脚本 丢失. 并且 没有报错.

不要把代码放到全局,这个是建议!如果你能放到class的start函数里,就放到start函数里。

主要问题是 这一段代码放到全局,编辑器环境报错了,但是没有任何提示 . 如果不是一段段代码检查的话根本不知道原因.

if (!Array.indexOf) {
    Array.prototype.indexOf = function (obj) {
        for (var i = 0; i < this.length; i++) {
            if (this[i] == obj) {
                return i;
            }
        }
        return -1;
    }
}