精华内容
下载资源
问答
  • 昨天实现了一些codemirror:基本的编辑代码功能、插入变量功能、codemirror语法验证功能代码格式化(由于主要是json数据,所以暂时没引用其他组件,如果需要建议引用js-beautify,因为查资料发现codemirror在新的...

    昨天实现了一些codemirror:基本的编辑代码功能、插入变量功能、codemirror语法验证功能、代码格式化(由于主要是json数据,所以暂时没引用其他组件,如果需要建议引用js-beautify,因为查资料发现codemirror在新的版本中已经去掉autoFormatRange方法),如果想了解更多,请参考《教你轻松搞懂vue-codemirror的基本用法:主要实现代码编辑、验证提示、代码格式化》,今天接着昨天的功能代码继续,主要分享vue-codemirror实现搜索功能、代码折叠功能、获取编辑器值及时验证功能。

    1. vue-codemirror 搜索功能

    1.1 在原来的基础上需要引入需要的资源

    import 'codemirror/addon/scroll/annotatescrollbar.js'
    import 'codemirror/addon/search/matchesonscrollbar.js'
    import 'codemirror/addon/search/match-highlighter.js'
    import 'codemirror/addon/search/jump-to-line.js'
    
    import 'codemirror/addon/dialog/dialog.js'
    import 'codemirror/addon/dialog/dialog.css'
    import 'codemirror/addon/search/searchcursor.js'
    import 'codemirror/addon/search/search.js'
    

    其实引入这些资源基本的搜索功能已经实现,按ctrl+F 或者command+F就编辑器顶部就可以出现搜索框。
    image.png

    1.2 点击按钮实现搜索效果

    产品考虑到有的人可能不知道用快捷键,就设计了一个按钮,点击进行搜索,点击搜索按钮,搜索框出现在编辑器的顶部。searchCode就是对应的点击按钮事件时候调用的方法。

    methods: {
    	searchCode (e) {
          this.codemirror.execCommand('find') //触发
      }
    }
    

    2. vue-codemirror折叠功能

    折叠功能刚开始做这个编辑器的时候就想加上,但是试了一下没成功,因为配置比较多,还需要引入资源,所以这个放到最后才加。

    2.1 vue-codemirror折叠需要引入的资源,既有样式文件又有js文件,这些都是不可少的

    // 折叠
    import 'codemirror/addon/fold/foldgutter.css'
    import 'codemirror/addon/fold/foldcode'
    import 'codemirror/addon/fold/foldgutter'
    import 'codemirror/addon/fold/brace-fold'
    import 'codemirror/addon/fold/comment-fold'
    

    2.2 vue-codemirror折叠需要的基本配置

    {
    	 foldGutter: true,
       lineWrapping: true,
       gutters: ['CodeMirror-linenumbers', 'CodeMirror-foldgutter', 'CodeMirror-lint-markers'],
    }
    

    vue-codemirror折叠不需要扩展什么功能,只需要引入需要资源和配置好初始化的配置参数即可。

    获取编辑器值及时验证功能

    其实这个功能就是在vue-codemirror代码编辑器值出现语法错误的时候,及时按钮变成不可点击状态,当值没有啥错误的时候,提交按钮为可点击状态,没找到更好的获取编辑器验证状态的值,只能自己想了一个小捷径,判断是否有错误的代码,用watch监听数据,当数据发生变化的时候,看是否有错误存在。实现代码如下:

     watch: {
        jsonData (val) {
          this.checkValid()
        }
      },
      methods: {
      checkValid () {
          setTimeout(() => {
            this.codemirror.refresh()
            const container = this.$refs.codeMirror
            const len = container.querySelectorAll('.CodeMirror-lint-marker-error').length
            this.isValid = !!len && len > 0
          }, 1000)
        }
      }
    

    效果如下图:
    image.png

    总结:

    今天主要是接着《教你轻松搞懂vue-codemirror的基本用法:主要实现代码编辑、验证提示、代码格式化》文章继续分享vue-codemirror的一些用法,主要实现了搜索、代码折叠等功能。这仅仅代表我个人的观点,如有错误,欢迎指正。
    关注lovepythoncn
    **
    qrcode_for_gh_4d3763fa9780_258 (1).jpg
    回复关键字:code2, 就可以获取源码地址

    展开全文
  • pycharm中代码补全,代码提示功能

    万次阅读 2017-09-30 15:13:13
    那什么,,,,,,是这样的,请先确保你的代码补全功能是打开的。打开操作方式是:file---->power save mode,把这个前面的√号去掉即可。 然后,代码在提示的时候,多打几个字,发现你想要的已经在最上面的时候...


    请先确保你的代码补全功能是打开的。打开操作方式是:file---->power save mode,把这个前面的√号去掉即可。


    然后,代码在提示的时候,多打几个字,发现你想要的已经在最上面的时候按tab键即可补全

    展开全文
  • Vim中的代码折叠功能基本命令)

    千次阅读 2018-12-20 12:17:13
    zf56G,创建从当前行起到56行的代码折叠; 10zf或10zf+或zf10↓,创建从当前行起到后10行的代码折叠。 10zf-或zf10↑,创建从当前行起到之前10行的代码折叠。 在括号处zf%,创建从当前行起到对应的匹配的括号上去...

    <1>zf(Fold creation)–创建折叠(注意在.vimrc中设置set foldmethod=marker)

    e.g.:

    zf56G,创建从当前行起到56行的代码折叠;

    10zf或10zf+或zf10↓,创建从当前行起到后10行的代码折叠。

    10zf-或zf10↑,创建从当前行起到之前10行的代码折叠。

    在括号处zf%,创建从当前行起到对应的匹配的括号上去((),{},[],<>等)。



    <2>zo(Open)–打开折叠, zc(Close)–关闭折叠

    重复zr(Reduce)和zm(More)来打开和关闭若干嵌套的折叠。zR和zM用于嵌套了很多层的折叠。



    <3>zn–快速禁止折叠功能, zN–回复原来的折叠, zi–切换折叠



    <4>移动~

    [z–到当前打开的折叠的开始处。

    ]z–到当前打开的折叠的末尾处。

    zj–向下移动。到达下一个折叠的开始处。关闭的折叠也被计入。

    zk–向上移动到前一折叠的结束处。关闭的折叠也被计入。

    展开全文
  • 在网上搜“代码混淆”关键词,可以看到n多教程。包括本篇博客,大部分重要...总的来说,代码混淆有两种重要功能。其一,混淆代码。其二,优化代码。 进行代码混淆的程序被称为代码混淆器(混淆工具)。进行代码混淆的意

    在网上搜“代码混淆”关键词,可以看到n多教程。包括本篇博客,大部分重要内容也是从网上各位大神的博客里面看到然后摘取和总结出来的。虽然网上都有,但是对于我个人来说,很难找到一篇博客概括完全的,所以还是总结一下,也算是学习的纪录。


    首先看看代码混淆是什么。

    总的来说,代码混淆有两种重要功能。其一,混淆代码。其二,优化代码。

    进行代码混淆的程序被称为代码混淆器(混淆工具)。进行代码混淆的意义主要在于对代码进行一定程度的加密。那么,混淆器是如何进行代码加密的呢,或者说,混淆过的代码为什么会有加密的效果呢?

    首先说一点我比较坚持的观点“我们写的代码是给人看的,不是给机器看的”。通常,我们写代码的时候,代码都需要有一定的规范,而且变量名、函数名一般要能让人看到就知道是什么功能。所以,当我们不进行混淆的情况下发布了一个apk包,别人就可以通过反编译工具对apk包进行反编译,基本还原我们的源码。这样肯定是对我们不利的。此时就需要用到代码混淆。

    代码混淆的基本方法就是将我们写的易于读懂的代码,等价的替换为难以读懂而逻辑正确的代码,就是说,机器能够运行这段代码,但是一般人读不懂这段代码。这样,别人反编译了我们的apk包,得到的混淆后的代码看起来基本就是一堆杂乱无章、无法阅读的代码。

    代码混淆的时候还会进行一些优化,例如删除某些没用被使用到的代码,以及简单的重组代码,减少中间过程。

    比较重要的一点是,代码混淆并不能完全的加密代码,只是提高了程序包被反编译的难度,对代码起到一定的保护作用。

    关于代码混淆的定义,详情可以看这里     代码混淆-百科


    现在了解了代码混淆,就看看如何使用代码混淆吧。

    我自己用来测试的是使用cocos2d-x 3.10创建的工程,其中包括了多平台的工程。测试代码混淆,主要用到了其中的eclipse工程,android-studio工程。(通过这种方式创建的工程在文件结构方面可能和直接使用eclipse或android-studio创建的工程有略微差别,但是影响不大)

    在android 2.3之后,sdk中就已经集成了混淆器proguard(目录在sdk\tools\proguard),所以我们可以很方便的直接在工程中开启代码混淆。


    eclipse  android工程开启混淆功能,我们需要手动在项目文件.properties(我的是project.properties文件)中添加下面的代码

    # To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
    proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
    某些方式创建的项目中可能已经有如上两行了,只是默认被注释掉了,只要把proguard.config这一行解注释就好了。这样代码混淆功能就开启了,在打签名包时,项目会自动进行代码混淆。

    对于eclipse工程来说,代码混淆的规则,在 proguard-project.txt 文件中,我们需要根据规则去选择哪些代码需要混淆,哪些代码(一般我们引用的第三发jar包,如果已经被混淆过,就不能再混淆,否则会报错。一般我们对外开放的借口不需要混淆哦)不需要混淆。编写proguard-project.txt文件的规则,后面介绍咯。


    android-studio工程开启混淆功能,我们需要在 app/build.gradle文件中添加如下代码

    buildTypes {
            debug {
                //启用代码混淆
                minifyEnabled false
                //混淆规则配置文件
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
                //
                signingConfig signingConfigs.debug
            }
            release {
                //是否优化zip
                zipAlignEnabled true
                // 移除无用的resource文件
                shrinkResources true
                //启用代码混淆
                minifyEnabled true
                //混淆规则配置文件
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
                //
                signingConfig signingConfigs.release
            }
        }
    按照上面的配置,在debug模式和release模式下build都会进行代码混淆(一般为了方便调试,在debug模式下不需要进行代码混淆)。混淆规则配置文件与eclipse工程略有不同,android-studio工程的混淆规则文件是 app/proguard-rules.pro 。虽然文件名和eclipse中的不同,但是配置规则都是相同的。

    关于代码混淆规则改如何写,我也不知道,哈哈,找了几篇大神的博客,其中有写到,可以参考一下。

    Android 编程下的代码混淆(感谢博主),其中提到了什么是代码混淆,以及混淆规则的模版文件。

    Android代码混淆(感谢博主),其中包含如何取舍对哪些代码进行混淆,也有一些关于混淆规则文件如何编写的内容。


    看完以上内容,自己动手配置代码混淆应该不是问题。不过我们使用代码混淆的时候可能还有一些坑,例如工程中引用了很多外部的库,导致代码中函数数量超过了65535,混淆的时候可能会出错。此时需要分文件混淆,也就是把所有的代码分成两个部分来进行混淆。这些内容后面补充吧。


    还有一点比较重要的,不止是Java代码可以混淆,理论上来说,任何代码都可以混淆,只要有对应的混淆器。关于如何使用其他混淆器,如何对其他语言的代码进行混淆,以后了解到了再补充。。。


    展开全文
  • LDT代码提示功能

    千次阅读 2014-07-07 10:41:41
    LDT不支持框架代码提示,无疑让人很失望。xi
  • 如题,想找一个实用性高,扩展性高的前端开发工具,可以自己添加功能主要是可以自己编写代码提示功能,就是在敲代码的时候可以自动补全
  • Jenkins代码审查功能的实现方案

    万次阅读 2017-11-25 17:31:35
    Jenkins实现了代码审查功能
  • Android 代码自动提示功能

    千次阅读 2013-11-19 11:13:06
    Eclipse for android 实现代码自动提示智能提示功能,介绍 Eclipse for android 编辑器中实现两种主要文件 java 与 xml 代码自动提示功能,解决 eclipse 代码提示失效、eclipse 不能自动提示、eclipse 没有代码提示...
  • 论坛模块_实现功能1_写基本代码

    千次阅读 2017-12-03 11:21:00
    论坛模块_实现功能1_写基本代码 分析功能  5个功能。  7个请求。 实现功能  Action, 7个方法  Service  Dao  Jsp ForumAction  list()版块列表1个  show()显示单个版块(主题列表)1个 ...
  • (最近论坛上经常有朋友问这个问题,这是我以前的一个网摘,和大家分享一下,希望对大家有帮助) 一般默认情况下,Eclipse ,MyEclipse 的代码提示功能是比Microsoft Visual Studio的差很多的 ,主要是Eclipse ,...
  • HBuilder扩展代码功能

    千次阅读 2017-09-27 10:03:48
    作为程序员,大家都应该比较烦的事情就是将相同的代码块复制到N多个地方,但是这种情况有不可避免。为了解决这个问题,我希望实现的是直接将对应的模块提前在编辑器中编辑好,然后用一两个字母提示就能将这个模块...
  • 不过在之后的渲染使用过程中由于效果不是很好,所以重新改版,并借此机会添加复制代码功能。 本博客采用的后端是 node.js 框架 Express,在使用 markdown-it 渲染 md 文件的时候,选择在添加文章或者更新文章的时候...
  • 收藏功能前端实现代码

    千次阅读 2019-06-28 22:42:14
    基于jQuery+Bootstrap+ajax+SSM 收藏功能前端实现收藏功能需求Bootstrap下面直接贴下代码代码解释 收藏功能需求 收藏功能需求:用户点击收藏按钮,前端通过一个五角星的方式,实现代码。 当用户未收藏时,显示空心...
  • 使用GDB的源代码查看功能

    万次阅读 2017-12-02 20:56:21
    在调试程序的过程中,可以自由地查看相关的源代码(如果有源代码的话)是一项最基本的特性。  一些IDE在这方面做得相当好,GDB当然也提供了这项特性,虽然不如IDE直观,但在一定程度上要比IDE更加灵活和快捷。  ...
  • linux 下eclipse c++ 代码提示功能

    千次阅读 2011-10-24 13:05:32
    主要是eclipse版本问题、代码提示功能的设置等方便代码开发效率的准备工作,下面说下如何解决免安装版的eclipse的c++代码提示功能。 1、首先看下eclipse相关文档的权限是不是自己的,如果不是自己的,一般是不能...
  • 最近写项目,经常要打开一些文件去修改一些代码段。那么我的项目都是使用ied大型编辑器去写的,每次修改文件,哪怕是一个标点都要用一分钟时...
  • Jupyter Notebook 代码自动补全功能实现

    千次阅读 2020-01-03 09:05:33
    使用jupyter notebook进行代码补全,主要需要安装nbextensions插件。这是一个包含居多功能的插件。 一、进入命令行环境,执行: 第一步:pip install jupyter_contrib_nbextensions 第二步:jupyter contrib ...
  • DW的代码提示功能

    千次阅读 2008-02-29 11:36:00
    一般遇到这种情况首先检查是否开启代码提示功能,要勾选,这是最基本的。2。如果已经勾选,则一般是在输入中文之后会出现此种现象。3。此时将输入法切换到中文输入状态,注意标点也切换到中文标点,然后随意输入一个...
  • Eclipse Android 代码自动提示功能

    千次阅读 2014-11-30 09:27:12
    Eclipse for android 实现代码自动提示智能提示功能,介绍 Eclipse for android 编辑器中实现两种主要文件 java 与 xml 代码自动提示功能,解决 eclipse 代码提示失效、eclipse 不能自动提示、eclipse 没有代码...
  • 通过之前的博客,基本上已经将各个框架上传文件的功能逻辑理清楚,有文件下载肯定就需要有文件上传,那么接下来会跟大家一起分享各个框架上传文件的功能代码
  • 功能覆盖率与代码覆盖率区别

    千次阅读 2019-10-10 01:25:50
    功能覆盖率与代码覆盖率区别 Functional coverage vs Code coverage Code coverageas the name implies measure the coverage across the code . This gives an indication of how well the code is tested by ...
  • 像vs2008软件,就没有代码自动提示功能(随便敲一个字符都能出现代码提示,删除字符也会动态更新出来代码提示),必须按下ctrl+j组合键才能出来代码提示,这就很不方便,所以都会选择装一个番茄助手插件,就能解决...
  • 代码搜索功能发布,提升开发效率 开发一个项目,配置参数是必不可少的步骤,而项目规模越大需要配置的参数就越多。怎么样?是不是已经开始头疼了?dengdengdeng,开发者的福音来了!今天菌菌要介绍的第一个功能...
  • 主要实现代码的编辑功能、插入一些变量功能、beautify插件主要用来格式化代码,实现代码美化效果。不过这两年做项目都是用vue了,需要用到代码编辑器,于是我又找到了代码编辑器vue-codemirror,感觉组件再变,其...
  • Eclipse中的java、xml代码提示功能设置

    万次阅读 2011-11-14 17:29:50
    怎么设置使Eclipse的代码提示功能一样能像Microsoft Visual Studio的代码提示功能,般默认情况下,Eclipse ,Eclipse 的代码提示功能是比Microsoft Visual Studio的差很多的 ,主要是Eclipse ,MyEclipse本身有很多...
  • 代码生成器与其他代码生成器相比优点在于可以自由定制模板,任何语言的代码都可以转换为模板,然后用工具生成一致的代码.本代码生成器使用Velocity作为模板,并定义了一套实用的api变量,这些变量可与Velocity很好的...
  • 领域驱动实践总结二:架构分析与代码设计 领域驱动设计DDD是一种设计思想,它可以同时指导中台业务建模和微服务设计(中台本质是业务模型,微服务是业务模型的系统落地),领域驱动设计强调领域模型和微服务设计的一体...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,855,273
精华内容 1,142,109
关键字:

代码的基本功能是