【发布时间】:2020-04-16 17:35:59
【问题描述】:
我正在为 Sublime Text 3 制作一个插件。它用 Java 联系我的服务器并以字符串列表的形式接收响应。我希望在您按下组合键时出现一个弹出窗口,您可以在其中查看所有线路选项并复制所需的选项。我找到了一个如何为一行 (Github) 执行此操作的示例,但我不明白如何为多行修改此操作(当然还有几个“复制”按钮)。应该是这样的:
TEXT1 - 复制
TEXT2 - 复制
TEXT3 - 复制
...
以下是在弹出窗口中显示范围名称的插件代码:
import sublime
import sublime_plugin
def copy(view, text):
sublime.set_clipboard(text)
view.hide_popup()
sublime.status_message('Scope name copied to clipboard')
class ShowScopeNameCommand(sublime_plugin.TextCommand):
def run(self, edit):
scope = self.view.scope_name(self.view.sel()[-1].b)
html = """
<body id=show-scope>
<style>
p {
margin-top: 0;
}
a {
font-family: system;
font-size: 1.05rem;
}
</style>
<p>%s</p>
<a href="%s">Copy</a>
</body>
""" % (scope.replace(' ', '<br>'), scope.rstrip())
self.view.show_popup(html, max_width=512, on_navigate=lambda x: copy(self.view, x))
【问题讨论】:
标签: python sublimetext3 sublime-text-plugin