问题
在用VSCode写Laya的时候发现一个问题,每次都会忘记模板代码,查找一些资料后得知VSCode中可以自定义代码片段,记录下来
底部增加Cocos代码片段
自定义代码片段
VsCode菜单栏 文件>首选项>用户片段
新建全局代码
输入片段名称
laya_module
(或者cocos_module)
之后粘贴下面部分即可完成自定义代码片段
{
"React-Native Class":{
"scope": "javascript,typescript",
"prefix": "laya_module",
"body": [
"/**",
"* $TM_FILENAME_BASE",
"* @ author: yourName",
"* @ wechat: yourWeChat",
"* @ data: $CURRENT_YEAR-$CURRENT_MONTH-$CURRENT_DATE $CURRENT_HOUR:$CURRENT_MINUTE",
"*/",
"export default class $TM_FILENAME_BASE extends Laya.Script {",
"",
"\t/** @prop {name:intType, tips: \"整数类型示例\", type: Int, default: 1000}*/",
"\tpublic intType: number = 1000;",
"\t/** @prop {name:numberType, tips: \"数字类型示例\", type: Number, default: 1000}*/",
"\tpublic numType: number = 1000;",
"\t/** @prop {name:strType, tips: \"字符串类型示例\", type: String, default: \"Hello Laya\"}*/",
"\tpublic strType: number = 1000;",
"\t/** @prop {name:boolType, tips: \"布尔类型示例\", type: Bool, default: true}*/",
"\tpublic boolType: number = 1000;",
"\t/** @prop {name:prefabType, tips: \"预制体类型示例\", type: Prefab}*/",
"\tpublic prefabType: Laya.Prefab;",
"\t/** Log */",
"\tprivate LOG_TAG: string=\"$TM_FILENAME_BASE\";",
"",
"\tconstructor() { super(); }",
"",
"\tonAwake() :void{",
"",
"\t}",
"\tonEnable() :void{",
"",
"\t}",
"\tonUpdate() :void{",
"",
"\t}",
"\tonDisable() :void{",
"",
"\t}",
"\tonDestroy() :void{",
"",
"\t}",
"}"
],
"description": "快速创建一个Laya模板类"
}
}
描述 | 值 |
---|---|
scope | 支持的脚本类型 |
prefix | 快捷输入 |
body | 代码片段 |
description | 描述(提示) |
使用代码片段
在正常脚本中输入自定义片段名称按下tab即可自动补全
输入laya_module
即可自动生成以下内容
/**
* GameControl
* @ author: yourName
* @ wechat: yourWeChat
* @ data: 2020-06-16 10:26
*/
export default class GameControl extends Laya.Script {
/** @prop {name:intType, tips: "整数类型示例", type: Int, default: 1000}*/
public intType: number = 1000;
/** @prop {name:numberType, tips: "数字类型示例", type: Number, default: 1000}*/
public numType: number = 1000;
/** @prop {name:strType, tips: "字符串类型示例", type: String, default: "Hello Laya"}*/
public strType: number = 1000;
/** @prop {name:boolType, tips: "布尔类型示例", type: Bool, default: true}*/
public boolType: number = 1000;
constructor() { super(); }
onAwake() :void{
}
onEnable() :void{
}
onUpdate() :void{
}
onDisable() :void{
}
onDestroy() :void{
}
}
Cocos代码片段
{
"React-Native Class":{
"scope": "javascript,typescript",
"prefix": "cocos_module",
"body": [
"/**",
"* $TM_FILENAME_BASE",
"* @ author: SlowFeather",
"* @ email: slowfeather@163.com",
"* @ data: $CURRENT_YEAR-$CURRENT_MONTH-$CURRENT_DATE $CURRENT_HOUR:$CURRENT_MINUTE",
"*/",
"const {ccclass, property} = cc._decorator;",
"@ccclass",
"export default class $TM_FILENAME_BASE extends cc.Component {",
"",
"\t@property({ type: cc.Integer, displayName: \"整数类型示例\" })",
"\tpublic intType: number = 1000;",
"\t@property({ type: cc.Float, displayName: \"数字类型示例\" })",
"\tpublic numType: number = 100.1;",
"\t@property({ type: cc.String, displayName: \"字符串类型示例\" })",
"\tpublic strType: string = \"Hello CC\";",
"\t@property({ type: cc.Boolean, displayName: \"布尔类型示例\" })",
"\tpublic boolType: Boolean = true;",
"\t@property({ type: cc.Prefab, displayName: \"预制体类型示例\" })",
"\tpublic prefabType: cc.Prefab;",
"\t/** Log */",
"\tprivate LOG_TAG: string=\"$TM_FILENAME_BASE\";",
"",
"\tconstructor() { super(); }",
"",
"\tonAwake() :void{",
"",
"\t}",
"\tonEnable() :void{",
"",
"\t}",
"\tonUpdate() :void{",
"",
"\t}",
"\tonDisable() :void{",
"",
"\t}",
"\tonDestroy() :void{",
"",
"\t}",
"}"
],
"description": "快速创建一个Cocos模板类"
}
}
V3之后
{
"React-Native Class":{
"scope": "javascript,typescript",
"prefix": "cocos_module",
"body": [
"/**",
"* $TM_FILENAME_BASE",
"* @ author: SlowFeather",
"* @ email: slowfeather@163.com",
"* @ data: $CURRENT_YEAR-$CURRENT_MONTH-$CURRENT_DATE $CURRENT_HOUR:$CURRENT_MINUTE",
"*/",
"const {ccclass, property} = cc._decorator;",
"",
"@ccclass",
"export default class $TM_FILENAME_BASE extends cc.Component {",
"",
"\t@property({ type: cc.Integer, displayName: \"整数类型示例\" })",
"\tpublic intType: number = 1000;",
"\t@property({ type: cc.Float, displayName: \"数字类型示例\" })",
"\tpublic numType: number = 100.1;",
"\t@property({ type: cc.String, displayName: \"字符串类型示例\" })",
"\tpublic strType: string = \"Hello CC\";",
"\t@property({ type: cc.Boolean, displayName: \"布尔类型示例\" })",
"\tpublic boolType: Boolean = true;",
"\t@property({ type: cc.Prefab, displayName: \"预制体类型示例\" })",
"\tpublic prefabType: cc.Prefab;",
"",
"\t/**",
"\t* Log tag",
"\t* 日志标签",
"\t* @private",
"\t* @type {string}",
"\t* @memberof \"$TM_FILENAME_BASE\"",
"\t*/",
"\tprivate LOG_TAG: string=\"$TM_FILENAME_BASE\";",
"",
"\tconstructor() { super(); }",
"",
"\tonLoad(){}",
"\tonEnable(){}",
"\tstart(){}",
"\tupdate(deltaTime: number){}",
"\tonDisable(){}",
"\tonDestroy(){}",
"}"
],
"description": "快速创建一个Cocos模板类"
}
}