抑制Sublime Text 3插件中的默认完成

时间:2014-06-12 05:53:07

标签: python sublimetext3 sublime-text-plugin

我正在尝试在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文件中?

1 个答案:

答案 0 :(得分:0)

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

要做到这一点,您只需要一个与要替换的文件具有相同名称和相对路径的文件,只需要它与您的设置目录相关,而不是安装目录。因此,如果我想在Windows上替换python“for”-snippet,我会创建一个新文件

_

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