Subject:
代码格式化专家设置空格数只能调到1,最好能调到0,代表不需要空格
[Print This Page]
Author:
wuguan
Time:
2016-7-8 01:12
Subject:
代码格式化专家设置空格数只能调到1,最好能调到0,代表不需要空格
代码格式化专家是D6上用得很开心的工具了,但其功能设置有点笨笨的,那些空格数,有时想不要空格,为什么不能调到0呢?只能调到1至少有一只空格,其实应该也要可以调到0,不需要空格,以满足各种特殊口味的需要!
Author:
Passion
Time:
2016-7-8 06:09
好,下一每日构建版。
Author:
wuguan
Time:
2016-7-8 09:11
Subject:
回复 #2 Passion 的帖子
太好了!!还有一个,代码编辑器扩展专家设置中,最好有可以自定义缩进的空格数的设置,现在只能是默认2空格,其实这个也最好能自定义0-?个空格。这样的自由度就更高啦!
Author:
Passion
Time:
2016-7-8 10:03
上面这个使用的是IDE的缩进空格值,因为和IDE的缩进行为保持一致,调IDE的就行了。
Author:
wuguan
Time:
2016-7-8 14:43
Subject:
回复 #4 Passion 的帖子
非常感谢!补充具体操作方法如下:
菜单->Tools->Editor Options->Editor Properties窗口的General页->Block indent编辑框!
Author:
wuguan
Time:
2016-7-9 14:15
最新构建版试了,果然实现了功能!赞美!
用的是Delphi 6
请看以下代码:
procedure TForm1.Button1Click(Sender: TObject);
var
A: integer;
begin
A:=3+5*5;
messagebox(Form1.Handle, 'a', '123', 0);
A:=a+A;
Form1.Caption:=inttostr(A);
end;
最新版成功地实现了:=,+,*这些符合两边可以设置没有空格,并且行缩进为可以设为1空格。
但是像sender: ,A: 又或者函数参数内的,号分隔符后的空格数固定为1,这个好像不能更改。
还有一个是:
根据IDE内部符号表来纠正标识符的大小写 这个功能有点意思。
Ctrl+W 格式化当前源文件或选择区。
第3行,好像只有光标处于integer这条字符上面,才能被正确地格式化为:Integer,其它位置或格式化当前源文件都对其无效。
而下面的messagebox,A:=a+A;则只有光标处于begin到end;区域中时,才能被正确格式化为MessageBox,A:=A+A;
而inttostr则永远都不会被格式化为IntToStr
以上使用格式化当前源文件,或选择一片区域时,想纠正标识符都不是那么有效,好像只有确实想纠正某一段内标识符时,当标必须放到该段内,才生效。
所以说[根据IDE内部符号表来纠正标识符的大小写]有点奇怪,请问设计的初衷就是这样子的吗?
还有的是在单元尾一般都有end.结尾,当选择一个区域的文本进行格式化的时候,只要选到了这个end.就会出现错误指示。
---------------------------
错误
---------------------------
格式化错误(0,0):未知错误。
当前标识符:''''
---------------------------
确定
---------------------------
Author:
Passion
Time:
2016-7-11 09:50
感谢详细报告,我挨个查一下。
Author:
wuguan
Time:
2016-7-11 15:23
Subject:
回复 #7 Passion 的帖子
再补充一下:>符后的空格数设置也是
if A=5 then
if A> 5 then //这里也不能为0空格
if A<5 then
if A>=5 then
if A<=5 then
Author:
Passion
Time:
2016-7-11 22:54
逗号、冒号、分号等在Pascal语言中不作为运算符使用,因此是固定格式的前面不留空格后面留一个空格,不遵循双目运算符的前后空格规则。
IDE中能取到的符号列表和代码上下文有比较大的关系,在格式化时能取到的符号表很有限,许多局部变量都没法取出来,因此格式化时没能覆盖每一处代码的每一处标识符,这是一个局限。短期内无法修复。
if A> 5 then,这地方的大于号和泛型的<>被CnPack给混淆了,而泛型的<>后面需要用空格来分隔,所以出现了这个问题,我们想想办法看如何处理。
end.的选择问题能复现,我们也在看如何修复。
Author:
Passion
Time:
2016-7-13 12:05
> 后带空格的问题,最新844版已经修复。可以下载试一试。end.的选择问题比较奇怪,还没找到线索。
Author:
wuguan
Time:
2016-7-16 10:11
Subject:
回复 #9 Passion 的帖子
逗号、冒号、分号等在Pascal语言中不作为运算符使用,因此是固定格式的前面不留空格后面留一个空格,不遵循双目运算符的前后空格规则。
---------------------------
能够另单独开一个设置对于这种标点符号前后的空格进行设置吗?谢谢!
if A> 5 then,这地方的大于号和泛型的<>被CnPack给混淆了,而泛型的<>后面需要用空格来分隔,所以出现了这个问题,我们想想办法看如何处理
---------------------------
嗯,已下载试用
好!cnpack完善又进了一步!
赞美!
Author:
Passion
Time:
2016-8-2 22:49
end.的选择问题846版本已修复。可以下载试用一下。
Author:
wuguan
Time:
2016-8-3 19:54
Subject:
回复 #12 Passion 的帖子
恭喜问题解决。
虽然啰嗦!但还是希望对于, :这两个符号后的空格可以设为0。呵呵!!因为delphi本身是允许这样子写的。
另外还有问题报告:
1. 对于or and 这类英文的运算符号,设为空格数为0的时候,这个才是要真正考虑不受为0影响。
例如A:=5 or 3;
一格式化之后
A:=5or3;
因为delphi不能识别
2.按下[设置CnpackIDE专家工具] 之后确认,回到代码编辑器,小键盘就不能用了。不知是不是我这台电脑的特例。
Author:
Passion
Time:
2016-8-3 22:40
由于精力所限,原则上我们不增加新的设置选项了。
不过对于and or等双目运算符,的确要考虑到空格数为0时的问题,这个我修复一下。
Author:
wuguan
Time:
2016-8-12 13:38
嗯!已试用最新!问题已被解决!非常有用!
Welcome to CnPack Forum (http://bbs.cnpack.org/)
Powered by Discuz! 5.0.0