使用monaco-editor v0.14.3,我们基于JSON模式设置了JSON编辑器,如下所示:
monaco.languages.json.jsonDefaults.setDiagnosticsOptions(
{
validate: true,
allowComments: true,
schemas:
[
{
uri: "https://server/schema.json",
fileMatch: ["*.json"],
schema: schema
}]
});
其中schema
是一个JSON模式对象,为此模式中的每个属性都定义了description
属性。这个description
属性包含一些HTML标记,当将鼠标悬停在JSON编辑器上时,该description
的显示没有解释HTML标记,它显示了类似“此属性定义 …”。
我们朝着monaco.languages.registerHoverProvider()
方法的方向看,以便自己提供悬停文本,但是无法访问默认的悬停机制,该机制会计算默认的JSON模式属性,以便对其进行自定义并将HTML转换为Markdown:是否可以访问与悬浮文本相关的JSON模式中的description
?
此外,当使用Markdown或HTML修改JSON模式description
属性时,内置的悬停功能会继续将此字段解释为原始文本:是否可以强制默认悬停系统将其解释为降价还是HTML?
答案 0 :(得分:2)
感谢the guys from Monaco,有一个名为markdownDescription
的未记录属性,JSON语言服务使用该属性代替了description
。这不是标准的,但是可以。