如何关闭Atom中的代码段?

时间:2014-09-23 08:04:46

标签: configuration code-snippets atom-editor

我最近开始使用Atom。我遇到的一个问题是为Ruby定义了太多/不明确的片段。这会使标签更糟糕,因为您有时会获得一些不相关的代码而不是您想要的名称。我想知道如何关闭语言Ruby中的特定片段"包,或没有关闭所有片段。最好不要完全禁用Ruby包。

3 个答案:

答案 0 :(得分:3)

可悲的是,目前还没有针对此类内容的内置功能。<​​/ p>

在将一些过滤器功能添加到代码段软件包之前,访问代码段的唯一方法是从init脚本中修补软件包。

例如,类似的内容将允许您在运行时过滤为给定编辑器返回的片段:

# we need a reference to the snippets package
snippetsPackage = require(atom.packages.getLoadedPackage('snippets').path)

# we need a reference to the original method we'll monkey patch
__oldGetSnippets = snippetsPackage.getSnippets

snippetsPackage.getSnippets = (editor) ->
  snippets = __oldGetSnippets.call(this, editor)

  # we're only concerned by ruby files
  return snippets unless editor.getGrammar().scopeName is 'source.ruby'

  # snippets is an object where keys are the snippets's prefixes and the values
  # the snippets objects
  console.log snippets

  newSnippets = {}
  excludedPrefixes = ['your','prefixes','exclusion','list']

  for prefix, snippet of snippets
    newSippets[prefix] = snippet unless prefix in excludedPrefixes   

  newSnippets

答案 1 :(得分:0)

来自atom discussion board

有两个软件包:snippetsautocomplete-snippets,您可以从settings-view软件包标签中禁用它们。 autocomplete-snippets是将代码段添加到autocomplete +建议中的软件包。

答案 2 :(得分:0)

我也受到 Atom 中代码片段过载的困扰。虽然我找不到在设置中关闭代码片段的方法,但我现在找到了一个可行的解决方案。

在自定义片段文件(Mac 菜单:Atom > Snippets...)中,在片段的前缀属性前面加上一些字母。这样它们总是被排序到自动完成列表的顶部。我选择了字母“aa”。

Ember 片段示例:

"Dirk's Label & Input":
    'prefix': 'aaLabel & Input'
    'body': """
        <label>
            $1
            <Input
                @type='text'
                @value={{this.$2}}
            />
        </label>
    """

现在,当我输入 aa 时,我的所有片段都会首先显示... ;-)