在 Sublime Text 中,可以在代码片段文件中使用空格来定义多行代码片段。
\n
与其他 IDE 提供的开箱即用的 WYSIWYG 方法相比,这很不方便。
有更好的方法来定义长代码块吗?
您可以将代码片段的主体定义为字符串数组,每个字符串都从一个新行开始。
像这样:
"Create for loop":{
"prefix": "mkfor",
"body":[
"for(int i = 0; i < 3; i++)",
"{",
" //code goes here",
"}"
],
"description": "Creates a for loop"
}
或者如果您安装
Easy Snippet Maker
扩展程序,您可以通过突出显示文本来创建片段。
您可以观看此视频以获得快速简短的教程
转到文件 --> 首选项 --> 用户片段。选择您的首选语言。
现在输入以下代码来制作 for 循环片段:
"Create for loop":{
"prefix": "for",
"body":[
"for(int i = 0; i < 10; i++)",
"{",
" //code goes here",
"}"
],
"description": "Creates a for loop"
}
你已经完成了。
在编辑器中输入“for”并使用第一个预测。
快捷方式--
希望这有帮助:)
注意:转到文件->首选项->用户片段。然后选择您创建代码片段所用的语言。您会在那里找到该片段。
this 和 this)。然而,它们无法逃避字面的美元符号,而且缩进也不是很好。
在浏览此问题的答案时,我偶然发现了一支Denis Malinochkin 的笔(链接自此问题)。然而,它也没有正确地转义美元符号,所以我分叉了它并添加了这一行来处理文字美元符号。 这里是:https://codepen.io/cbejensen/pen/WXLxaE
希望有帮助!附注- 这是我添加的行:
line = line.replace(new RegExp(/\$/, 'g'), '\\$');
https://code.visualstudio.com/docs/editor/userdefinesnippets
{
"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"
}
}
"public static void main":
{
"prefix": "psvm",
"description": "Creates an empty static main method",
"body" : [
"public static void main(String[] args)",
"{",
"\t$0",
"}"
]
}