プレスオープニングブラケットにクロージングブラケットを追加します

ウェストレナンド

了解しました。VSCodeでは、開始ブラケットを使用すると、自動的に終了ブラケットが使用されます。代わりに、これを山かっこにします。どうすればよいですか?例えば:

プレス: <

出力: <>

前もって感謝します!

編集:これを明確にするつもりです。私はこれをTkinterテキストウィジェットで行っています。したがって、を押す<>が挿入されます明快さの欠如のためのSoory。

ブライアン・オークリー

本当に簡単な解決策は、関数をにバインドする<KeyRelease>ことです。これは、デフォルトのバインディングが実際に文字をウィジェットに挿入した後に起動するためです。または、<KeyPress>元の開始文字とその終了文字の両方をバインドして挿入を管理することもできます

どの文字が一致する文字を持っているかを定義する辞書を定義することから始めましょう。この場合、簡単にするために{}と<>を使用します。

matched_pairs = {"{": "}", "<": ">"}

次に、イベントを調べて、辞書にある文字であるかどうかを確認する関数を定義しましょう。一致する文字が見つかった場合は、2つのことを行います。一致する文字を挿入してから、挿入ポイントを1つ戻し、挿入文字が文字のペアの間にあるようにします。

def maybe_insert_matching_pair(event):
    matching = matched_pairs.get(event.char, None)
    if matching:
        event.widget.insert("insert", matching)
        event.widget.mark_set("insert", "insert-1c")

最後に、この関数をすべてのキー押下にバインドしましょう。ただし、一致するペアがあることがわかっているキーのみにバインドすることもできます。

the_text_widget.bind('<KeyRelease>', maybe_insert_matching_pair)

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

クラスターのスケールセットをオーバープロビジョニングする

分類Dev

コンパニオンオブジェクトを使用したケースクラスのマッピング

分類Dev

ブートストラップドロップダウン:再レンダリング時にクラスを追加します

分類Dev

メンバーシップに基づいてigraphオブジェクトから「ミニ」グラフをプロットします

分類Dev

バックグラウンドがブートストラップのジャンボトロンをオーバーライドします

分類Dev

アニメーションなしでプログレスバーをゼロにリセットします(ブートストラップ内)

分類Dev

クローンオブジェクトの背景をドラッグアンドドロップします

分類Dev

レンダリングされたホロビュープロットをインタラクティブなボケアプリに追加する

分類Dev

「アプリケーションの実行に失敗しました」エラーを示すスプリングブートプロジェクト

分類Dev

カスケードオブジェクト検出器の境界ボックスを範囲外にトレーニングしますか?

分類Dev

ブートストラップは、プログレスバーの最後に「ドット」を追加します

分類Dev

コントローラからjsをレンダリングするときにRailsスプロケットディレクティブを使用する

分類Dev

ケラスの(事前トレーニング済み/未トレーニング)ニューラルネットワークの中間レイヤーに追加した後、softmaxレイヤーをトレーニングします

分類Dev

アップグレード用にパッケージの特定のバージョンを1つだけブラックリストに登録する

分類Dev

アップグレード用にパッケージの特定のバージョンを1つだけブラックリストに登録する

分類Dev

フローティングオブジェクトの周りにdivをラップしますか?

分類Dev

バックグラウンドジョブを解析して、21レコード後に複数のレコードストップを追加します

分類Dev

マルチスレッドまたはその他の.NETテクノロジを使用して、ネットワーク、ディスク、およびプロセッサを集中的に使用するジョブを実行するプログラムをスケーリングするにはどうすればよいですか?

分類Dev

SOMbreroパッケージからトレーニングデータにクラスターとノードを追加します

分類Dev

グレイログ; エクストラクタアプリケーションをソースのサブセットに制限する方法

分類Dev

C#正規表現アトミックオープニングおよびクロージングブラケット

分類Dev

プログレスバー(シークバー)の最後にあるモバイルフレンドリーな「ドットグラブ」をカスタムhtm5オーディオプレーヤーに追加します

分類Dev

