gpt4 book ai didi

python - Sublime 的文档,示例不工作,一个 python 错误然后另一个

转载 作者:太空宇宙 更新时间:2023-11-04 10:42:57 25 4
gpt4 key购买 nike

查看 sublime 插件示例的文档(我用谷歌搜索的内容)我得到了 . a link from the sublime site

首先,我遇到了无模块错误“ImportError: No module named sublimeplugin”,行 import sublime, sublimepluginclass Rot13Command(sublimeplugin.TextCommand):虽然运行 view.run_command('rot13') 尽管有错误但仍然有效(或者更早执行但现在不执行)。

然后我添加了一个 _ 因为我在他们的论坛(不是特别活跃)上看到它现在应该有一个下划线 link .

然后,就摆脱了“没有模块...”的错误

但是当我在控制台中输入此命令时 - view.run_command('rot13')我收到此错误 "TypeError: run() takes exactly 3 arguments (2 given)"

下面是我的代码刚从该链接中提取但添加了下划线,我该如何修复该错误?

http://www.sublimetext.com/docs/plugin-examples
CODE: SELECT ALL
import sublime, sublime_plugin

class Rot13Command(sublime_plugin.TextCommand):
def run(self, view, args):
for region in view.sel():
if not region.empty():
# Get the selected text
s = view.substr(region)
# Transform it via rot13
s = s.encode('rot13')
# Replace the selection with transformed text
view.replace(region, s)

最佳答案

文档似乎符合原始 Sublime Text API ,而不是 Sublime Text 2 API .
打印提供给 run 的参数,显然既没有传递 view 也没有传递 args。相反,它收到一个单独的 Edit 对象。

import sublime, sublime_plugin

class RotCommand(sublime_plugin.TextCommand):
def run(self, *args):
for arg in args:
print type(arg)

#later, in the console:
>>> view.run_command('rot')
<class 'sublime.Edit'>

幸运的是,您仍然可以访问 view 对象。它是 self 的成员。在进行更改时,将 edit 参数添加到 view.replace

class RotCommand(sublime_plugin.TextCommand):
def run(self, edit):
for region in self.view.sel():
if not region.empty():
# Get the selected text
s = self.view.substr(region)
# Transform it via rot13
s = s.encode('rot13')
# Replace the selection with transformed text
self.view.replace(edit, region, s)

运行 view.run_command('rot') 现在会翻译您选择的文本。 hello I am some sample text 变成 uryyb V nz fbzr fnzcyr grkg

关于python - Sublime 的文档,示例不工作,一个 python 错误然后另一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19389775/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com