我最近开始使用Atom。我遇到的一个问题是为 Ruby 定义了太多/模棱两可的片段。这使制表符补全变得更糟,因为您有时会得到一些不相关的代码而不是您想要的名称。我想知道如何关闭“Language Ruby”包中的特定片段,或者无法关闭所有片段。最好不要完全禁用 Ruby 包。
问问题
1807 次
3 回答
3
可悲的是,目前这种东西没有内置功能。
在将某些过滤器功能添加到片段包之前,访问片段的唯一方法是从您的 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
于 2014-09-26T13:13:52.393 回答
0
来自原子讨论板:
有两个包:您可以从设置视图包选项卡中禁用
snippets
。是将片段添加到自动完成+建议的包。autocomplete-snippets
autocomplete-snippets
于 2020-03-10T14:23:16.633 回答
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 时,我的所有片段都会首先显示... ;-)
于 2021-04-21T17:01:22.650 回答