CnPack Forum


 
Subject: 关于”代码格式化“功能的一些建议
hq200306
普通灌水员
Rank: 2



UID 67758
Digest Posts 0
Credits 52
Posts 18
点点分 52
Reading Access 10
Registered 2012-12-1
Status Offline
Post at 2018-11-12 15:19  Profile | Blog | P.M. 
关于”代码格式化“功能的一些建议

代码格式化功能做得不错,参考一下Gexpert中代码格式功能,需要点改进
1、如果执行代码格式化前后的源码没有变化时,可以忽略此次的操作,我下了1.1.5.949_Unstable源码,我在CnCodeFormatterWizard的850行,加了一语句,这样就可以跳过,
        if Res <> nil then
        begin
          //我加的代码
          if TrimRight(Src) = TrimRight(string(res)) then
          begin
            exit;
          end;
2.如果一行代码比较长,我的代码习惯,自己分行,便于阅读,如果按cnpack里的”代码格式化设置“窗口的”自动换行于“的设置,要么合并到一行,要么重组我写的代码,虽然逻辑真确,但影响阅读习惯,我的想法:1、保留我自己的代码分行;2、次行代码缩进还是要对齐
Top
Passion (LiuXiao)
管理员
Rank: 9Rank: 9Rank: 9


UID 359
Digest Posts 19
Credits 6561
Posts 3460
点点分 6561
Reading Access 102
Registered 2004-3-28
Status Online
Post at 2018-11-15 19:45  Profile | Blog | P.M. 
第一点我们已经加上了。

第二点目前实现起来由于架构所限还有较大的困难,不好办。
Top
hq200306
普通灌水员
Rank: 2



UID 67758
Digest Posts 0
Credits 52
Posts 18
点点分 52
Reading Access 10
Registered 2012-12-1
Status Offline
Post at 2018-11-15 20:14  Profile | Blog | P.M. 
回复 #2 Passion 的帖子

好的,谢谢。关于第二点仅是代码习惯问题,如果有时间的话,改进一下,比如下面代码,用现在cnpack的代码格式化功能,格式一下,会达不到以下效果

tmpSql := 'select * from abc'
  + #13 + 'where f1=:f1'
  + #13 + 'and f2=:f2'
  + #13 + 'order by f1';


格式化后:要么合并到一行,要么没按我的设想换行,Gexpert的格式化代码时,保留原来的换行

[ 本帖最后由 hq200306 于 2018-11-15 20:21 编辑 ]
Top
Passion (LiuXiao)
管理员
Rank: 9Rank: 9Rank: 9


UID 359
Digest Posts 19
Credits 6561
Posts 3460
点点分 6561
Reading Access 102
Registered 2004-3-28
Status Online
Post at 2018-11-16 13:57  Profile | Blog | P.M. 
这个功能我想想先。

目前只能暂时以{(*}和{*)}将这段代码括住,以不格式化。
Top
hq200306
普通灌水员
Rank: 2



UID 67758
Digest Posts 0
Credits 52
Posts 18
点点分 52
Reading Access 10
Registered 2012-12-1
Status Offline
Post at 2018-11-16 14:40  Profile | Blog | P.M. 
我想,一行语句,分多行写时格式化的计算逻辑是:
1、吃掉空行;
2、保留多行;
3、次行缩进,;
其它的运算符等按原来的方法格式化

[ 本帖最后由 hq200306 于 2018-11-17 11:56 编辑 ]
Top
 




All times are GMT++8, the time now is 2019-7-23 07:44

    本论坛支付平台由支付宝提供
携手打造安全诚信的交易社区 Powered by Discuz! 5.0.0  © 2001-2006 Comsenz Inc.
Processed in 0.008553 second(s), 7 queries , Gzip enabled

Clear Cookies - Contact Us - CnPack Website - Archiver - WAP