在 windows 下写 Lua, 我能找到的最好的编辑器就是 luaForWindows 项目里带的 scite。 npp (即 notepad++ ) 也将就着能用, 不过只有代码高亮和简单的单词/函数提示, 跟 scite 比起来实在是简陋。很多人说 vim 是最好的, 可是不知道为啥我比较疏远 vim, 就是不大喜欢, 以后有需要的时候再摸索vim吧。

用 scite 实在不错, 你可以做到对 lua 代码的单步调试, 设置断点, 查看变量值, 栈追踪, 代码提示(比 npp 要强大)。 调试方面, luaForWindows 里的 scite 都已经配好了, 主要是默认的代码提示还需要改进。
默认情况下, scite 只有函数参数列表提示。 当你输入 print 并按 '(' 时, 会弹出提示如图:

但是假如我不知道 print 这个函数, 不知道是 print, 还是 printf, 希望 scite 能够有提示怎么办?
只需要改动 SciTEGlobal.properties 这个文件, 在文件里添一句:
autocomplete.*.start.characters=.$(chars.alpha)

意思是说, 当按下句点 '.', 以及字母键的时候, 弹出自动完成提示。 这时候只要你按下 'p', 就会弹出提示 'pairs, pcall, print' 可选。 可以看到标准库里没有 printf。

当然,这个提示是可以自己定制的。 lua.properties 文件中指定了 api 文件:
api.$(file.patterns.lua)=$(SciteDefaultHome)\lualib5_annot.api

打开 lualib5_annot.api这个文件, 可以看到这样一行:
print (e1, e2, ...) prints values to stdout using tostring
这就是所谓的代码提示内容啦。

如果要写自己的 api 文件, 先在配置文件加上自定义的文件名 xxx.api, 如此:
api.$(file.patterns.lua)=$(SciteDefaultHome)\lualib5_annot.api;$(SciteDefaultHome)\xxx.api

注意两个api 文件路径用 分号分割, 分号后不要空格

然后就可以在 xxx.api 里写自己的代码提示了

另外, SciTEGlobal.properties 文件里可以加上这么一句:
autocomplete.*.fillups=(

本来代码提示出来之后要按一下 tab 键补全, 现在直接按左括号 '(', 省掉了按 tab 这一下, 略缓解小拇指疲劳啊

原文链接:http://blog.csdn.net/zhangxaochen/article/details/8104034

【转】增强 scite 编辑器的代码提示功能的更多相关文章

  1. Jetbrains 系 IDE 编辑器的代码提示功能

    著名的 Jetbrains 可谓编程界的一大福音,众多有名代码编辑器比如 ItelliJ IDEA.PHPStorm.WebStorm.PyCharm 等,均出自这家公司麾下. 对于中国的Java开发 ...

  2. Eclipse 代码提示功能设置。

    1.        解决实例化时自动补全不必要的单词问题 2.        以MyEclipse 6.5重新配图 鉴 于网上的批评之声甚大,我只想说明我的想法:这样的增强代码提示,最终是用来辅助我们 ...

  3. Linux Eclipse代码提示功能设置(Java & C/C++)

    最近在Linux下开发,由于长期使用Visual Studio 2010,对代码提示功能情有独钟,现在在Linux下,使用Eclipse做开发,当然免不了怀念Visual Studio强悍的代码提示, ...

  4. Eclipse代码提示功能设置(Java & Eclipse+CDT C/C++)

    http://developer.51cto.com/art/200907/136242.htm http://blog.chinaunix.net/u/21684/showart_462486.ht ...

  5. 转载:Eclipse+Spket插件+ExtJs4修改版提供代码提示功能[图]

    转载:Eclipse+Spket插件+ExtJs4修改版提供代码提示功能[图] ExtJs是一种主要用于创建前端用户界面,是一个基本与后台技术无关的前端ajax框架.功能丰富,无人能出其右.无论是界面 ...

  6. 如何为 Jupyter Notebook 安装代码提示功能

    按照上一篇博客安装完 Python 和 Jupyter Notebook 后,我们已经可以使用 Notebook 愉快的编写 Python 代码了,但是发现它不像其他编辑器那样会弹出代码提示,这稍微有 ...

  7. Eclipse代码提示功能设置

    1.        解决实例化时自动补全不必要的单词问题 2.        以MyEclipse 6.5重新配图 鉴 于网上的批评之声甚大,我只想说明我的想法:这样的增强代码提示,最终是用来辅助我们 ...

  8. eclipse中的代码提示功能

    Eclipse 的代码提示功能,具体配置 1. 打开Eclipse ,然后"window"→"Preferences" 2. 选择"java" ...

  9. 如何打开Intellij IDEA的代码提示功能/联想/自动联想

    1.默认情况下,我们输入代码时IDEA会自动弹出代码提示框,这时候是不用按快捷键的,直接使用方向键选择我们需要的条目就可以了. 2:如果我们想主动 使用代码提示时,默认的快捷键是CTRL+空格,但是中 ...

随机推荐

  1. 让你提前认识软件开发(19):C语言中的协议及单元測试演示样例

    第1部分 又一次认识C语言 C语言中的协议及单元測试演示样例 [文章摘要] 在实际的软件开发项目中.常常要实现多个模块之间的通信.这就须要大家约定好相互之间的通信协议,各自依照协议来收发和解析消息. ...

  2. c 对某个整数做因式分解

    1 #include <stdio.h> int main(void) { int n,i; scanf("%d",&n); printf("%d=& ...

  3. [译]Stairway to Integration Services Level 6 - SSIS 工作流管理基础

    简介 在之前的章节中,我们学习了增量载入数据. 本文中.我们通过优先约束(Precedence Constraints)来管理SSIS的工作流. 添加一个SSIS包 图 1 将新建的Package1. ...

  4. Android之判断设备网络连接状态,并判断连接方式

    在Android开发过程中,对于一个需要连接网络的Android设备,对设备的网络状态检测是很有必要的!有很多的App都需要连接网络.判断设备是否已经连接网络,并且在连接网络的状态下判断是wifi无线 ...

  5. HTML5 总结-Web存储-7

    HTML 5 Web 存储 在客户端存储数据 HTML5 提供了两种在客户端存储数据的新方法: localStorage - 没有时间限制的数据存储 sessionStorage - 针对一个 ses ...

  6. python中的map,filter,zip函数

    map() Return an iterator that applies function to every item of iterable, yielding the results 例如: a ...

  7. PCB设计铜铂厚度、线宽和电流关系

    以下总结了网上八种电流与线宽的关系公式,表和计算公式,虽然各不相同(大体相近),但大家可以在实际的PCB板设计中,综合考虑PCB板的大小,通过电流,选择一个合适的线宽. 一.PCB电流与线宽 PCB载 ...

  8. 关于map

    java为数据结构中的映射定义了一个接口java.util.Map;它有四个实现类,分别是HashMap Hashtable LinkedHashMap 和TreeMap. Map主要用于存储健值对, ...

  9. Windows Phone 8初学者开发—第14部分:在运行时绑定到真实的数据

    原文 Windows Phone 8初学者开发—第14部分:在运行时绑定到真实的数据 第14部分:在运行时绑定到真实的数据 原文地址: http://channel9.msdn.com/Series/ ...

  10. Code(容斥,好题)

    Code Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submi ...