1

これが今起こっていることの例です:

.class {

}

したがって、.class { SublimeTextと入力すると、自動的に挿入されます}(これは正しいです)。次に、 Enterキーを押して、これを取得します。

.class {
    #CURSOR_POSITION#
}

しかし、私が本当に望んでいるのは(閉じ括弧に注意):

.class {
    #CURSOR_POSITION#
    }

私はこれのためにいくつかのエディターの特別な設定で見たことがあります(わかりました、それは一度だけでした)。今からSublimeTextを使い始めました(これはかっこいいです!)。このようにカスタマイズできると思いますが、その方法はよくわかりません。

4

1 に答える 1

2

Ok!それを行うのはそれほど難しいことではありませんが、それを行う方法を知ることは簡単ではありませんでした=)

だから私のアプローチは:

  1. 単純なマクロを作成し(にあるというデフォルトのEnterマクロを編集しましAdd Line in Braces.sublime-macro~Data/Packages/Default)、新しい名前で保存します。私はそれを呼んでCSS.Add Line in Braces.sublime-macro入れました~Data/Packages/User

    [
        {"command": "insert", "args": {"characters": "\n\n"} },
        {"command": "move_to", "args": {"to": "hardbol", "extend": false} },
        {"command": "insert", "args": {"characters": "\t"} },
        {"command": "move", "args": {"by": "lines", "forward": false} },
        {"command": "move_to", "args": {"to": "hardeol", "extend": false} },
        {"command": "reindent", "args": {"single_line": true} }
    ]
    
  2. EnterCSSファイルのキーに適用します。そのためには、[設定]> [キーバインド]-[ユーザー](開きます~Data/Packages/User/Default (YOUR_OPERATING_SYSTEM).sublime-keymap)に移動し、次のコードを貼り付ける必要があります。

    [
        { "keys": ["enter"], "command": "run_macro_file", "args": {"file": "Packages/User/CSS.Add Line in Braces.sublime-macro"}, "context":
            [
                { "key": "selector", "operator": "equal", "operand": "source.css" },
                { "key": "setting.auto_indent", "operator": "equal", "operand": true },
                { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true },
                { "key": "preceding_text", "operator": "regex_contains", "operand": "\\{$", "match_all": true },
                { "key": "following_text", "operator": "regex_contains", "operand": "^\\}", "match_all": true }
            ]
        }
    ]
    

    これは、コンテキストを1つ追加してdefultキーバインディングファイルからコピーペーストされます。これは、CSSext { "key": "selector", "operator": "equal", "operand": "source.css" } にのみ適用するようにSublimeに指示します。

  3. 利益!

于 2012-07-09T00:29:12.500 に答える