atom包:可选择加载片段文件

时间:2016-05-16 07:53:48

标签: package atom-editor

为atom创建语言包时,可以定义/snippets文件夹。当包处于活动状态并且在编辑器中打开上下文(例如:".source.js")时,此处的所有文件都会自动加载。

现在我想参与language-arma-atom包,目前有3个片段文件:我想在包设置中添加一个复选框选项,以便不加载其中一个文件。

ie:我知道如何添加该选项,但不知道如何排除其中一个代码段文件。

1 个答案:

答案 0 :(得分:0)

我解决这个问题的方法是创建一个snippetsAvailable文件夹,将文件放在那里(并删除snippets文件夹) *

在您的主程序包文件中,添加到config schema

config:
  optionalSnippets:
    title: "My optional snippets"
    description: "Adds optional snippets to autosuggestions"
    type: "boolean"
    default: true

在您的软件包激活中执行以下操作:

activate: ->
  @subscriptions = new CompositeDisposable

  # etc..

  atom.config.observe 'my-package.optionalSnippets', (checked) ->
    # For copyNewer, see note below *
    copyNewer "my-snippets", "#{__dirname}/snippets", {
      cwd: "#{__dirname}/snippetsAvailable"
    }

*注意:我使用了copyNewer包,因为它允许我删除/snippets文件夹,即:它会自动再次创建它。更重要的是,它不会在每个包激活时覆盖片段文件;除非您使用新的代码段更新了包。

显然,您必须在主文件的顶部写下copyNewer = require 'copy-newer'

此外,如果您选择此方法,请不要忘记将/settings放入 .gitignore