RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 1606185
Accepted
Ivan Ivanov
Ivan Ivanov
Asked:2025-02-03 22:53:26 +0000 UTC2025-02-03 22:53:26 +0000 UTC 2025-02-03 22:53:26 +0000 UTC

在 vscode 中构造包装代码

  • 772

Pycharm有一个非常有用的热键:代码选择 -> cmd+alt+T(macOS)-> 选择您想要放置所选代码的构造(if、while、try 等)。vscode中有类似的东西吗?或者可能需要某种扩展?

我可以补充一下,你可以安装热键 在此处输入图片描述

哪些内容不能输入Snippets: Surround with snippet

python
  • 1 1 个回答
  • 37 Views

1 个回答

  • Voted
  1. Best Answer
    Pak Uula
    2025-02-04T01:08:56Z2025-02-04T01:08:56Z

    在 VSCode 中,这个魔法被称为snippet(又名代码片段):https ://code.visualstudio.com/docs/editor/userdefinedsnippets

    对于 JS 和 PHP,扩展会安装开箱即用的常规片段,但对于 Python,您需要对其进行修改。

    1. 添加片段。例如“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"
      }
      
    1. 现在选择要换行的代码并再次按 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"
        }
    }
    
    • 2

相关问题

  • 是否可以以某种方式自定义 QTabWidget?

  • telebot.anihelper.ApiException 错误

  • Python。检查一个数字是否是 3 的幂。输出 无

  • 解析多个响应

  • 交换两个数组的元素,以便它们的新内容也反转

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5