基于XSD的自动完成 - 我是否也可以看到有用的注释?

时间:2013-11-18 08:29:15

标签: xml eclipse visual-studio netbeans autocomplete

我编写了一个解析.xml文件并生成各种输出的程序。 .xml文件基本上是特定于域的语言,它简洁地表示生成的参数。我还创建了相关的.xsd模式 - 它为代码生成器的用户提供了大多数主要IDE中的自动完成功能:Visual Studio(即使在免费的快速版本中) - Eclipse,NetBeans等。

例如,当我的用户输入“< Report”并点击 Ctrl - Space 时,他们会看到可用的属性及其类型:

<Report (Ctrl-space)
   fontHeightInDots:xsd:integer
   isLandscape:xsd:boolean
   ...

...等 - 即,IDE显示文件中特定位置的可用选项(元素/属性)。这极大地有助于创建上述.xml文件,特别是考虑到编辑的一些人是分析师,而不是开发人员。

在上面显示的两个示例属性中,很清楚每个属性的用途(我使用了冗长的名称)。但是,在其他情况下,名称是不够的 - 如果我能在.xsd中提供一种“帮助字符串”,我希望它能够在自动完成建议显示期间编辑者显示在属性描述旁边。 ..例如,对于属性“height”,我会喜欢.xsd中的“helpstring”:

<xsd:attribute name = "height" helpstring="Height of the associated field macro-flobber in foobared units" use = "optional">
    <xsd:simpleType>
        <xsd:restriction base = "xsd:integer">
            </xsd:restriction>
         </xsd:simpleType>
    </xsd:attribute>

...并在自动完成建议出现时让IDE显示帮助字符串

现代IDE中是否有类似的支持.xsd / .xml?

1 个答案:

答案 0 :(得分:2)

通常使用<xsd:annotation><xsd:documentation>作为帮助字符串,以便IDE显示它。对于您的示例,它看起来像

<xsd:attribute name = "height" use = "optional">
    <xsd:annotation>
        <xsd:documentation>Height of the associated field macro-flobber in foobared units</xsd:documentation>
    </xsd:annotation>
    <xsd:simpleType>
        <xsd:restriction base = "xsd:integer">
        </xsd:restriction>
     </xsd:simpleType>
</xsd:attribute>

至少Visual Studio会在自动完成弹出窗口中显示它。