Pydev 没有字符串参数的悬停文本
Pydev No Hover Text for String arguments
我正在构建一个 RCP 应用程序作为自定义域的 IDE。我们在该领域所做的其中一件事是编写 python 脚本,这些脚本使用已包装为 python 函数的特定于领域的命令。我实现了与 PyDev 集成的悬停文本支持,因此如果有任何特定于域的悬停文本可用,它会调用自定义 ITextHover
而不是 PyDev 的。
我有这个工作,但我发现如果我有一个函数的字符串文字参数,getTextHover()
方法永远不会在 IHoverText
实例上调用。我将此行为追溯到 PyEditConfiguration
.
中 getConfiguredDocumentPartitioning
提供的分区实现
有没有一种方法可以使用 PyDev 的分区方案但以某种方式覆盖上述行为,以便为字符串文字参数调用 getTextHover()
?我在首选项中没有看到任何内容,并且尝试遵循 PyDev 源代码中的实现没有成功。
编辑:将 TextSourceViewerConfiguration#getConfiguredDocumentPartitioning()
覆盖到 return IPythonPartitions.PY_DEFAULT
解决了问题。但是我不确定 return 这样做而不是 IPythonPartitions.PYTHON_PARTITION_TYPE
的含义是什么,这是 PyEditCOnfigurationWithoutEditor
.
提供的行为
你不应该改变你改变的东西...
正确的方法是更改 PyDev 本身以支持您的用例。
您应该提供您的 IPyHoverParticipant(而不是做您自己的文本悬停)并为 PyDev 创建拉取请求,以便悬停在 comments/strings 中工作(即:跳过 "if (!pythonCommentOrMultiline) {" 在 org.python.pydev.editor.hover.PyTextHover.getHoverInfo(ITextViewer, IRegion) 如果您的悬停实现了 IPyHoverParticipant2)。
我正在构建一个 RCP 应用程序作为自定义域的 IDE。我们在该领域所做的其中一件事是编写 python 脚本,这些脚本使用已包装为 python 函数的特定于领域的命令。我实现了与 PyDev 集成的悬停文本支持,因此如果有任何特定于域的悬停文本可用,它会调用自定义 ITextHover
而不是 PyDev 的。
我有这个工作,但我发现如果我有一个函数的字符串文字参数,getTextHover()
方法永远不会在 IHoverText
实例上调用。我将此行为追溯到 PyEditConfiguration
.
getConfiguredDocumentPartitioning
提供的分区实现
有没有一种方法可以使用 PyDev 的分区方案但以某种方式覆盖上述行为,以便为字符串文字参数调用 getTextHover()
?我在首选项中没有看到任何内容,并且尝试遵循 PyDev 源代码中的实现没有成功。
编辑:将 TextSourceViewerConfiguration#getConfiguredDocumentPartitioning()
覆盖到 return IPythonPartitions.PY_DEFAULT
解决了问题。但是我不确定 return 这样做而不是 IPythonPartitions.PYTHON_PARTITION_TYPE
的含义是什么,这是 PyEditCOnfigurationWithoutEditor
.
你不应该改变你改变的东西...
正确的方法是更改 PyDev 本身以支持您的用例。
您应该提供您的 IPyHoverParticipant(而不是做您自己的文本悬停)并为 PyDev 创建拉取请求,以便悬停在 comments/strings 中工作(即:跳过 "if (!pythonCommentOrMultiline) {" 在 org.python.pydev.editor.hover.PyTextHover.getHoverInfo(ITextViewer, IRegion) 如果您的悬停实现了 IPyHoverParticipant2)。