LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 907|回复: 14

一个小想法,不知道有没有价值.

[复制链接]
发表于 2004-8-6 09:38:20 | 显示全部楼层 |阅读模式
经常在vim和editplus上写程序,总觉得没有自动补齐和提示功能非常的不爽.

总希望editplus能加上,但又不想等待.

前段时间,想到在输入法中实现这个功能,不知道有没有这个价值.

结合输入法,应该可以实现输入co后,出现copy等函数名.
发表于 2004-8-6 11:20:22 | 显示全部楼层
有创意! 赞一个先.
发表于 2004-8-6 15:52:04 | 显示全部楼层
这个应该是编程环境的功能。既不应该由文本编辑器来实现,也不应该由输入法来实现。
发表于 2004-8-6 18:58:33 | 显示全部楼层
有创意可以做个专门用户编程的输入法
发表于 2004-8-6 19:40:37 | 显示全部楼层
我感觉由编辑器实现比较好,就像vim对不同后缀名的文本实现语法高亮一样,再加一个关键字补齐功能就好了
 楼主| 发表于 2004-8-9 09:44:21 | 显示全部楼层
在编辑器中实现是不错,但不知道在输入法上实现是不是也可行。
发表于 2004-8-9 18:13:17 | 显示全部楼层
我不知道技术上是不是可行,但是从软件设计的角度,这绝对是败笔,想一想输入法是干什么用的,有哪些程序会依赖、调用它,它本身又会依赖哪些系统资源?
看看软件工程里面有关模块设计的原则,可能说得比我更清楚些。
发表于 2004-8-9 18:53:47 | 显示全部楼层
最初由 fsword 发表
我不知道技术上是不是可行,但是从软件设计的角度,这绝对是败笔,想一想输入法是干什么用的,有哪些程序会依赖、调用它,它本身又会依赖哪些系统资源?
看看软件工程里面有关模块设计的原则,可能说得比我更清楚些。


这种事情很难说的,软件工程适用于建造一个复杂的系统,但输入法和用到它的程序之间的关系很难用
软件工程来衡量,何况软件工程说的也不是总适用
假如输入法提供接口,软件提供自动完成的数据库,这也未尝不是一种“作一件事并作好”的方式
发表于 2004-8-10 12:42:07 | 显示全部楼层
我觉得可行,虽然这种功能本该由编辑器实现
由编辑器实现起来更容易、功能可以更完善
但由输入法实现有个很大的优势就是我们可以使用
任何我们喜欢的编辑器来享受这种补齐功能
发表于 2004-8-10 15:12:37 | 显示全部楼层

从技术上说根本就不可能实现。

正如楼上所说的,输入法最大的特点就是与应用程序无关。也就是说,你无法知道先前输入了什么,以后该输入什么。你也无法知道当前的host程序究竟在干什么。要实现自动补全,无异于痴人说梦。

举个例子。我们在程序里面定义了一个自己的类,比如叫myclass。那么下面我们输入myclass.之后,应该会弹出myclass类下的全部成员或者方法。但是,输入法本身无法获知程序先前的内容,从而导致无法弹出。你就会无理的要求输入法作者添加这个功能。

也许你会说,可以实现构造一个极为庞大的函数库。但你无法知道现在的这个程序是否依赖相应的版本glibc函数库。假如你使用了新版本的函数,而系统现有的glibc函数库并不提供该函数,那么你就会骂输入法的编写者,怎么都不能自动检测glibc的版本呢?

如果集合了以上的功能,这还是个输入法吗?根本是一个键盘的钩子程序,平白在键盘和应用程序之间拦了一下子。这么低效的做法,会拖累到系统。

综上所述,将自动补全功能纳入输入法是一个十分错误的想法。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表