VS Code如何让try-except代码片段按选中文本缩进位置插入?
解决VS Code选中缩进代码时try..except片段对齐问题
修改你keybindings.json中的配置,利用片段的正则替换功能动态匹配选中内容的缩进:
{ "key": "ctrl+p'", "command": "editor.action.insertSnippet", "when": "editorHasSelection", "args": { "snippet": "${TM_SELECTED_TEXT/^(\\s*).*/$1/}try:\n${TM_SELECTED_TEXT/^(\\s*)/$1\\t/}\n${TM_SELECTED_TEXT/^(\\s*).*/$1/}except BaseException as ex:" } }
配置说明:
${TM_SELECTED_TEXT/^(\\s*).*/$1/}:捕获选中内容第一行的所有前置空白字符(空格或制表符),将其作为try:和except行的缩进,确保和选中内容的起始位置对齐${TM_SELECTED_TEXT/^(\\s*)/$1\\t/}:给选中的每一行内容,在原有缩进基础上添加一个制表符(如果你的编辑器用空格缩进,可将\\t替换为对应数量的空格,比如),让选中内容自动缩进一级,符合Python的代码块规范
这样配置后,不管你选中的是无缩进的代码还是带有多级缩进的整行内容,try和except都会自动匹配选中内容的起始缩进位置,效果和Command+/添加注释的行为一致。
内容的提问来源于stack exchange,提问作者Asdfg
相关产品推荐
相关产品推荐

