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
有没有更好的方法来定义长代码块?您可以将代码段的主体定义为字符串数组,每个字符串从新行开始 像这样:
"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”并使用第一个预测。
快捷方式--
代码段名称,键入代码段快捷方式,然后键入代码段说明。
您现在可以出发了。
在编辑器中键入在步骤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"
}
}