设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2935|回复: 5
打印 上一主题 下一主题

[原创发布] IDE:Webstorm无法正确解析RMMV脚本继承关系的修复方式

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1289
在线时间
127 小时
注册时间
2017-1-14
帖子
93

开拓者

跳转到指定楼层
1
发表于 2017-6-29 06:57:26 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 怠惰な騎士 于 2017-7-8 16:24 编辑

2017-7-8 16:13:07 更新:

今天在1.5的rmmv js源码中发现,使用jsdoc的@extends来标记构造函数同样可以标记继承关系。

如下:
JAVASCRIPT 代码复制
  1. /**
  2.  * @class Scene_Map
  3.  * @extends Scene_Base
  4.  * @constructor
  5.  */
  6. function Scene_Map() { /* code here */ }


------------------------------------------------------------------------------------------------------------------------------------------

WebStorm(10.0)直接解析RPG Maker MV的源代码(rpg_xxxx.js)时,无法正确解析这些类的继承关系。
即WebStorm无法检测使用如下写法撰写的类继承规则:

  Window_Child.prototype = Object.create(Window_Parent.prototype)

因为这种写法不符合js编写规范。(由 shi ta ke 补充)(参见3楼,shi ta ke用户名全称会被过滤无法直接@

在一次巧合中发现直接通过创建一个名字中含有extend的“不做任何动作”的函数来触发WebStorm的类继承检测机制。

函数声明:

  function __intellijHelper_extend(child, parent) {}

应用方式:

  __intellijHelper_extend(Window_Child, Window_Parent);

完成此步骤后,便可以正常使用WebStorm的类导航功能,并在开发中准确知道当前子类是否重写了父类的某个方法。
通过建立完善的类继承关系并配合使用jsdoc,可以使得IDE对项目代码的解析更精准,从而更准确协助基于RMMV的项目的代码开发。

实际代码与效果:





Lv3.寻梦者

梦石
0
星屑
1409
在线时间
962 小时
注册时间
2012-4-30
帖子
1475

开拓者

4
发表于 2017-6-29 16:50:40 | 只看该作者
有点意思,就是字体有点玄幻
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
4598
在线时间
1206 小时
注册时间
2016-4-7
帖子
982

开拓者

3
发表于 2017-6-29 11:03:59 手机端发表。 | 只看该作者
这哪里是jb的bug 你们不按规范写,有问题还要怪ide咯
js 无论是 es6/es5 都没这种面向对象写法
rmmv的代码在webstorm上还有个蛋疼的问题就是类初始化函数的jsdoc作用不能

点评

顺带都提了“规范”了,不考虑撸个帖子科普一下吗  发表于 2017-6-29 11:22
不是“你们”,是“RMMV”,233  发表于 2017-6-29 11:21
附庸的附庸不是我的附庸,女儿的女儿还是我的女儿。CK2沉迷ing
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
42817
在线时间
7619 小时
注册时间
2009-7-6
帖子
13506

开拓者贵宾

2
发表于 2017-6-29 09:53:35 | 只看该作者
有点意思,就是字体有点玄幻
RGDirect - DirectX驱动的RGSS,点我了解.
RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-12-31 03:38

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表