Ivan Ivanov Asked:2025-02-03 22:53:26 +0800 CST2025-02-03 22:53:26 +0800 CST 2025-02-03 22:53:26 +0800 CST 在 vscode 中构造包装代码 772 Pycharm有一个非常有用的热键:代码选择 -> cmd+alt+T(macOS)-> 选择您想要放置所选代码的构造(if、while、try 等)。vscode中有类似的东西吗?或者可能需要某种扩展? 我可以补充一下,你可以安装热键 哪些内容不能输入Snippets: Surround with snippet python 1 个回答 Voted Best Answer Pak Uula 2025-02-04T01:08:56+08:002025-02-04T01:08:56+08:00 在 VSCode 中,这个魔法被称为snippet(又名代码片段):https ://code.visualstudio.com/docs/editor/userdefinedsnippets 对于 JS 和 PHP,扩展会安装开箱即用的常规片段,但对于 Python,您需要对其进行修改。 添加片段。例如“try-catch-finally”。按下 Ctrl-P 并选择命令Snippets: Configure snippets,将打开一个语言列表,选择 Python。 我马上就要说了,这些片段存储不正确,作为 JSON 中的字符串数组。每当我添加一个新片段时,我都想拍摄想出这个片段的人。 在打开的文件中,python.json输入片段 "Try-Except-Finally" : { "prefix": "try", "body": [ "try:", "\t${0:${TM_SELECTED_TEXT}}", "except ${1:Exception} as ${2:e}:", "\tpass", "finally:", "\tpass" ], "description": "Try-Except-Finally" } 现在选择要换行的代码并再次按 Ctrl-P。这次,选择命令Snippets: Surround with snippet。将出现一个包含片段列表的窗口,选择Try-Except-Finally。利润! 现在简单说一下魔法隐藏的地方。 片段中的编辑区域用 $1、$2 等变量标记。光标首先放在 $1 区域,然后通过制表符跳转到 $2 等等,直到 $0。是的,$0 是编辑区域列表中的最后一个位置。 可以为区域描述添加默认值。例如,${1:Exception}表示文本将默认插入到$1区域中Exception。 但作为替换,您不仅可以写入文字字符串,还可以指定变量。${что-нибудь}替换的变量列表位于文档中 用代码片段包围需要一个变量替换${TM_SELECTED_TEXT},其值等于调用命令时选定的行。如果代码片段没有此变量的替代,则“使用代码片段包围”命令将忽略该片段。 如果你有兴趣,这是我的 python.json 文件,其中包含一些片段 { "For loop": { "prefix": "for", "body": [ "for ${1:item} in ${2:items}:", "\t${0:${TM_SELECTED_TEXT}}" ], "description": "For loop" }, "Try-Except-Finally" : { "prefix": "try", "body": [ "try:", "\t${0:${TM_SELECTED_TEXT}}", "except ${1:Exception} as ${2:e}:", "\tpass", "finally:", "\tpass" ], "description": "Try-Except-Finally" }, "Try-Finally" : { "prefix": "try", "body": [ "try:", "\t${0:${TM_SELECTED_TEXT}}", "finally:", "\t${1:pass}" ], "description": "Try-Finally" }, "Try-Except" : { "prefix": "try", "body": [ "try:", "\t${0:${TM_SELECTED_TEXT}}", "except ${1:Exception} as ${2:e}:", "\t${3:pass}" ], "description": "Try-Except" }, "If-Only": { "prefix": "if", "body": [ "if ${1:condition}:", "\t${0:${TM_SELECTED_TEXT}}" ], "description": "If-Only" }, "If-Else": { "prefix": "if", "body": [ "if ${1:condition}:", "\t${0:${TM_SELECTED_TEXT}}", "else:", "\t${2:pass}" ], "description": "If-Else" } }
在 VSCode 中,这个魔法被称为
snippet
(又名代码片段):https ://code.visualstudio.com/docs/editor/userdefinedsnippets对于 JS 和 PHP,扩展会安装开箱即用的常规片段,但对于 Python,您需要对其进行修改。
Snippets: Configure snippets
,将打开一个语言列表,选择 Python。python.json
输入片段Snippets: Surround with snippet
。将出现一个包含片段列表的窗口,选择Try-Except-Finally
。利润!现在简单说一下魔法隐藏的地方。
片段中的编辑区域用 $1、$2 等变量标记。光标首先放在 $1 区域,然后通过制表符跳转到 $2 等等,直到 $0。是的,$0 是编辑区域列表中的最后一个位置。
可以为区域描述添加默认值。例如,
${1:Exception}
表示文本将默认插入到$1区域中Exception
。但作为替换,您不仅可以写入文字字符串,还可以指定变量。
${что-нибудь}
替换的变量列表位于文档中用代码片段包围需要一个变量替换
${TM_SELECTED_TEXT}
,其值等于调用命令时选定的行。如果代码片段没有此变量的替代,则“使用代码片段包围”命令将忽略该片段。如果你有兴趣,这是我的 python.json 文件,其中包含一些片段