【问题标题】:Suppress Default Completions in Sublime Text 3 Plugin抑制 Sublime Text 3 插件中的默认完成
【发布时间】:2014-06-12 05:53:07
【问题描述】:

我正在尝试在 Sublime Text 3 中创建一个完成文件。我创建了一个名为 my_css_completions.py 的文件并将其放在 Sublime Text 3/Packages/User 中。它包含这个。

import sublime
import sublime_plugin


properties = {
    'foo',
    'bar',
}

class CSSCompletions(sublime_plugin.EventListener):
    def on_query_completions(self, view, prefix, locations):
        if not view.match_selector(locations[0], 'source.css'):
            print('not css')
            return []

        completions = []
        for prop in properties:
                completions.append((prop, prop+': $1;'))

        return (completions, sublime.INHIBIT_WORD_COMPLETIONS | sublime.INHIBIT_EXPLICIT_COMPLETIONS)

我一直试图让my_css_completions.py 覆盖或抑制默认完成,但结果是我的完成与默认完成一起添加。有没有办法只让我的完成显示在 CSS 文件中?

【问题讨论】:

    标签: python sublimetext3 sublime-text-plugin


    【解决方案1】:

    Sublime 软件包只是包含该软件包所有文件的档案。 Sublime Text 允许您覆盖单个文件,替换它们的默认行为。 (虽然不是单独的完成,为此,我建议复制完成文件并仅更改您想要更改的那些

    为此,您只需要一个与您要替换的文件具有相同名称和相对路径的文件,只是它相对于您的设置目录,而不是安装目录。因此,如果我想在 Windows 上替换 python "for"-sn-p,我会创建一个新文件

    %appdata%\Sublime Text 3\Packages\Python\Snippets\for.sublime-snippet
    

    包“PackageResourceViewer”是一个很好的帮手。使用“PackageResourceViewer: Open Resource”命令,您可以浏览包,打开您需要的任何文件,保存后它们将自动保存到正确的位置以覆盖默认文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-02
      • 1970-01-01
      • 2017-10-13
      • 2014-01-26
      • 2013-12-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多