Atom片段无法使用scss multiline snippet

时间:2016-09-02 09:10:50

标签: sass atom-editor cson

我正在尝试在Atom编辑器中处理我的自定义代码段。这是我的snippets.cson文件:

# Your snippets
#
# Atom snippets allow you to enter a simple prefix in the editor and hit tab to
# expand the prefix into a larger code block with templated values.
#
# You can create a new snippet in this file by typing "snip" and then hitting
# tab.
#
# An example CoffeeScript snippet to expand log to console.log:
#
# '.source.coffee':
#   'Console log':
#     'prefix': 'log'
#     'body': 'console.log $1'
#
# Each scope (e.g. '.source.coffee' above) can only be declared once.
#
# This file uses CoffeeScript Object Notation (CSON).
# If you are unfamiliar with CSON, you can read more about it in the
# Atom Flight Manual:
# https://atom.io/docs/latest/using-atom-basic-customization#cson
'.text.html.basic':
  'Bootstrap css link':
    'prefix': 'bootstrap'
    'body': '<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">$1'

  'Vue minified':
    'prefix': 'vuemin'
    'body': '<script src="https://cdn.jsdelivr.net/vue/latest/vue.min.js"></script>$1'

  'Vue develompent':
    'prefix': 'vuedev'
    'body': '<script src="https://cdn.jsdelivr.net/vue/latest/vue.js"></script>$1'

  'Placehold img':
    'prefix': 'ph'
    'body': '<img src="https://placehold.it/$1" alt="">'
  'Telephone':
    'prefix': 'tel'
    'body': '<a href="tel:+48888888888$1">+48 888 888 888</a>'

'.source.css.scss':
  'Breakpoint Foundation':
    'prefix': 'bp'
    'body': """
      @include breakpoint($1) {
        $2
      }
    """

'.source.css.scss':
  'Breakpoint Foundation Medium':
    'prefix': 'bpm'
    'body': """
      @include breakpoint(medium) {
        $1
      }
    """

'.source.css.scss':
  'Breakpoint Foundation Large':
    'prefix': 'bpl'
    'body': """
      @include breakpoint(large) {
        $1
      }
    """

  'Kentico comment':
    'prefix': 'kc'
    'body': '/*#$1#*/'

除了这部分外,一切正常:

'.source.css.scss':
  'Breakpoint Foundation':
    'prefix': 'bp'
    'body': """
      @include breakpoint($1) {
        $2
      }
    """

'.source.css.scss':
  'Breakpoint Foundation Medium':
    'prefix': 'bpm'
    'body': """
      @include breakpoint(medium) {
        $1
      }
    """

'.source.css.scss':
  'Breakpoint Foundation Large':
    'prefix': 'bpl'
    'body': """
      @include breakpoint(large) {
        $1
      }
    """

编辑scss文件时,只有bplkc代码段有效。 我有1.10.0 Atom和1.11.0 autocomplete-snippets和1.0.2片段插件。

1 个答案:

答案 0 :(得分:1)

您需要对共享相同范围的所有代码段进行分组,否则以前的实例会被以后的实例覆盖。

示例

'.source.css.scss':
  'Breakpoint Foundation':
    'prefix': 'bp'
    'body': """
      @include breakpoint($1) {
        $2
      }
    """
  'Breakpoint Foundation Medium':
    'prefix': 'bpm'
    'body': """
      @include breakpoint(medium) {
        $1
      }
    """
  'Breakpoint Foundation Large':
    'prefix': 'bpl'
    'body': """
      @include breakpoint(large) {
        $1
      }
    """

有人可能会说Atom应该合并这些密钥,但这与开发人员有discussion