1***@qq.com
1***@qq.com
  • 发布:2019-10-19 09:34
  • 更新:2019-10-19 17:41
  • 阅读:890

【报Bug】vue 和 js的自定义代码块失效

分类:HBuilderX

vue.json 代码块

{
"console.log2": {
"prefix": "logtwo",
"body": [
"console.log('$1');",
"\tconsole.log('$2');"
],
"description": "Log output to console twice"
},
"console.log": {
"prefix": "log",
"body": [
"console.log($1);"
],
"description": "Log output to console twice"
}
}

javaScript 代码块

{
"console.log": {
"prefix": "logtwo",
"body": ["console.log('$1');","\tconsole.log('$2');"],
"triggerAssist": false,
"description": "Log output to console twice"
},
"console.log": {
"prefix": "log",
"body": [
"console.log($1);"
],
"triggerAssist": true,
"description": "console.log"
}
}

2019-10-19 09:34 负责人:无 分享
已邀请:
DCloud_HB_WKP

DCloud_HB_WKP

用你的代码块试了下,没有重现,请提供下你的HBuilderX版本号,以及你的自定义代码块文件vue.json和javascript.json

  • 1***@qq.com (作者)

    HBuilderX 2.3.5.2019.1018


    vue.json

    {

    "console.log2": {

    "prefix": "logtwo",

    "body": [

    "console.log('$1');",

    "\tconsole.log('$2');"

    ],

    "description": "Log output to console twice"

    },

    "console.log": {

    "prefix": "log",

    "body": [

    "console.log($1);"

    ],

    "description": "Log output to console twice"

    }


    // 注意:本文档仅支持单行注释,并且'//'前不能有任何非空字符!!!  
    //
    // HBuilderX使用json扩展代码块,兼容vscode的代码块格式
    // 本文档修改完毕,保存即可生效,无需重启。
    // 本文档用于用户自定义vue代码块。
    // 每个配置项的说明如下:
    // "key" :代码块显示名称,显示在代码助手列表中的名字,以下例子中"console.log"就是一个key。
    // "prefix" :代码块的触发字符,就是敲什么字母匹配这个代码块。
    // "body" :代码块的内容。内容中有如下特殊格式
    // $1 表示代码块输入后光标的所在位置。如需要多光标,就在多个地方配置$1,如该位置有预置数据,则写法是${1:foo1}。多选项即下拉候选列表使用${1:foo1/foo2/foo3}
    // $2 表示代码块输入后再次按tab后光标的切换位置tabstops(代码块展开后按tab可以跳到下一个tabstop)
    // $0代表代码块输入后最终光标的所在位置(也可以按回车直接跳过去)。
    // 双引号使用\"转义
    // 换行使用多个数组表示,每个行一个数组,用双引号包围,并用逗号分隔
    // 缩进需要用\t表示,不能直接输入缩进!
    // "triggerAssist" :为true表示该代码块输入到文档后立即在第一个tabstop上触发代码提示,拉出代码助手,默认为false。
    // 每个代码块以key为主键,多个代码块需要逗号分隔。
    // 如果json语法不合法,底部会弹出错误信息,请注意修正。
    // 例子:
    // "console.log": {
    // "prefix": "logtwo",
    // "body": [
    // "console.log('$1');",
    // "\tconsole.log('$2');"
    // ],
    // "triggerAssist": false,
    // "description": "Log output to console twice"
    // }

    }


    javascript.json

    {

    "console.log": {

    "prefix": "logtwo",

    "body": ["console.log('$1');","\tconsole.log('$2');"],

    "triggerAssist": false,

    "description": "Log output to console twice"

    },

    "console.log": {

    "prefix": "log",

    "body": [

    "console.log($1);"

    ],

    "triggerAssist": true,

    "description": "console.log"

    },

    "var http": {

    "prefix": "http",

    "body": [

    "var http = require('http');"

    ],

    "triggerAssist": true,

    "description": "node http"

    },

    "var fs": {

    "prefix": "fs",

    "body": [

    "var fs = require('fs');"

    ],

    "triggerAssist": true,

    "description": "node fs"

    },

    "var url": {

    "prefix": "url",

    "body": [

    "var url = require('url');"

    ],

    "triggerAssist": true,

    "description": "node url"

    },

    "var express": {

    "prefix": "express",

    "body": [

    "var express = require('express');"

    "var app = express();"

    ],

    "triggerAssist": true,

    "description": "node express"

    }

    var express = require('express');

    var app = express();

    // 注意:本文档仅支持单行注释,并且'//'前不能有任何非空字符!!!

    //

    // HBuilderX使用json扩展代码块,兼容vscode的代码块格式

    // 本文档修改完毕,保存即可生效,无需重启。

    // 本文档用于用户自定义javascript代码块。

    // 每个配置项的说明如下:

    // "key" :代码块显示名称,显示在代码助手列表中的名字,以下例子中"console.log"就是一个key。

    // "prefix" :代码块的触发字符,就是敲什么字母匹配这个代码块。

    // "body" :代码块的内容。内容中有如下特殊格式

    // $1 表示代码块输入后光标的所在位置。如需要多光标,就在多个地方配置$1,如该位置有预置数据,则写法是${1:foo1}。多选项即下拉候选列表使用${1:foo1/foo2/foo3}

    // $2 表示代码块输入后再次按tab后光标的切换位置tabstops(代码块展开后按tab可以跳到下一个tabstop)

    // $0代表代码块输入后最终光标的所在位置(也可以按回车直接跳过去)。

    // 双引号使用\"转义

    // 换行使用多个数组表示,每个行一个数组,用双引号包围,并用逗号分隔

    // 缩进需要用\t表示,不能直接输入缩进!

    // "triggerAssist" :为true表示该代码块输入到文档后立即在第一个tabstop上触发代码提示,拉出代码助手,默认为false。

    // 每个代码块以key为主键,多个代码块需要逗号分隔。

    // 如果json语法不合法,底部会弹出错误信息,请注意修正。

    // 例子:

    // "console.log": {

    // "prefix": "logtwo",

    // "body": [

    // "console.log('$1');",

    // "\tconsole.log('$2');"

    // ],

    // "triggerAssist": false,

    // "description": "Log output to console twice"

    // }

    }

    2019-10-19 16:55

