有没有人在xtext中有一个定制的重命名重构示例?
我想它必须类似于定制的语法高亮显示,绑定一些类覆盖一些实现,然后通过要重命名的EObjects爬行。
但我不知道从哪里开始,有谁想过吗?或者甚至有人已经在xtext中实现了自定义的重命名重构?
亲切的问候,
示例:如果我重命名规则的ruleName,也要重命名RuleReference的ruleReferenceName
Rule:
ruleName=(RuleName)':' ruleContent=RuleContent ';'
;
RuleContent:
ruleReferences+=RuleReference
;
RuleReference:
ruleReferenceName=RuleName (cardinality=Cardinality)?
;
RuleName:
value=RuleReferenceNameTerminal
;
发布于 2013-12-02 07:55:01
我想我最初计划做的不是xtext重命名重构。因此,我再次仔细研究了交叉引用概念。我之前尝试过通过交叉引用重命名,但无意中发现我没有定义"ID“终端。解决我的问题的是让交叉引用知道它应该使用哪个终端规则,并在正确的位置设置name-属性。
下面是语法应该像我希望的那样进行重命名重构工作的样子(注意方括号和name属性)。根本不需要任何约束和覆盖。
Rule:
ruleName=(RuleName)':' ruleContent=RuleContent ';'
;
RuleContent:
ruleReferences+=RuleReference
;
RuleReference:
ruleReferenceName=[RuleName | RuleReferenceNameTerminal] (cardinality=Cardinality)?
;
RuleName:
name=RuleReferenceNameTerminal
;
重要的是要知道,方括号之间的“AC.26”不是一个替代方法。
https://stackoverflow.com/questions/20279758
复制相似问题