目录
场景描述
一、Scratch files and worksheets in the IDE
1、Scratch files(草稿文件)
特点:
Scratch files文件创建步骤:
功能解释:
Scratch Buffer笔记文件:
2、Worksheets(工单)
1)、创建方式不同。
2)、文件存储位置不同。
3、REPL
1)、Scratch Files支持REPL方式;
2)、WorkSheets支持REPL方式;
3)、通过IDE菜单栏打开;
二、Kotlin Playground in the browser
三、ki shell in the command line
场景描述
你是否有这样的需求?
requirement:有一段代码或者一个功能方法,没有100%把握是否OK,想写个main函数测试一下。
但是 IDEA 开发工具已经打开了其他项目工程,不方便写测试代码。或者不想打开 IDEA 项目工程,就只想简单的运行我的测试代码。有没有简单&快捷的方法呢?
answer:有。Kotlin为我们提供了如下三种场景的多种方式。
一、Scratch files and worksheets in the IDE
老文档:https://legacy.kotlincn.net/docs/tutorials/quick-run.html
新文档:https://www.jetbrains.com/help/idea/kotlin-repl.html
这个场景是依赖 IDEA 的,使用 IntelliJ IDEA 或 Android Studio 都可以。
这个场景有三种具体的方式:
1、Scratch files(草稿文件)
Scratch files(草稿文件)方式,即是新建一个临时的草稿文件。
特点:
1)、你可以在其中编写任意的Kotlin代码(如果你选择的是Kotlin语言类型的话),编写的所有内容最后会被当做main函数的函数体被执行。
2)、Scratch files文件支持语法高亮、代码补全、表达式计算、debug调试等完整的功能。
3)、Scratch files文件创建时,需要使用IDE(IntelliJ IDEA 或 Android Studio 都可以)打开任意一个项目,然后借助项目的IDE窗口,在左侧Projects View视图窗口右键单击,在弹出的菜单中选择 Scratch files 选项创建草稿文件。
4)、Scratch files文件存储的位置是:
Windows 平台:C:\Users\你的账号名称\AppData\Roaming\JetBrains\IdeaIC2024.1\scratches
Mac和Linux未测试过。想查看的话,可以右键单击scratch.kts文件,选择Open In -> Explorer 打开文件夹查看具体位置。
5)、Scratch files无内容关闭时,会自动删除文件。即当你清空Scratch files文件的内容后,再关闭文件。此时IDE会自动帮助你删除这个空的Scratch files文件。
*老版本的Kotlin,对Scratch files文件个数有限制(最多6个文件,再创建会覆盖scratch_1.kts)。测试了新版本创建10个文件都没问题。
Scratch files文件创建步骤:
第一步:在项目任意位置右键单击,打开菜单New -> Scratch File。
第二步:选择Scratch Files 后,会弹出语言选择窗口。根据你的需要,选择Kotlin、Java或者其他类型的语言都可以,根据你自己的需要。
第三步:语言类型选择好后,就会自动创建好Scratch Files 文件,并且打开。
功能解释:
1)、标记的第一块区域,Scratch Files 文件创建的位置。与具体的项目(如:Test_0623)无关,就算你关闭/删除了Test_0623这个项目也不会影响到Scratch Files文件。当前你创建的Scratch Files文件依旧会在Scratches and Consoles目录树中。
根据官方解释,Scratches and Consoles目录中还可以存放sql相关的测试文件,如果你安装了databases 数据库相关的插件后。
2)、标记的第二块区域,是Scratch Files文件的编辑区域,你可以在里面写任意代码。你所编写的任意内容会被包裹在main函数中最后被执行,即Scratch Files文件内容被当做main函数的函数体。
3)、标记的第三块区域,是Scratch Files文件内容执行的结果显示区域。
4)、代码编写好后,你可以点击图中的4(运行箭头按钮)执行程序。
5)、如果你想删除右边的执行结果,可以点击5(垃圾桶按钮)清空上一次的执行结果。
6)、如果你勾选了Interative mode选项,则会在你停止输入代码时,立即自动执行当前输入的所有程序,并在右侧打印执行结果。否则的话,需要你手动点击4(运行箭头按钮)执行程序。
7)、REPL模式表示,程序可以循环利用。上一步执行的结果会被存入res*格式的变量中,在下一行代码中可以使用res*变量参与运算。后面的篇幅中会讲到的。
8)、如果你的代码中需要用到某个 module中的类,或者你需要依赖某个第三方库时,你可以把需要依赖的库或者类文件放入某个module中,然后修改当前Scratch Files文件顶部的Use classpath of module选项,选中被依赖的目标module,即可在当前Scratch Files 文件中使用第三方库或类文件了。如果你选择了module后,上边还会多出一个复选框Make module before Run,聪明的你一眼就能看出什么意思。
Scratch Buffer笔记文件:
发现还有个New Scratch Buffer功能,即可以在Scratch files文件同目录下,创建普通的文本文件,暂时缓存有用但是不方便运行的代码,就像是普通的记事本工具。
New Scratch Buffer创建方式:在IDE内双击Shift打开全局搜索窗口,然后输入buffer,结果列表中的第一个就是。
2、Worksheets(工单)
Worksheets(工单)与Scratch files相比,功能几乎一样,略有不同。
不同点如下:
1)、创建方式不同。
第一步:选择你想要存放Worksheets文件的目录位置,然后右键单击打开选择菜单,选择New -> Kotlin Class/File。
第二步:在打开的Kotlin内容选择菜单中,选择Kotlin worksheet选项,并输入文件名,回车确认。(新/老版本文档中描述的创建步骤有差异)。
第三步:文件创建好后,如下图:
第四步:此时报红,缺少 runtime 环境。写点代码,鼠标放上去按照报错提示操作。
第五步:在弹出的对话框中,点击OK即可。
2)、文件存储位置不同。
正如上面截图所示,创建的文件 TestSheet.ws.kts 是在项目内的,而非全局公共区域。
这样有个好处是,你可以创建这样的文件作为演示或者教学使用的案例文档,与项目具体的功能块存放在一起。
3、REPL
REPL中文全称:读取-求值-输出-循环。
英文全称:Read-Eval-Print-Loop。
官方解释:
Kotlin REPL allows you to execute code on the fly without having to create files or configure a runtime environment for it. Also, it accepts simplified syntax so that it is possible to execute code with less ceremony.
翻译:
Kotlin REPL允许您动态执行代码,而不必为其创建文件或配置运行时环境。此外,它接受简化的语法,因此可以用更少的套路来执行代码。
通过REPL全称和解释,还是很难理解REPL到底是啥和如何使用。还好我看过官方文档的完整教程。通俗易懂的解释是:REPL方式拥有Scratch Files/WorkSheets方式全部的功能。但还有一个NB的功能,REPL为每一行表达式计算后的结果定义了变量,命名格式以res0开始(如果有第二个、第三个变量,则会命名为res1和res2)。然后你在写后面代码时,是可以引用前面的res*变量的,即计算结果循环利用。
例如:
REPL打开方式:
1)、Scratch Files支持REPL方式;
2)、WorkSheets支持REPL方式;
3)、通过IDE菜单栏打开;
在IDE菜单栏选择 Tools -> Kotlin -> Kotlin REPL(Experimental)
按照上面的步骤操作后,就会在IDE的Run窗口打开命令行窗口:
二、Kotlin Playground in the browser
这种方式是打开一个浏览器网址,在浏览器上完成代码编写和运行。网址是 Kotlin Playground: Edit, Run, Share Kotlin Code Online。
这种方式优点:
1)、你可以选择kotlin的编译版本;
2)、你可以在线分享代码链接Copy Link;
3)、你可以嵌入代码窗口到别的网页中Share code online;
更新的信息,请自己去探索吧,这儿就不说了。
三、ki shell in the command line
ki shell:全称是 Kotlin interactive shell。kotlin交互命令行,是一套在命令行中运行kotlin的工具集,支持的平台有Linux、macOS和Windows。
使用这种方式,需要安装koltin的命令行编译环境,下载地址:https://github.com/Kotlin/kotlin-interactive-shell
下载后解压到某个目录,然后运行 bin\ki.bat 文件(Windows平台)打开命令行窗口,即可开始快乐的写代码了。
这种方式提供了很多高级的功能:
1)、代码自动补全和语法高亮;
2)、类型检查;
3)、外部关系依赖;
4)、代码段粘贴模式;
5)、脚本支持;
更多的功能和用法,请自己去探索吧。