HX_WJ

HX_WJ

问题已复现。
问题描述:用户第一次使用自定义代码块时,修改后未生效。
临时解决方案:用户重启HX, 自定义代码块即可生效。后续自定义代码块时,也不需要重启HX。
修复时间:下个Alpha版本修复,请关注相应Release信息。

HX_WJ

HX_WJ

另:问题描述中的javascript.json代码块key值重复,请注意修改。

  • 1***@qq.com (作者)

    一开始是重启之后就好了。。可过了一天直到现在都不行 我现在这个代码块就是不执行的

    2019-10-19 17:43

  • HX_WJ

    回复 1***@qq.com: 是否清理过用户目录下HBuilder X目录呢? 如果清理过,需要自定义代码块后再次重启。

    2019-10-19 17:53

  • 1***@qq.com (作者)

    回复 HX_WJ: 感谢您的耐心回复啦 就是每天都会重启的呀 每天这个代码块都不起作用

    2019-10-19 18:30

  • HX_WJ

    回复 1***@qq.com: 那问题方便描述的更详细些吗? 包括HX版本号,一些操作步骤等信息,你这种情况我这还没有复现问题,不好定位问题。或者如果是低版本,升级下HX试试。

    2019-10-19 19:41

  • 1***@qq.com (作者)

    回复 HX_WJ: HBuilder X 2.3.5.20191018 就是设置了如上的代码块 然后在webpack的vue项目下面 --.vue文件里面的script片段里不出现 javaScript代码块就是普通的node.js文件 里面的fs,http,log也没有用

    2019-10-20 09:27

该问题目前已经被锁定, 无法添加新回复