本次更新的重点是代码编辑器,新的代码编辑器比微软的Visual Studio更加好用,大幅提升了编码效率,我们先通过动画了解在新版编辑器写一个典型事件代码的过程:
1、增加行号:
2、可以标记已经修改过的行:
3、可以批量编辑代码:
4、提供比Visual Studio更为强大的折叠功能
所有流程语句都可以折叠:
多行注释也可以折叠:
这是折叠后的效果:
5、在编写长代码的时候,这些流程辅助线可以有效帮助您理清楚各段代码之间的逻辑关系:
6、当鼠标移到左侧的折叠线时,可以帮你高亮显示当前代码块:
7、为所有流程语句提供了自动补齐功能,例如输入:
回车后会自动变为:
再例如输入:
Select Case e.DataCol.Name
回车后会自动变为:
Select Case e.DataCol.Name
Case
End Select
且光标会自动定位到 Case语句之后,方便继续输入:
8、提供了自动编排功能,假定输入了下面的代码:
Dim Sum As Integer
Dim i As Integer
For i = 1 To 100
If i Mod 2 = 0 Then
Continue For
End If
Sum = Sum + i
Next
Output.Show(Sum)
按F10键之后,代码会自动变为:
Dim Sum As Integer
Dim i As Integer
For i = 1 To 100
If i Mod 2 = 0 Then
Continue For
End If
Sum = Sum + i
Next
Output.Show(Sum)
9、提供了手工编排功能,例如对于下面的代码:

选定要缩进的多行之后,按Tab键即可统一向右缩进4个空格:

提示:按Shift+Tab可以反向缩进
10、提供了空格自动补齐功能,例如输入:
Dim a As Integer = 100
Dim b As Integer = 200
a=(a+b)+200/2
换行自后,会自动变为:
Dim a As Integer = 100
Dim b As Integer = 200
a = (a + b) + 200 / 2
11、代码精灵没有了,新的功能叫做"自动完成列表",不需要按tab键,会自动出现:

12、原来的自动帮助功能也保留了,通过自动完成列表选择一个成员之后,会自动显示其帮助:

13、你可以随时获得某个类型、属性、方法甚至某个某个变量的帮助,例如要在下面的代码中获得"AddNew"方法的帮助:
下图中的代码,用椭圆标记的位置,都可以通过F1键来获取帮助(如果有的话):
提示:变量必须在已经完成定义之后,才能通过F1获取帮助,这就是为什么在第一个nr位置按F1是无效的原因。
14、现在你选择某个成员或变量,会自动高亮显示所有使用到该变量或成员的地方:
15、提供了更加强大的查找和替换功能,按Ctrl+F可以调出查找窗口:
有关查找和替换功能的具体说明,可以参考帮助文件:
16、现在对于全角半角的处理很智能,代码中的全角会自动转为半角,而字符串中的全角会保留的:
17、现在几乎所有的方法,都会有方法参数提示,例如:
上图中,不仅显示了AddDays的说明,也显示了参数Value的说明。
有的时候,方法的语法有多个,例如String的SubString的语法有两个:
在命令窗口使用此类方法时,会提示该方法有多少个语法,你可以按上下箭头按键切换语法:
18、原来按Tab键出现成员或类型列表的功能继续保留,例如输入:
然后按Tab,会出现成员列表,且自动定位到第一个以F开头的成员:
19、提供了选项和自动设置功能:
提示:如果你只需要临时缩放编辑器的字体,在按住Ctrl键的通过,滚动滚轮鼠标即可
20、现在局部变量也可以自动提示了哦:
21、现在第三方DLL库,包括VBA都可以自动提示了:
22、新增代码参照和上下文比较功能,在编写代码的过程中,有两个需求是常见的:
A、从其他项目或帮助文件复制一段代码,然后参照这个代码编写自己的代码,或者和自己已经编写代码进行比较。
B、某个事件的代码很长,逻辑比较复杂,可能需要对相距比较远的两段代码进行上下文比较。
Foxtable的代码编辑器为此专门提供了两个功能,首先代码编辑器有个"参照"页,你可以将来自帮助文件或者其他项目的代码复制粘贴在这里,然后参照着编写自己的代码,或比和现有的代码进行比较:

如上图所示,拖动代码编辑区右上角的图标,可以将编辑区一分为二,两个编辑区显示的代码相同,你在任何一个编辑区修改代码,另一个编辑区也会同步修改,两个编辑区可以分别显示代码的不同位置,方便进行上下文比较:

23、所有场合的表名、列名都可以通过自动完成列表输入,你要做的只是先输入双引号,然后按Tab键:






假定我们要在命令窗口编写一段代码,用于将2021年且数量大于2000的订单的折扣设置为0.1,下面的代码演示了这段代码的输入过程,你应该可以体会到这种输入方式所带来的优势:

24、全局表事件能自动分析上下文,生成自动完成列表,用与输入列名。
例如下图中,系统判断出你正在针对出库表编写事件代码,所以列出的就是出库表的列:

下图则自动列出列订单表的列:

当然,表名也是可以自动列出的:

25、现在能自动识别列类型,然后列出其成员,例如:

25、现在窗口名和控件名也能自动列出了:

不仅如此,还能根据控件名自动识别控件类型,列出其属性和方法:


26、旧版控件事件的e.Sender只能列出"WinForm.Control"的成员,新版本识别更加正确,能准确识别Sender的类型,列出其所有成员:

27、现在编写窗口菜单事件(ItemClick)变得非常轻松:

这个自动完成列表同时列出列菜单名称和菜单标题,而且自动按照菜单的层级结构显示,非常方便。
此外编写代码直接使用某个菜单项目时,也可以使用自动完成列表:


28、烦人TopicBar的TopicLinkClick事件也专门设计了自动完成列表,要不真的很容易出错:

29、枚举值的输入变得更加方便,以最常用的MessageBox为例:

30、在编写系统菜单事件的时候,也更加方便了:

31、函数名也能自动输入了(可以根据目录分类显示),而且选择某个函数,该函数的代码会自动显示在帮助窗口:

32、窗口中的副本表、SQLTable和SQLQuery,也能自动列出表名和列名:

33、Functions增加一个Contains方法,用于判断是否存在某个指定名称的函数。
34、MRP统计可以区分生产和售后了,原反馈贴:
以下是2022版春季更新一些重要内容的回顾:
36、增加可交互的单元格图表功能:



37、增加分级数据管理功能,为大型企业管理软件的开发打下了坚实的基础,而且专门提供了BOM管理和MRP统计功能,为你开发专业企业管理软件打通了最后一步,你甚至不用编写任何代码,都能完成专业的BOM管理、MRP计算和工程造价计算等等。
分级数据管理的《使用指南》部分:
http://www.foxtable.com/webhelp/topics/3733.htm
分级数据管理的《开发指南》部分:
http://www.foxtable.com/webhelp/topics/3348.htm
38、用户函数可以分类管理了:

39、一个彩蛋,Foxtable的代码编辑器提供了大量的快捷操作方式,请参考:
以下内容只有回复后才可以浏览
历史更新:
如果要了解Foxtable 2022春季更新内容,请访问:
http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=171144
如果要了解Foxtable 2021的更新,请访问:
如果要了解Foxtable 2020的更新,请访问:
如果要了解Foxtable 2017的更新,请访问:
[此贴子已经被作者于2022/6/7 14:10:45编辑过]