2

我创建了一个自定义 Spring 命名空间。就正确部署等而言,它工作正常,但 Intellij 没有验证tool:expected-typebean 引用上的注释(即我可以引用任何类型的 bean,并且 Intellij 没有按应有的红色突出显示该属性),也没有提供这些引用的任何自动完成。

其他tool功能似乎工作正常,例如tool:exports.

Intellij 识别我的模式,并提供除预期类型参考之外的所有其他自动完成功能。

选择命令时,Intellij 还成功地将自定义元素解析为各种所需的 bean Parse custom bean

这是我想要的精简版,但这是我目前正在尝试的:

<xsd:element name="routed-channel">
    <xsd:annotation>
        <xsd:appinfo>
            <tool:annotation>
                <!-- This part works - other bean refs that require a MessageChannel can reference this channel -->
                <tool:exports type="org.springframework.integration.core.MessageChannel" />
            </tool:annotation>
        </xsd:appinfo>
    </xsd:annotation>
    <xsd:complexType>
        <xsd:sequence>
            <xsd:element name="recipient" minOccurs="1" maxOccurs="unbounded">
                <xsd:complexType>
                    <xsd:attribute name="channel" type="xsd:string" use="required">
                        <xsd:annotation>
                            <xsd:appinfo>
                                <tool:annotation kind="ref">
                                    <!-- This part does not work - IntelliJ allows a any reference here -->
                                    <tool:expected-type type="org.springframework.integration.core.MessageChannel" />
                                </tool:annotation>
                            </xsd:appinfo>
                        </xsd:annotation>
                    </xsd:attribute>
                </xsd:complexType>
            </xsd:element>
        </xsd:sequence>
        <xsd:attribute name="id" type="xsd:string" use="required"/>
    </xsd:complexType>
</xsd:element>

我正在使用 IntelliJ IDEA v11.1.3。

如果任何人都可以提供一些关于可能出现问题或如何修复它的线索,那就太好了。

4

2 回答 2

1

这是 Intellij bugbase中的相关错误报告:http://youtrack.jetbrains.com/issue/IDEA-87187

于 2012-12-10T12:41:48.953 回答
0

我升级到 IntelliJ 12,这不再是问题。所以答案是:升级 IntelliJ!

于 2013-09-16T03:29:35.790 回答