web-dev-qa-db-ja.com

VSコード:スニペットのプレースホルダーを大文字または小文字に変換する方法

VS Codeで、 ser defined snippets を作成するためのドキュメントで、いくつかの Grammar について言及しています。これには、/upcase/downcase/capitalize、しかし私はそれを使用する方法を理解することができません。

VSコードの最新バージョンを使用しています:Version 1.25.0 Mac。

このスニペットは、プレースホルダーの値を入力してタブを押した後、大文字と小文字に変換するように見えますが、そうではありません:

"test": {
    "prefix": "test",
    "body": "${1} -> ${1:/upcase} ${1:/downcase}"
},

流れと期待される結果

  1. タイプtest
  2. ヒット tab スニペットを取得します。
  3. Asdfと入力すると、次の結果になります。

    Asdf -> Asdf Asdf
    
  4. ヒット tab 期待される結果を得るには:

    Asdf -> ASDF asdf
    

現在の結果

asdf -> asdf asdf
7
Beau Smith

これを試して:

"test": {
    "prefix": "test",
    // "body": "${1} -> ${1/(.*)/${1:/upcase}/} > ${1/(.*)/${1:/downcase}/}"
    // simpler version below works too
    "body": "${1} -> ${1/(.*)/${1:/upcase} ${1:/downcase}/}"
}

変換を適用するには、Tabを押す必要があります。

8
Mark

参考:

EBNFドキュメントの整数は、タブストップ参照ではなくRegExpグループを参照しているため、機能するはずです。

"test": {
    "prefix": "test",
    "body": "${1} -> ${1/(Asdf)/${1:/upcase}/} ${1/(Asdf)/${1:/downcase}/}"
}
0
M. Oranje