导航:
论坛 -> DELPHI技术
斑竹:liumazi,sephil
作者:
2021/9/23 8:42:58
标题:
D11语法支持二进制整数前缀%, 代码格式化却给分开,结果编译失败
浏览:2232
加入我的收藏
楼主:
A:=A and %10111111; 生生给格式化成 A:=A and % 10111111 等11.0.1修复?
----------------------------------------------
-
作者:
2021/9/23 8:51:56
1楼:
可以用CnPack的代码格式化试一试,最新每日构建版1052。 http://www.cnpack.org/downbuilds.php?lang=zh-cn
----------------------------------------------
欢迎使用CnPack IDE Wizards http://www.cnpack.org/
作者:
2021/9/23 8:54:08
2楼:
代码自动格式化从很多个版本以前就不能用了,从来跟不上新语法,所以官方就没想过还有人会用这个功能吧
----------------------------------------------
-
作者:
2021/9/23 9:03:27
3楼:
还是Cnpack的ctrl+W好使
----------------------------------------------
-
作者:
2021/9/23 9:06:18
4楼:
CnPack在格式化 class operator RSFPStateRecord.Finalize(var Dest: RSFPStateRecord); 这一行的时候报错 Format Error:Symbol Expected Current ";" IDE自带的 ctrl+D没有报错 @cnpack
----------------------------------------------
-
作者:
2021/9/23 9:37:38
5楼:
谢谢4楼报告,class operator我们当成了function处理,但未考虑到它还可以是无返回值的procedure形式,因此这项错误中是缺少返回值。 下一每日构建版本1053将修正此问题。
----------------------------------------------
欢迎使用CnPack IDE Wizards http://www.cnpack.org/
作者:
2021/9/23 10:48:26
6楼:
1053啥时时候出来? :)
----------------------------------------------
-
作者:
2021/9/23 13:21:37
7楼:
刚火热出炉: http://www.cnpack.org/downbuilds.php?lang=zh-cn
----------------------------------------------
欢迎使用CnPack IDE Wizards http://www.cnpack.org/
作者:
2021/9/23 14:35:09
8楼:
…… 被禁用帐号,帖子内容自动屏蔽! ……
----------------------------------------------
发布广告,禁用帐号!
作者:
2021/9/23 14:37:38
9楼:
…… 被禁用帐号,帖子内容自动屏蔽! ……
----------------------------------------------
发布广告,禁用帐号!
作者:
2021/9/23 15:46:44
10楼:
@cnpack 请问下大侠,cnvcl何时更新?
----------------------------------------------
My Delphi will go on, and on.
作者:
2021/9/23 15:58:18
10楼:
楼上,CnPack专家包格式化时默认把编译指令当成注释,因此错误出在 {$IF CompilerVersion >= 21}PQueryServiceConfigW{$ELSE }PQueryServiceConfig{$IFEND}; 当成注释后语法就出错了。 如果要改变这种行为,可以在格式化设置对话框里修改编译指令的处理模式,从当成注释改为只处理第一条,再重新格式化试一试。
----------------------------------------------
欢迎使用CnPack IDE Wizards http://www.cnpack.org/
作者:
2021/9/23 15:59:35
11楼:
10楼,github.com上有我们cnvcl的最新代码,不知具体说的更新是什么? https://github.com/cnpack/cnvcl.git
----------------------------------------------
欢迎使用CnPack IDE Wizards http://www.cnpack.org/
作者:
2021/9/23 16:23:48
12楼:
…… 被禁用帐号,帖子内容自动屏蔽! ……
----------------------------------------------
发布广告,禁用帐号!
作者:
2021/9/23 16:51:56
13楼:
CnPack专家包的格式化功能有个选项,可以根据IDE编译期提供的符号列表更改代码里标识符的大小写,也在设置对话框里设置。 Delphi官方的格式化有没有这个机制还不清楚。
----------------------------------------------
欢迎使用CnPack IDE Wizards http://www.cnpack.org/
作者:
2021/9/23 17:05:27
14楼:
…… 被禁用帐号,帖子内容自动屏蔽! ……
----------------------------------------------
发布广告,禁用帐号!
作者:
2021/9/23 20:07:53
15楼:
@cnpack github上Packages目录里一直没看到Delphi 11的文件啊.
----------------------------------------------
My Delphi will go on, and on.
作者:
2021/9/24 8:08:20
16楼:
这些天一直忙于D11的专家包支持,组件包工程文件没来得及处理,这两天抓紧整一下提上去。
----------------------------------------------
欢迎使用CnPack IDE Wizards http://www.cnpack.org/
作者:
2021/9/24 8:15:01
17楼:
@142857 官方的格式化貌似会用unit第一次出现的写法为模板,所以第一次写的时候严格按照想要的大小写来写,后面应该就没问题了
----------------------------------------------
-
作者:
2021/9/24 9:37:08
18楼:
@CnPack CnWizards代码格式化里面,是不是忽略了“Keep User Line Break in Statement'的用户设置? 我代码里的空行全被ctrl+w吃掉了,并且class里面定义的函数声明前面的缩进也被吃掉,变成了这个样子(只复制粘贴了前面一部分列) property Device property ErrorC function GetBytesWi function SetParamet constructor Cre destructor Dest function OpenViaSer function OpenViaEth function OpenViaEth procedure Close function ReadModelN
----------------------------------------------
-
作者:
2021/9/24 11:35:41
19楼:
格式化后,函数声明顶格了。
此帖子包含附件: 大小: 12.3K
----------------------------------------------
-
作者:
2021/9/24 13:35:07
20楼:
15楼,D110A的工程文件已提交。 18 19楼我查查问题。
----------------------------------------------
欢迎使用CnPack IDE Wizards http://www.cnpack.org/
作者:
2021/9/24 20:33:17
21楼:
function缩进问题原来是昨天修改class operator引入的bug,按倒葫芦起来瓢。 现已修正,下一每日构建版1054集成。
----------------------------------------------
欢迎使用CnPack IDE Wizards http://www.cnpack.org/
作者:
2021/9/25 22:29:05
22楼:
1054出炉!
----------------------------------------------
欢迎使用CnPack IDE Wizards http://www.cnpack.org/
作者:
2021/9/26 4:05:12
23楼:
在11里,函数的参数是不提示的吗,还是说是我安装的有问题
----------------------------------------------
-
作者:
2021/9/29 7:38:06
24楼:
@cnpack 代码格式化的一个建议:对于代码中的空行,cnwizards可不可以像ide原生功能那样,去掉多余的空行只保留一个空行? 很多时候加空行就是为了分割代码段,ctrl+w后全挤一块儿了 还有就是line break,比如在函数的参数里面,在参数很多的时候,有时候为了便于阅读,会显性的加入换行,每个参数独占一行,合并了反而不方便。ide本身有个设置可以keep line break "as is"感觉就挺好 FYI
----------------------------------------------
-
作者:
2021/9/30 8:53:28
25楼:
楼上,1、CnWizards的格式化一般会把连续出现的多个空行合并成保留一个空行。2、代码格式化专家里也有个选项可以保留语句内的换行。 如果有场合1不符合要求或2这个选项不起作用,可能是Bug,欢迎报给我们查查。
----------------------------------------------
欢迎使用CnPack IDE Wizards http://www.cnpack.org/
作者:
2021/9/30 9:31:17
26楼:
如果是函数体内部的空行,ctrl+W会合并保留成一个空行 但是在函数体外部,比如函数的声明位置, 全局变量的声明位置,ctrl+W会吃掉所有的空行,比如 TForm1 = class(TForm) procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } procedure Test1; //这里的空行会被吃掉 procedure Test2; end; var Form1: TForm1; //这里的空行会被吃掉 A: Integer; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin A := 1; //这里的空行不会被吃掉 A := 2; end;
----------------------------------------------
-
作者:
2021/9/30 17:07:34
27楼:
1056版已修正。 在有空行的地方是否保留至少一个空行,这个选项的确是在多个地方控制的,全局var等地方是我们漏控制了,已经加上。
----------------------------------------------
欢迎使用CnPack IDE Wizards http://www.cnpack.org/
作者:
2021/9/30 18:23:49
28楼:
赞刘大侠
----------------------------------------------
-
作者:
2021/10/1 18:41:52
29楼:
@cnpack 1056对于结构体内函数声明之间的空行还是会全部吃掉 是不是可以这样,不特意区分不同位置(可能注释区除外),遇到多个空行就压缩成一行? 我记得code formatter里面有个选项“keep user line break in statement",不选中的时候才全部吃掉 FYI
----------------------------------------------
-
作者:
2021/10/1 22:36:05
30楼:
是可以全部整成这样,但记得当时做成不同地方区分开来应该是有特殊需求才这么整的,现在控制选项复杂了,不敢贸然全部改掉怕引发莫名其妙的副作用。 下个版本把结构体内的函数声明部分也处理掉。
----------------------------------------------
欢迎使用CnPack IDE Wizards http://www.cnpack.org/
作者:
2021/10/7 21:11:12
31楼:
1057已出。
----------------------------------------------
欢迎使用CnPack IDE Wizards http://www.cnpack.org/