web-dev-qa-db-ja.com

挿入時に閉じ括弧をオーバーライドするのをvscodeで止める方法

閉じかっこを追加しようとすると、常に右側の次のかっこが上書きされます。

以下はスクリーンキャプチャです(キーボードの右キーを押したように見えますが、実際には新しい閉じ括弧を挿入しています)。

enter image description here

この動作を変更することは可能ですか?

28
kundasaba

Vscodeはついにこの問題を修正しました。新しい動作を得るために何もする必要はありません。これで、自動的に追加されたブラケットのみが飲み込まれるため、すべてが期待どおりに機能します。設定からautoClosingBracketsオプションを既に無効にしている場合は、ここで再度有効にすることをお勧めします。

1
kundasaba

設定 を試してください:

"editor.autoClosingBrackets": "never"

オートクローズブラケット機能を完全に無効にします。

11
Matt Bierner

バージョン1.37(「July 2019」アップデートとも呼ばれますが、実際には2019年8月にリリースされました)の時点で、VS Codeは質問の説明どおりに動作しなくなりました。

閉じ括弧を「オーバーライド」しますが、wantで上書きするのが自動閉鎖括弧である場合に限ります。一般に、「既存の」括弧はこれ以上上書きされません。

(この質問で説明されているように)古い動作を好む人が多いので、今では 設定を追加して元に戻す要求 があります。

私は歴史的な目的のために以下の資料を残しています。


いいえ、できません(まだ)。これは仕様によるものです。新しいコードを入力しているときに、開き括弧を入力すると、閉じ括弧が自動的に取得されます(editor.autoClosingBrackets on、もちろん)。次に、これらの括弧内に必要なものを入力し終わったら、どのように「終了」し、閉じ括弧をそこに残しますか?最も自然な方法は、閉じ括弧を入力することです!一部の意見は一致しませんが、多くのタイピストは、矢印キーまたはマウスまで手を動かしてそれを通過するよりもずっと簡単だと感じています。

この動作は、主にSublime Textの機能に触発され、モデル化されていることに注意してください。

オートクローズブラケット機能は、主にキーストロークを保存するためのものではないことを理解しておくと役立つ場合があります。むしろ、その主な目的は、構文の強調表示の安定性を改善することです(閉じていない括弧があると不安定になる可能性があります)。また、forgetting閉じ括弧。入力せずに他の理由で移動した場合、おめでとうございます。doブラケットを無料で入手できます。

ブラケットを追加する場合の最も簡単な2つのオプション(および、例ではmismatchedブラケットを追加することに注意してください)は、どちらか( 1)新しいブラケットを入力する前に、カーソルafterを閉じ括弧のクラスターに置くか、(2)カーソルを置いた場所に置き、閉じ括弧を入力し続ける新しいものが追加されます。いずれの場合でも、newブラケットはクラスターの最後にのみ追加されます。

価値のあることについては、トラッカー上で issue があり、 pull request があります。これにより、「ブラケット飲み込み」をオフにできる設定が作成されます。 「。これを読んでいる人にとって、それがあなたが興味を持っているものであるなら、あなたはプルリクエストにあなたのフィードバックを与えるべきです。

さらに更新:

現在、テストされている 新しいコード があります。これは ブラケットをより洗練されたものにする です。計画では、エディターはどのブラケットが自動的に生成されたかを追跡し、それらのブラケットを上書きするだけです。カーソルが括弧で囲まれた領域から出ると、エディターはそれらの括弧の追跡を停止し、それらはもはや入力できない「本格的な」文字になります。うまくいけば、これは便利なところに上書きを保持し、そうでない場合にはそれを取り除くでしょう。現在の計画では、この新しい動作が標準になり、notには有効かどうかを制御する設定があることに注意してください。

6
John Y

VSCodeの元の設定を使用する方法は、括弧のリストの最後に新しい括弧を追加することです。

...if (test === funFunction(data))| /* <- here */ {...

新しい括弧を入力できるはずで、古い括弧を上書きしません。これはあなたの問題を解決しませんが、VSCodeが使用しているパラダイムに従うことを望むなら、そこに行きます。

(個人的に私は他のコメントが言うように無効にします)

0
Matt Wyndham