Visual studio code 什么';在VS代码中编写多行代码段的最佳方法是什么?

Visual studio code 什么';在VS代码中编写多行代码段的最佳方法是什么?,visual-studio-code,editor,sublimetext,code-snippets,vscode-snippets,Visual Studio Code,Editor,Sublimetext,Code Snippets,Vscode Snippets,在中,可以在代码段文件中使用空格定义多行代码段 但据我所知,我需要一个条目。这需要: 硬打断为双引号字符串列表,或 使用换行符软中断长字符串\n 与其他IDE提供的现成方法相比,这是不方便的 有没有更好的方法来定义长代码块?您可以将代码段的主体定义为字符串数组,每个字符串从新行开始 像这样: "Create for loop":{ "prefix": "mkfor", "body":[ "for(int i = 0; i < 3; i++)",

在中,可以在代码段文件中使用空格定义多行代码段

但据我所知,我需要一个条目。这需要:

  • 硬打断为双引号字符串列表,或
  • 使用换行符软中断长字符串
    \n
  • 与其他IDE提供的现成方法相比,这是不方便的


    有没有更好的方法来定义长代码块?

    您可以将代码段的主体定义为字符串数组,每个字符串从新行开始

    像这样:

      "Create for loop":{
        "prefix": "mkfor",
        "body":[
          "for(int i = 0; i < 3; i++)",
          "{",
          "   //code goes here",
          "}"
        ],
       "description": "Creates a for loop"
      }
    
    “为循环创建”:{
    “前缀”:“mkfor”,
    “正文”:[
    “对于(int i=0;i<3;i++)”,
    "{",
    “//代码在这里”,
    "}"
    ],
    “说明”:“创建for循环”
    }
    

    或者,如果您安装了Easy Snippet Maker扩展,您可以通过突出显示文本来创建代码段。

    我也找不到创建多行代码段的好方法。这可能是我最希望看到改进的功能之一。正如另一个答案所建议的,有几个扩展可以帮助创建代码段(如和)。然而,它们并没有逃脱字面上的美元符号,缩进也不是很好

    在浏览这个问题的答案时,我偶然发现了一个(链接自)。然而,它也没有正确地避开美元符号,所以我将其分叉并添加这一行来处理字面上的美元符号在这里:

    希望有帮助

    附言——这是我添加的一行:

    line = line.replace(new RegExp(/\$/, 'g'), '\\$');
    

    我已经编写了一个脚本,您可以创建自己的复杂片段。只是使用你想要的文件。因此,您不需要在字符串或字符串数组中编写源代码。

    您可以查看此视频以获得快速的简短教程

    转到文件-->首选项-->用户代码段。选择您喜欢的语言。
    现在键入以下代码以生成for循环片段:

      "Create for loop":{
        "prefix": "for",
        "body":[
          "for(int i = 0; i < 10; i++)",
          "{",
          "   //code goes here",
          "}"
        ],
       "description": "Creates a for loop"
      }
    
    “为循环创建”:{
    “前缀”:“for”,
    “正文”:[
    “对于(int i=0;i<10;i++)”,
    "{",
    “//代码在这里”,
    "}"
    ],
    “说明”:“创建for循环”
    }
    
    你完了。
    在编辑器中键入“for”并使用第一个预测。

    快捷方式--

  • 安装扩展。
  • 突出显示制作代码段所需的代码。
  • 按ctrl+shift+P并在命令选项板上键入“创建代码段”,然后 按回车键。
  • 选择要为其创建代码段的语言(例如:-CPP),然后键入
    代码段名称,键入代码段快捷方式,然后键入代码段说明。
    您现在可以出发了。
    在编辑器中键入在步骤4中输入的代码段快捷方式,然后选择最先出现的预测(如果没有预测,请按ctrl+space)。
  • 希望这有帮助:)


    注意:转到文件->首选项->用户代码段。然后选择创建代码段时使用的语言。您将在那里找到代码段。

    在mac机器上点击cmd+shift+p,搜索“配置用户代码段”,然后创建一个文件并粘贴到json代码下面。 提供前缀、正文和说明。 参考:

    {
    “forLoop”:{
    “前缀”:“forLoop”,
    “正文”:[
    “对于${1:array}{的(const${2:element},”,
    “\t$0”,
    "}"
    ],
    “说明”:“For循环”
    },
    “反应类”:{
    “前缀”:“反应类”,
    “正文”:[
    “从“React”导入React;”,
    “类${1:ComponentName}扩展了React.Component{”,
    “\t$0构造器(道具){”,
    “\t$0\t$0超级(道具)”,
    "",
    “render(){”,
    “返回(${2:Component})”,
    "}",
    “导出默认值${3:ComponentName}”
    ],
    “说明”:“用于反应组件类”
    },
    “功能”:{
    “范围”:“javascript,类型脚本”,
    “前缀”:“函数”,
    “正文”:[
    “从“React”导入React;”,
    “从“@material ui/core/style/withStyles”导入withStyles;”,
    “从“@material ui/core/styles”导入{makeStyles};”,
    "",
    “从“./style.js”导入样式;”,
    "",
    “const useStyles=makeStyles(Styles);”,
    "",
    “功能$1(道具){”,
    “const classes=useStyles();”,
    “\t返回(“,
    “\t\t”,
    “\t\t\t”,
    “\t\t\t\t$1”,
    “\t\t\t”,
    “\t\t”,
    “\t”,
    "}",
    “导出默认样式(useStyles)($1);”
    ],
    “说明”:“反应类”
    }
    }
    
    谢谢。你在这里给出的代码片段正是我问题中的问题:我不想要多个带逗号的双引号字符串。我会尝试一下扩展。谢谢!这太疯狂了,要想实现这一点就必须破解。请注意,之所以没有转义美元符号,是因为VS代码使用
    $1
    $2
    ,等等来进行假设激活代码段后单击光标好的一点,真不敢相信我忽略了这一点!我已经更新了笔,以说明美元符号后面的数字,当然许多代码段可能希望在数字之前使用文字美元符号。我想没有很好的方法来说明文字美元符号,我可能应该保留原始代码原样画笔。附加说明:作为Mac用户,您可以从“代码->首选项->用户代码段”访问代码段。@moff[CMD]+[SHIFT]+[P](Mac用户)旁注:代码段创建者已标记为不推荐使用
    {
        "forLoop": {
            "prefix": "forLoop",
            "body": [
                "for (const ${2:element} of ${1:array}) {",
                "\t$0",
                "}"
            ],
            "description": "For Loop"
        },
    
        "reactClass": {
            "prefix": "reactClass",
            "body": [
                "import React from 'react';",
                "class ${1:ComponentName} extends React.Component {",
                "\t$0constructor(props) {",
                "\t$0\t$0super(props)",
                "",
                "render() {",
                "return (<div> ${2:Component} </div>)",
                "}",
                "export default ${3:ComponentName}"
            ],
            "description": "For React Component class"
        },
        "function": {
        "scope": "javascript,typescript",
        "prefix": "function",
        "body": [
            "import React from 'react';",
            "import withStyles from '@material-ui/core/styles/withStyles';",
            "import { makeStyles } from '@material-ui/core/styles';",
            "",
            "import Styles from  './style.js';",
            "",
            "const useStyles = makeStyles(Styles);",
            "",
            "function $1(props){",
            "const classes = useStyles();",
            "\treturn (",
            "\t\t<React.Fragment>",
            "\t\t\t<div className={classes.root}>",
            "\t\t\t\t$1",
            "\t\t\t</div>",
            "\t\t</React.Fragment>",
            "\t)",
            "}",
            "export default withStyles(useStyles)($1);"
        ],
        "description": "react class"
      }
    }