基于CodeMirror的一个在线sql编辑工具

js在线sql编辑器,下载后导入IDE工具中,在浏览器访问sql-editor-master/index.html ,效果如下(含括号高亮显示、显示折叠栏):

codeMirror官网https://codemirror.net/, 官网js/css资源文件,也可自行去官网下载,但是官网比较慢,需引入的核心页面代码: 

<link rel="stylesheet" href="css/codemirror.css" />
    <link rel="stylesheet" href="test/addon/fold/foldgutter.css">
    <link rel="stylesheet" href="css/theme/dracula.css" />
    <link rel="stylesheet" href="css/show-hint.css" />
    <link rel="stylesheet" href="js/jquery-easyui/themes/default/easyui.css">
    <link rel="stylesheet" href="js/layui/css/layui.css">
    
    <link rel="stylesheet" href="css/index.css" />
    <script type="text/javascript">var baseUrl ="";</script>
    <script type="text/javascript" src="js/jquery.min.js"></script>
    <script type="text/javascript" src="js/jquery-easyui/jquery.easyui.min.js"></script>
    <script type="text/javascript" src="js/jquery-easyui/locale/easyui-lang-zh_CN.js"></script>
    <script type="text/javascript" src="js/editor/codemirror.js"></script>
    <!-- 折叠栏显示  -->
    <script type="text/javascript" src="test/addon/fold/foldcode.js"></script>
    <script type="text/javascript" src="test/addon/fold/foldgutter.js"></script>
    <script type="text/javascript" src="test/addon/fold/comment-fold.js"></script>
    <!-- 括号高亮匹配 -->
    <script type="text/javascript" src="test/addon/fold/matchbrackets.js"></script>

    <script type="text/javascript" src="js/editor/sublime.js"></script>
    <script type="text/javascript" src="js/editor/sql.js"></script>
    <script type="text/javascript" src="js/editor/sql-hint.js"></script>
    <script type="text/javascript" src="js/editor/show-hint.js"></script>
    <!--   sql格式  -->
    <script type="text/javascript" src="js/editor/formatting.js"></script>
    <script type="text/javascript" src="js/editor/sql-formatter.min.js"></script>

    <script type="text/javascript" src="js/layui/layui.js"></script>
<script type="text/javascript" src="js/index.js"></script>

<textarea id="code"></textarea>

核心js代码:

//根据DOM元素的id构造出一个编辑器
var editor=CodeMirror.fromTextArea(document.getElementById("code"),{
    mode:"text/c-mysql", //实现Java代码高亮
    lineNumbers:true,
    matchBrackets: true, //括号高亮匹配
    theme:"default",
    keyMap: "default",
    extraKeys:{"Tab":"autocomplete"},
    hint: CodeMirror.hint.sql,
    lineWrapping: true,         //是否换行
    foldGutter: true,           //是否折叠
    gutters: ["CodeMirror-linenumbers", "CodeMirror-foldgutter"], //添加行号栏,折叠栏
    hintOptions: {
        tables: tablewords

    }

});

输入关键词提示等信息的配置:allWords.json

动态设置表字段等信息:

let tableWords = {"dual": []};
let tableName = "tn_user";
tableWords[tableName].push("userId");
editor.setOption("hintOptions", {"tables": tableWords});

tableWords json格式如下:

"tableWords": {
        "cp_sku": [
            "skuid",
            "cpbh",
            "tcbh"
        ],
        "user_info": [
            "user_id",
            "user_token",
            "user_name",
            "user_type",
            "password"
        ]
    }

 

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
  屏蔽数据库间的差异,以统一的界面和操作方式来对数据进行处理,将程序员或数据管理员从繁琐的操作模式中解脱出来,使其更加专注的进行Sql语句的编写。   将查询分析器和企业管理器功能合二为一,并融入众多实用功能,并完美支持 sqlserver、oracle、mysql、access。是您编写sql语句和数据分析的绝佳帮手。   功能列表:   1、代码高亮:根据操作数据库的不同区分相应关键字,并高亮显示   2、自动完成:输入不同的表名等信息,将自动提示相关的字段信息等。   3、智能提示:输入相应关键字将出现类似VS中一样的说明提示。   4、跨库操作:可同时跨多个数据库间操作,互不影响。随时切换,随时运行。   5、随意运行:运行选择的代码、运行多个Sql操作代码。如果运行多个Select语句则显示多个结果集,用来对比查看。(快捷键F5)   6、数据库树中查找对象。   7、在Sql语句编辑器中快速查找功能。   8、查看数据库属*   9、查看表结构   10、自动生成Sql语句模板   11、删除表、视图等   12、查看数据库属*,并快速定到至物理文件。   13、生成脚本信息功能   14、结果集导出功能。   15、在结构集中查找   16、删除指定的行(快捷键 ‘delete’)   17、修改制定的数据   18、添加新数据   19、复制选择内容(快捷键‘ctrl+C’)   20、将外部数据导入到结果集中(支持txt:以 '|'或tab符号为分割符 和execl: 指定Sheet页名称 和 默认Sheet页 )   21、支持将导入的数据更新至数据库。   22、编辑操作时自动错提示功能(如:自动递增字段自动屏蔽编辑功能。必填字段没有填写内   容则提示,数据类型不正确自动提示等。。。)   23、自动标识主键(主键字段标识为-*-字段名-*-)   24、冻结指定行、列功能。使查看操作更加方便   25、数据集更改后,在提交前可选查看所有更改的部分数据。并用颜**分。   26、自定义我的收藏功能。   27、详细数据单窗体查看功能(支持图片字段)   28、*在没有安装SqlServer 客户端及任何组件的情况下仍然可以连接至SqlServer*   29、*判断Oracle的常见错误,并尝试更改或给出提示*   30、增加历史记录功能。   31、增加自动保存用户状态功能。再次打开软件将会保留上次已连接的数据库信息。
好的,我了解了你的要求。要使用vue-codemirror编写一个在线groovy编辑器,需要进行以下步骤: 1. 安装vue-codemirror组件 首先需要在项目中安装vue-codemirror组件,可以通过npm包管理器进行安装: ``` npm install vue-codemirror --save ``` 2. 引入Codemirror的样式和脚本 在页面中引入Codemirror的样式和脚本,可以选择官方提供的CDN或者本地引入。 3. 创建Vue组件 在Vue组件中使用vue-codemirror,代码如下: ```html <template> <div> <codemirror v-model="groovyCode" :options="options" /> </div> </template> <script> import {codemirror} from 'vue-codemirror' export default { components: { codemirror }, data() { return { groovyCode: '', options: { mode: 'groovy', tabSize: 2, theme: 'default', lineNumbers: true, line: true } } } } </script> ``` 其中,`groovyCode`是编辑器中的文本内容,`options`是Codemirror的配置项。 4. 执行groovy脚本 在页面中可以通过调用Groovy脚本执行器来执行groovy脚本,例如: ```javascript function executeGroovy() { let code = vm.groovyCode; let result = runGroovyScript(code); // 处理结果 } function runGroovyScript(code) { let result = null; // 调用后端API执行groovy脚本并获取结果 // ... return result; } ``` 需要注意的是,这里的`runGroovyScript`函数需要与后端API进行对接,以获取groovy脚本的执行结果。 以上就是使用vue-codemirror编写在线groovy编辑器的基本步骤,希望能帮到你。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值