在插件中如何做到“关闭工程重新打开”的效果?
在插件中如何做到“关闭工程重新打开”的效果?
或者说能实现重新加载所有Package的效果。
例如SVN更新时,更新了一些新增的包内资源,例如图片、组件等。
但此时若不重新打开工程,直接执行刷新,则可能会为其他人已添加的资源分配新的ID,导致package.xml冲突。
我先尝试了App.CloseProject,希望通过关闭项目来提醒使用人员重新打开项目,但这个函数在插件中调用会导致编辑器直接卡死后闪退,包括App.OpenProject。
应该是关闭的时候清理掉了js运行环境,导致命令执行后调用栈回不去了,于是导致崩溃。
随后我也我尝试了FPackage的Dispose函数,Dispose后该Package的opened属性会变为false,再Open这个Package后,opened就会变回true。或者也可以对FProject执行Dispose。
这个方法确实可以让更新下来的内容显示在资源库中了,但是所有的缩略图都会变得不正常,添加到component中也无法正常显示。
最终还是要重新打开工程才能恢复正常。
我猜测也许还需要搭配使用其他函数来实现效果,但仅通过函数名称确实无法做出什么推测了,还请谷主指教。
或者说能实现重新加载所有Package的效果。
例如SVN更新时,更新了一些新增的包内资源,例如图片、组件等。
但此时若不重新打开工程,直接执行刷新,则可能会为其他人已添加的资源分配新的ID,导致package.xml冲突。
我先尝试了App.CloseProject,希望通过关闭项目来提醒使用人员重新打开项目,但这个函数在插件中调用会导致编辑器直接卡死后闪退,包括App.OpenProject。
应该是关闭的时候清理掉了js运行环境,导致命令执行后调用栈回不去了,于是导致崩溃。
随后我也我尝试了FPackage的Dispose函数,Dispose后该Package的opened属性会变为false,再Open这个Package后,opened就会变回true。或者也可以对FProject执行Dispose。
这个方法确实可以让更新下来的内容显示在资源库中了,但是所有的缩略图都会变得不正常,添加到component中也无法正常显示。
最终还是要重新打开工程才能恢复正常。
我猜测也许还需要搭配使用其他函数来实现效果,但仅通过函数名称确实无法做出什么推测了,还请谷主指教。
没有找到相关结果
已邀请:
2 个回复
misakacirno
赞同来自:
dotlive
赞同来自: