VSCode 添加TS代码片段

问题

在用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模板类"
    }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在VS Code中新建代码片段可以通过以下步骤完成:首先打开VS Code软件,然后在顶部菜单选择"文件" -> "首选项" -> "配置用户代码片段"。这里会有两个选项,一个是"新建全局代码片段文件",另一个是"新建当前项目文件夹的代码片段文件"。选择不同的选项会决定代码片段的适用范围是全局还是当前项目,并且代码片段文件的保存位置也会有所不同。如果选择"当前项目"的选项,代码片段文件将保存在项目根目录下的.vscode文件夹中。[1] 在项目开发中,我们经常需要新建文件,并且这些文件的初始化代码往往是相同的。比如,我们新建一个.vue文件,通常需要在写正式的功能代码之前,完成以下初始化代码: ```html <script setup lang='ts'> </script> <template> <div> </div> </template> <style scoped> </style> ``` 如果你想自定义代码片段,可以编辑代码片段文件。你可以在配置用户代码片段的界面中找到一个示例代码片段文件,它的内容类似于以下所示: ```json { "一个测试代码片段命令": { "prefix": "test", "body": [ "<template>", "\t<div>", "\t\t<span>test snippets</span>", "\t</div>", "</template>" ], "description": "随便玩玩代码片段" } } ``` 你可以根据需要修改这个示例代码片段文件,然后保存。[2] 最后,你可以测试代码片段是否生效。在编辑器中输入代码片段的前缀,比如"test",然后按下Tab键,代码片段就会被插入到编辑器中。[3]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值