在Sublime Text中,可以在片段文件中使用空格定义多行代码片段。
- 硬分解成双引号字符串列表,或
- 使用换行符软断长字符串
\n
与其他 IDE 开箱即用的所见即所得方法相比,这很不方便。
有没有更好的方法来定义长代码块?
在Sublime Text中,可以在片段文件中使用空格定义多行代码片段。
\n
与其他 IDE 开箱即用的所见即所得方法相比,这很不方便。
有没有更好的方法来定义长代码块?
您可以将代码段的主体定义为一个字符串数组,每个字符串都从一个新行开始。
像这样:
"Create for loop":{
"prefix": "mkfor",
"body":[
"for(int i = 0; i < 3; i++)",
"{",
" //code goes here",
"}"
],
"description": "Creates a for loop"
}
或者,如果您安装Easy Snippet Maker
扩展程序,您可以通过突出显示文本来创建您的片段。
您可以查看此视频以获取快速简短教程
转到File --> Preferences --> User Snippets。选择您的首选语言。
现在输入以下代码来创建一个 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 的 Pen(链接自本期)。然而,它也没有正确地转义美元符号,所以我将它分叉并添加了这一行来处理文字美元符号。这是:https ://codepen.io/cbejensen/pen/WXLxaE
希望有帮助!
PS - 这是我添加的行:
line = line.replace(new RegExp(/\$/, 'g'), '\\$');
在 mac 机器上按 cmd+shift+p,然后搜索“Configure User Snippets”,然后创建一个文件并粘贴到 json 代码下方。提供前缀、正文和描述。参考:https ://code.visualstudio.com/docs/editor/userdefinedsnippets
{
"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"
}
}
我编写了一个脚本,您可以创建自己的复杂片段。只需使用您想要的文件。所以你不需要在字符串或字符串数组中编写源代码。 https://github.com/banxi1988/vscode-snippets-ext-template