オブジェクトの作成時にスタックトレースをJavaに保存し、プログラムの他のポイントで使用する

分類Dev

Webサーバーアプリケーションがアンブレラアプリにある場合、ブランチを介してフェニックスソケット、フェニックスHTMLJSモジュールをインポートします

分類Dev

jiraサーブレットプラグインにブートストラップを追加する

分類Dev

リストパターンマッチングは、ケースオブジェクトに基づいてフィルタリングを追加します

分類Dev

ガントチャートの上に多くの折れ線グラフをすばやく/スケーラブルにプロットします

分類Dev

Androidライブラリプロジェクトにバターナイフを追加すると、ライブラリクラスのコンパイル時に「パッケージが存在しません」というエラーが発生します

分類Dev

文字列をロケーションオブジェクトBukkitプラグインに変換する方法

Related 関連記事

  1. 1

    クラスターのスケールセットをオーバープロビジョニングする

  2. 2

    コンパニオンオブジェクトを使用したケースクラスのマッピング

  3. 3

    ブートストラップドロップダウン:再レンダリング時にクラスを追加します

  4. 4

    メンバーシップに基づいてigraphオブジェクトから「ミニ」グラフをプロットします

  5. 5

    バックグラウンドがブートストラップのジャンボトロンをオーバーライドします

  6. 6

    アニメーションなしでプログレスバーをゼロにリセットします(ブートストラップ内)

  7. 7

    クローンオブジェクトの背景をドラッグアンドドロップします

  8. 8

    レンダリングされたホロビュープロットをインタラクティブなボケアプリに追加する

  9. 9

    「アプリケーションの実行に失敗しました」エラーを示すスプリングブートプロジェクト

  10. 10

    カスケードオブジェクト検出器の境界ボックスを範囲外にトレーニングしますか?

  11. 11

    ブートストラップは、プログレスバーの最後に「ドット」を追加します

  12. 12

    コントローラからjsをレンダリングするときにRailsスプロケットディレクティブを使用する

  13. 13

    ケラスの(事前トレーニング済み/未トレーニング)ニューラルネットワークの中間レイヤーに追加した後、softmaxレイヤーをトレーニングします

  14. 14

    アップグレード用にパッケージの特定のバージョンを1つだけブラックリストに登録する

  15. 15

    アップグレード用にパッケージの特定のバージョンを1つだけブラックリストに登録する

  16. 16

    フローティングオブジェクトの周りにdivをラップしますか?

  17. 17

    バックグラウンドジョブを解析して、21レコード後に複数のレコードストップを追加します

  18. 18

    マルチスレッドまたはその他の.NETテクノロジを使用して、ネットワーク、ディスク、およびプロセッサを集中的に使用するジョブを実行するプログラムをスケーリングするにはどうすればよいですか?

  19. 19

    SOMbreroパッケージからトレーニングデータにクラスターとノードを追加します

  20. 20

    グレイログ; エクストラクタアプリケーションをソースのサブセットに制限する方法

  21. 21

    C#正規表現アトミックオープニングおよびクロージングブラケット

  22. 22

    プログレスバー(シークバー)の最後にあるモバイルフレンドリーな「ドットグラブ」をカスタムhtm5オーディオプレーヤーに追加します

  23. 23

    オブジェクトの作成時にスタックトレースをJavaに保存し、プログラムの他のポイントで使用する

  24. 24

    Webサーバーアプリケーションがアンブレラアプリにある場合、ブランチを介してフェニックスソケット、フェニックスHTMLJSモジュールをインポートします

  25. 25

    jiraサーブレットプラグインにブートストラップを追加する

  26. 26

    リストパターンマッチングは、ケースオブジェクトに基づいてフィルタリングを追加します

  27. 27

    ガントチャートの上に多くの折れ線グラフをすばやく/スケーラブルにプロットします

  28. 28

    Androidライブラリプロジェクトにバターナイフを追加すると、ライブラリクラスのコンパイル時に「パッケージが存在しません」というエラーが発生します

  29. 29

    文字列をロケーションオブジェクトBukkitプラグインに変換する方法

ホットタグ

アーカイブ