在 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. 提高你的Java代码质量吧:使用valueof前必须进行校验

    一.分析 每个枚举都是java.lang.Enum的子类,都可以访问Enum类提供的方法,比如hashCode.name.valueOf等,其中valueOf方法会把一个String类型的名称转变成枚 ...

  2. C#之简单选择排序

    以排列INT数组为简单示范 namespace 简单选择排序 { class Program { static void SelectViod(int[] data) { ; i < data. ...

  3. 问题解决: WordPress on SAE注册邮件无法发送

    方法一: 修改代码 Step 1: 改写wp-includes/pluggable.php, 把WordPress默认邮件设置改为SMTP模式. // Set to use PHP's mail() ...

  4. Oracle中的EXCEPTION

    Oracle系统预定义的异常 比如:SELF_IS_NULL.VALUE_ERROR.ZERO_DIVIDE等Oracle中自带的异常类型 使用方法: DECLARE V_Result ); BEGI ...

  5. Nginx阅读笔记(四)之root和alias

    nginx指定文件路径有两种方式root和alias,这两者的用法区别,使用方法总结了下,方便大家在应用过程中,快速响应.root与alias主要区别在于nginx如何解释location后面的uri ...

  6. 修改SQL Server 排序规则 (未能排它地锁定数据库以执行该操作)

    use master go alter database DBName set single_user go alter database DBName COLLATE Chinese_PRC_CI_ ...

  7. 转: ajax跨域之JSONP

    事件背景: 某个站点分为静态产品介绍页面(或由于某原因需要静态化),和一个独立的在线应用程序.静态产品页面属于www.a.com下,而在线应用程序作为一个相对独立的系统存在于app.a.com上. 在 ...

  8. android应用Dialog跳转到Activity

    public void back(Context context){ intent = new Intent(); intent.setClass(context, IBookActivity.cla ...

  9. File中操作路径的API(转)

    这几天一直在搞Java,模板引擎系列和程序猿执业修养系列都暂停了,在Java上忙的不亦乐乎!由于对Java还不太熟悉,经历了各种纠结终于完成了任务.以下是关于Java获取当前目录的方法的备忘录. 原文 ...

  10. ARPU_百度百科

    ARPU_百度百科 ARPU