使用codemirror使用SQL代码能够自动提示如 PLSQL等工具一般智能提示功能,

1、引入show-hint.css,codemirror.css和主题样式如:

        <link href="codemirror-5.47.0/lib/codemirror.css"/><link href="codemirror-5.47.0/theme/monokai.css"/><link href="codemirror-5.47.0/theme/eclipse.css"/><link href="codemirror-5.47.0/theme/idea.css"/><link href="codemirror-5.47.0/addon/hint/show-hint.css"/><link href="codemirror-5.47.0/addon/display/fullscreen.css"/>

2、引入codemirror.js、sql.js、show-hint.js、sql-hint.js

如:

 codemirror-5.47.0/lib/codemirror.jscodemirror-5.47.0/mode/sql/sql.jscodemirror-5.47.0/mode/clike/clike.jscodemirror-5.47.0/addon/display/autorefresh.jscodemirror-5.47.0/addon/edit/matchbrackets.jscodemirror-5.47.0/addon/selection/active-line.jscodemirror-5.47.0/addon/display/fullscreen.jscodemirror-5.47.0/addon/hint/show-hint.jscodemirror-5.47.0/addon/hint/sql-hint.js

3、设置初始化codemirror,并设置table和列数据源

/*** codemirror集成配置工具类 Created by 许畅 on 2019-05-27.** codemirror代码配置:* <pre>*   CodeMirror.resolveMode("text/x-sql").keywords["left join"]=true*   CodeMirror.resolveMode("text/x-sql").keywords["left"]=true*    CodeMirror.resolveMode("text/x-sql").keywords["right join"]=true*  CodeMirror.resolveMode("text/x-sql").keywords["right"]=true*   CodeMirror.resolveMode("text/x-sql").keywords["inner join"]=true*  CodeMirror.resolveMode("text/x-sql").keywords["inner"]=true*  CodeMirror.resolveMode("text/x-sql").keywords["when"]=true* CodeMirror.resolveMode("text/x-sql").keywords["FROM_DAYS(N)"]=true*    CodeMirror.resolveMode("text/x-sql").keywords["UPGRADE"]=true* *   sqlCodeMirror = CodeMirror.fromTextArea(document.getElementById("sqlTest"),{*          mode:  "text/x-sql",*         theme :   "idea",*        lineNumbers : true,*        lineWrapping: true,*        styleActiveLine: true,*         matchBrackets: true,*       autoRefresh : true,*        extraKeys: {*            "Alt-/": "autocomplete",*               "F11": function(cm) {*               cm.setOption("fullScreen", !cm.getOption("fullScreen"));*            },*             "Esc": function(cm) {*               if (cm.getOption("fullScreen")) cm.setOption("fullScreen", false);*              }  *       }, // To invoke the auto complete*          hint: CodeMirror.hint.sql,*         hintOptions: {*            tables: {*                "t_test_login": [ "col_a", "col_B", "col_C" ],*               "t_test_employee": [ "other_columns1", "other_columns2" ]*            }*         }*   });*   sqlCodeMirror.setValue("select * from t_test_login where 1=1");* *   sqlCodeMirror.on("change", function(editor, change) {*        if (change.origin == "+input"){*            var textArray = change.text;*            //不提示*            if(!ignoreInputCode(textArray)){*              setTimeout(function() { editor.execCommand("autocomplete"); }, 100);*            }*        }*    });*  </pre>*/

更新详细配置可参考其官方说明,可参照其demo说明。

