在按开括号上添加右括号

问题描述

好的,所以在 VSCode 中,当您使用左括号时,它会自动使用右括号。相反,我希望这是尖括号。我该怎么做?例如:

按:<

输出:<>

提前致谢!

编辑:我将澄清这一点。我在 Tkinter 文本小部件中执行此操作。所以按 < 将插入一个 >。 Soory 因为缺乏清晰度。

解决方法

一个非常简单的解决方案是将一个函数绑定到 <KeyRelease>,因为它会在默认绑定实际将字符插入小部件后触发。或者,您可以绑定到 <KeyPress> 并管理插入起始原始字符及其结束字符。

让我们从定义一个字典开始,它定义了哪些字符具有匹配的字符。在这种情况下,为了简单起见,我们将只使用 {} 和 :

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

接下来,让我们定义一个函数来检查事件,看看它是否是我们字典中的字符。如果我们找到匹配的字符,我们会做两件事:插入匹配的字符,然后将插入点移回一个,使插入字符位于字符对之间。

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)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...