【问题标题】:Basic Sublime Text Plugin Development: view.run_command('example') does not work基本 Sublime Text 插件开发:view.run_command('example') 不起作用
【发布时间】:2014-07-05 07:11:16
【问题描述】:

我正在尝试使用 Will Bond 的指南来创建 Sublime Text 插件 (http://code.tutsplus.com/tutorials/how-to-create-a-sublime-text-2-plugin--net-22685)。

指南的第 1 步说使用以下代码创建一个默认插件:

import sublime, sublime_plugin

class ExampleCommand(sublime_plugin.TextCommand):
    def run(self, edit):
        self.view.insert(edit, 0, "Hello, World!")

这个插件被保存为 Prefixr.py 在:

Sublime_Text_3_Location/Packages/Prefixr

然后我在 Sublime Text 控制台中输入以下命令:

view.run_command('example')

这应该插入“你好,世界!”在我当前查看的文件的开头。

但是,当我输入命令时,什么也没有发生。没有“你好,世界!”出现在我的文件中。重新启动 Sublime Text 并不能修复它。从不同的文件运行命令也不行。

知道为什么该命令不起作用吗?

【问题讨论】:

  • 在 Win7 上使用 ST3 对我来说效果很好。我将文件保存在Packages/User,因为这是自定义插件的首选位置。
  • 您保存文件的位置的完整路径是什么?您可能将其保存在错误的目录中。
  • 我相信我已经发现了我的错误。发生了两件事。 1) 我错误地将插件文件夹保存在 Packages/User 文件夹中。 Sublime 显然不会深入搜索插件。 2) 即使我将插件文件夹保存在 Packages 文件夹的较高位置,插件代码中的任何拼写错误都会导致插件无法运行,但不会显示错误提示错误。总而言之,我通过将我的插件文件夹保存在 Packages 文件夹下并确保我的插件代码没有拼写错误来解决了这个问题。
  • 绝对应该在Packages/User 文件夹中搜索。它不会搜索比这更深的东西,但它应该找到例如Packages/User/example.py。至于错别字,错别字从来都不是好事,而且几乎总是把代码中的所有东西都搞砸了。不要打错字。每次加载/重新加载插件时,它应该在 Sublime 控制台中显示一条消息,如果插件中有任何拼写错误,它应该打印出错误消息。

标签: sublimetext2 sublimetext sublimetext3 sublime-text-plugin


【解决方案1】:

我相信一开始这对我不起作用,因为在这个“之前”还有一些其他插件试图导入我的 ST3 Win7 实例不喜欢的“sublimePlugin”。我必须导入“sublime_plugin”。

【讨论】:

    【解决方案2】:

    我知道这已经很老了,但是我遇到的另一个愚蠢的错误是,当我保存文件时,我不小心将它保存为 py3 文件而不是 py 文件,呵呵!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-08-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-23
      • 1970-01-01
      相关资源
      最近更新 更多