Vscode: \\\\ を使用してスニペットで \\ をエスケープすると、1 つのバックスラッシュのみが出力されます。

作成日 2017年09月07日  ·  1コメント  ·  ソース: microsoft/vscode

  • VSCode バージョン: 1.15.1、コミット 41abd2
  • OS バージョン: Ubuntu 16.04

再現する手順:

  1. 次のコード スニペットをlatex.json (ユーザーの tex スニペットが挿入される場所) に挿入します。
    またはクリックして、 File - > Preferences - > User Snippetsと検索tex
    "Input a multiline eqn": {
        "prefix": "eqnmultiline",
        "body": [
            "\\[",
            "\t\\begin{array}{lcl}",
            "\t\t ${1:foo} & = & ${2:foo} \\\\",
            "\t\t & = & ${3:foo} \\\\",
            "\t\t & = & ${4:foo} \\\\",
            "\t\\end{array}",
            "\\]",
            "$0"
        ],
        "description": "Input a multiline eqn"
    }

  1. demo.tex で、次のようにコード スニペットを挿入するeqnmultilineと入力します。
   \[
        \begin{array}{lcl}
             foo & = & foo \
             & = & foo \
             & = & foo \
        \end{array}
    \]

そして、私は\\が 3 つの foo 行の最後にあることを期待しています。これを\\\\でエスケープします。 しかし、結果は各行に 1 つの\です。
スニペット グラマーは、 \をエスケープするために\ \を使用すると言っています。 それで、これがバグなのかどうか疑問に思っています。


拡張子なしで再現:
使用してテストを行わないための正しい申し訳ありませんが示唆code --disable-extensions私はコメントでその行を逃したので、前に。 今日試してみましたが、拡張機能を無効にした後、コマンド パレットからでも tex スニペットを挿入できません。 there are no entries to pick fromと教えてくれます

*duplicate *question editor snippets

最も参考になるコメント

混乱して申し訳ありません...これはhttps://github.com/Microsoft/vscode/issues/32020#issuecomment -323775984ですが、要するにこれが問題です

  • TextMate では、バックスラッシュをバックスラッシュでエスケープすることはできますはできません。したがって、1 つのバックスラッシュを挿入するには、 \または\\いずれかを使用します。
  • JSONではバックスラッシュを別のバックスラッシュでエスケープする必要があるため、1つのバックスラッシュを挿入するには\\または\\\\ 、2つの\\\\\\\\を挿入するに

この問題やその他の逃げる課題のために、JSON から離れるという考えがあります...

>すべてのコメント

混乱して申し訳ありません...これはhttps://github.com/Microsoft/vscode/issues/32020#issuecomment -323775984ですが、要するにこれが問題です

  • TextMate では、バックスラッシュをバックスラッシュでエスケープすることはできますはできません。したがって、1 つのバックスラッシュを挿入するには、 \または\\いずれかを使用します。
  • JSONではバックスラッシュを別のバックスラッシュでエスケープする必要があるため、1つのバックスラッシュを挿入するには\\または\\\\ 、2つの\\\\\\\\を挿入するに

この問題やその他の逃げる課題のために、JSON から離れるという考えがあります...

このページは役に立ちましたか?
0 / 5 - 0 評価