codemirror实现SQL代码自动提示功能相关推荐

  1. java培训教程分享:Java编写软件代码自动提示功能

    本期的java培训教程分享主要是介绍的java编写软件代码的一个自动提示功能,很多零基础和初学java的同学们对这一块还不是很了解,Eclipse for android 实现代码自动提示智能提示功能 ...

  2. [转]Android 代码自动提示功能

    源地址http://blog.sina.com.cn/s/blog_7dbac12501019mbh.html 或者http://blog.csdn.net/longvslove/article/de ...

  3. Eclipse输入Java和XML代码自动提示功能最简单的方法

    Eclipse输入Java和XML代码自动提示功能 1.设置 java 文件的代码提示功能 打 开 Eclipse 依次选择 Window > Preferences > Java > ...

  4. 怎样增强MyEclipse的代码自动提示功能

    转载自  怎样增强MyEclipse的代码自动提示功能 MyElipse的默认代码提示功能隐藏了许多细节,需要开发者手动设置,一起来设置吧,让你的myeclpse更强大 一般在Eclipse ,MyE ...

  5. idea没有代码自动提示功能和包自动引入不了问题

    idea没有代码自动提示功能和包自动引入不了问题 原因:节电模式 File -> Power Save Mode (被勾选了) 处理方法: File -> Power Save Mode ...

  6. eclipse代码自动提示设置、如何配置eclipse的代码自动提示功能(同时解决自动补全变量名的问题)?

    eclipse代码自动提示设置.如何配置eclipse的代码自动提示功能(同时解决自动补全变量名的问题)? 参考文章: (1)eclipse代码自动提示设置.如何配置eclipse的代码自动提示功能( ...

  7. 解决 PhpStorm 对 用单例模式实例化PHP类时,代码自动提示功能失效 的问题

    大部分PHP框架中,为了防止一个类被重复实例化,往往采用"单例模式"实例化类.我们的项目框架是这样做的: 先写好一个基类 /framework/Base.class.php,内容如 ...

  8. eclipse中设置java、xml文件的字体大小以及代码自动提示功能

    设置字体大小: 在菜单windows-->prefereces里面,找到General-->Appearance-->Colors and Fonts, 设置xml文件字体大小:找B ...

  9. java设置代码自动提示_eclipse代码自动提示设置、如何配置eclipse的代码自动提示功能?...

    对于编程人员来说,要记住大量的类名或类方法的名字,着实不是一件容易的事情.如果要IDE能够自动补全代码,那将为我们编程人员带来很大帮助. EcliPSe代码里面的代码提示功能默认是关闭的,只有输入&q ...

  10. Eclips写Java代码和CSS、Javascript、Html代码设置代码自动提示功能

    按照我的方法设置后用Eclipse编写Java代码和前端代码(Html.CSS.JS)都可以自动提示代码.赶紧去试试吧. 1.打开Eclipse软件,点击Windows→Preferences→Jav ...

最新文章

  1. android 人生日历,android版人生日历日子怎么用 安卓版人生日历日子使用教程
  2. JD boto3 flask 上传 demo
  3. 趣链 BitXHub跨链平台 (2)跨链网络拓扑
  4. CodeCraft-20 (Div. 2) C. Primitive Primes 思维 + 数论
  5. 在一个风景秀丽的小镇,一天早上,有N名晨跑爱好者(编号1~N)沿着优雅的江边景观道朝同一方向进行晨跑
  6. leetcode315. 计算右侧小于当前元素的个数(树状数组解法)
  7. Elasticsearch生态技术峰会 | Elasticsearch在企查查的应用实践
  8. 构建高并发高可用的电商平台架构实践 转载
  9. 跟我读论文丨ACL2021 NER 模块化交互网络用于命名实体识别
  10. Linux学习笔记---boot命令的使用
  11. 从零开始用python处理excel视频_从零开始学数据分析,什么程度可以找工作,如何计划学习方案?...
  12. 蓝桥杯 ALGO-110 算法训练 字符串的展开
  13. 那位熟读戈培尔语录的“同仁” 我来与您做次探讨
  14. 2018年单招理科考计算机吗,2018高职单招考试难吗 单招考试的内容
  15. mac怎么无线打印机连接到服务器,Mac上wifi打印机怎么用 wifi打印机连接使用教程...
  16. 在HTML语言中 标签hr用,在html中hr标签的作用是什么?
  17. 深入理解计算机系统第四章(4.55-4.58)
  18. iOS 获取手机的ip地址 并传给后台(三步搞定)
  19. mysql动态表单设计与实现_动态表单的数据库结构设计
  20. 异常问题-NXP的Flash锁死后无法烧录

热门文章

  1. WPS专业版自带字体
  2. 百度文库的内容怎么复制
  3. java 登录md5加密_javaMD5加密及登录验证(备忘)
  4. matlab面源模式反扩散参数研究,基于GIS的大气点源污染高斯烟羽扩散模拟研究
  5. 项目启动会发言稿(范文二)
  6. Minecraft 1.12.2模组开发(三十七) 3D盔甲
  7. MFC应用中对界面的设计(图标,标题,窗口)(VS2019)
  8. java爬虫教程01
  9. Python3 | UserWarning: findfont: Font family [‘SimHei‘] not found. Falling back to DejaVu Sans.
  10. 第二次作业-Steam软件分析