2000元课程
免费学7天
函数+VBA
什么是代码输入提示?
代码输入提示(Code Completion/IntelliSense)是一种编程辅助功能,它可以在编写代码时自动提示可用的变量、函数、类等代码元素,并给出相关的信息和用法示例。这种功能可以大大提高开发效率,减少手动输入和查找的时间。
代码输入提示的主要特点包括:
自动补全:当输入部分关键字或标识符时,编辑器会自动弹出可选的补全列表,用户可以快速选择并完成输入。
上下文相关:提示会根据当前的代码上下文,智能地推荐相关的代码元素,如变量、函数、类等。
信息展示:除了补全建议,提示框还会显示代码元素的类型、参数列表、注释等相关信息,帮助开发者快速了解和使用。
WPS-JSA的代码输入提示现状
wps-jsa开发环境提供了基础的输出提示比如,Range("A1")后面打点,就会弹出一些提示,下图所示
但是更多的情况它没有任何提示,比如
Sheets("Sheet1") 访问表的时候
ActiveSheet 访问表 后面打点无正确提示
Cells(1,1)按单元格行列号访问的时候
Selection 访问当前选中单元格
Workbooks("xx.xlsm")
作为函数参数时 任何变量提示都会消失
在JSA编程中,缺乏提示功能可能会对非英语母语的用户造成不小的困扰。例如,当您尝试访问特定的工作表时,如使用 Sheets("Sheet1") 或 ActiveSheet,您可能不会得到预期的提示。同样,在通过行列号访问单元格,如 Cells(1,1),或访问当前选中的单元格 Selection 时,也可能面临类似的问题。
此外,当您处理工作簿,如 Workbooks("xx.xlsm"),这种缺乏提示的情况会带来挑战。您必须准确地记住并正确输入英文命令,包括正确的大小写。在VBA中,大小写错误可能不会导致错误,但在JSA中,即使是大小写错误也会导致代码无法运行。例如,Cells(1,1).ClearContents 这样的命令,您需要精确地记住每个单词,包括它们的大小写。
另一个例子是 Selection.NumberFormat,这个命令中的单词可能很难记住。此外,JSA中数组的方法虽然丰富,但对于英语能力较弱的用户来说,记住所有的方法名称可能是一项艰巨的任务。即使是简单的 .length 方法,用于获取数组长度,也可能难以一次性正确输入。
值得注意的是,数组在某些情况下确实有提示功能,但这通常限于直接声明和赋值的数组。当数组作为函数参数传递时,例如在变量中,提示功能通常会消失。这可能会给编程带来额外的困难。
arr.map(x=>x.length+1)
括号里面的x是单行一维数组, 这个x.后面的就没提示了, 只能靠自己记住,另外 所有的变量, 作为函数或者lambda函数参数的时候, 都会失去输入提示,比如在写带参数的函数时
因为jsa是弱类型语言,无法和VBA一样声明类型,这样就没法获得输入提示。
如何解决上诉问题:
在准备wps-jsa课程的过程中,我就意识到了这个输入提示的问题对新手的打击非常致命,甚至会让很多人完全失去学习和使用jsa的信心,所以我在jsa880框架里,增加一些黑科技手段,让上面这些无法提供输入提示的场合,多一点点操作,就可以得到完整的输入提示。首先复制我的jsa880框架代码放到自己代码的第一个模块里
增强输入提示方式:
Sheets("Sheet1") ->asSheet("Sheet1")
ActiveSheet -> $ActiveSheet
Cells(1,1) -> $(Cells(1,1))
Selection -> $Selection
Workbooks("xx.xlsm")->asWorkBook("xx.xlsm")
arr.map(x=>x.length) ->arr.map(x=>asArray(x).length)
下面是他们获得输入提示后的样子
可不要小看这些输入提示,它可以极大的提高编码速度,让我们可以在记不住英文单词的情况下,流畅的使用这些对象的属性和方法
当然这也只是JSA880框架所有能力的冰山一角,更多请阅读原文
JSA880框架获取方式 购买【郑广学WPS-JSA火箭速成班】教程即可
课程购买咨询请加我的微信EXCCEL880B 试学网址v.excel880.com
2000元课程
免费学7天
函数+VBA