Subject: 调整建议:高亮自定义关键字!!! [Print This Page]
Author:
wiseinfo Time: 2009-9-3 02:49 Subject: 调整建议:高亮自定义关键字!!!
重写软件,将原来重复的字符串写成常量,字符串是蓝色,可是常量就没法变色区分了。
而且要支持高量这样声明的常量
ctForm = class
const
ItemBh: string = 'ItemBh';
end;
我调整下建议,判断是不是常量可能难,高亮自定义的关键字如何??
这只是个建议,CG做更好,举例说一个Project有些比较重要的变量名或函数名或对象名,可以自定义个颜色显示。
[ 本帖最后由 wiseinfo 于 2009-9-17 17:54 编辑 ]
Author:
Passion Time: 2009-9-3 07:32
不太好做。试着启用源码高亮设置中的高亮当前光标下的标识符功能看看?
Author:
wiseinfo Time: 2009-9-3 09:34
原帖由 Passion 于 2009-9-3 07:32 发表
不太好做。试着启用源码高亮设置中的高亮当前光标下的标识符功能看看?
谢谢提醒,高亮当前光标下的标识符功能可以凑合出点效果。
还是DELPHI的Color方案不够强,函数名,变量名,变量类型,都当Identifier了,应该分开更好。
Passion ,我再求解下,这样声明常量有好处么??
举例说,开发数据库软件,有个字段叫ItemBh,很多地方用到
ClientDataSet1.FieldByName('ItemBh').value
ClientDataSet2.FieldByName('ItemBh').value
ClientDataSet3.FieldByName('ItemBh').value
//这样的写法,不知道EXE中会编译进几个Item字符串
我定义的常量先,再改成:
ClientDataSet1.FieldByName(ctField.ItemBh).value
ClientDataSet2.FieldByName(ctField.ItemBh).value
ClientDataSet3.FieldByName(ctField.ItemBh).value
这样有好处么?
[ 本帖最后由 wiseinfo 于 2009-9-3 10:39 编辑 ]
Author:
wiseinfo Time: 2009-9-3 10:46 Subject: 用D2009小测一下,
用D2009小测一下,一个空FORM放入4个Button,onClick代码写入:
var
s1, s2, s3: string;
begin
s1 := 'ItemBh';
s2 := 'ItemBh';
s3 := 'ItemBh';
ShowMessage(s1 + s2 + s3);
end;
用WINHEX打开EXE,可以搜索到4个ItemBh,看来只同一个过程中完全相同的字符串会优化编译成一个。
如果声明成常量,一片黑,阅读上也是个问题。
Author:
Passion Time: 2009-9-3 17:20
常量在字符串值改动时有好处,只需改动一处。
都写的话还要查找替换。
Author:
wiseinfo Time: 2009-9-3 18:10
原帖由
Passion 于 2009-9-3 17:20 发表
常量在字符串值改动时有好处,只需改动一处。
都写的话还要查找替换。
改成常量,一片黑,阅读不方便。
希望CNPACK突破千难万险,实现函数名,变量名,变量类型,常量,分开设置颜色。
[ 本帖最后由 wiseinfo 于 2009-9-3 18:11 编辑 ]
Author:
rarnu Time: 2009-9-4 10:18
原帖由 wiseinfo 于 2009-9-3 18:10 发表
改成常量,一片黑,阅读不方便。
希望CNPACK突破千难万险,实现函数名,变量名,变量类型,常量,分开设置颜色。
语法解析不难做,但是问题是就算有了语法解析,还是要把颜色绘制上去的
东西多了非常影响效率
Author:
jAmEs_ Time: 2009-9-4 12:04
完全沒有不要對這些色彩方面做更多的支持,這樣只會增加系統的不穩定性和降低效率~~~
Author:
wiseinfo Time: 2009-9-17 17:44
我调整下建议,判断是不是常量可能难,高亮自定义的关键字如何??
这只是个建议,CG做更好,举例说一个Project有些比较重要的变量名或函数名或对象名,可以自定义个颜色显示。
[ 本帖最后由 wiseinfo 于 2009-9-17 17:52 编辑 ]
Welcome to CnPack Forum (http://bbs.cnpack.org/) |
Powered by Discuz! 5.0.0 |