Kotlin Playground

时间:2021-12-28 18:12:54

Kotlin官方提供了try.kotlinlang.org作为在线运行kotlin的平台给初学者来尝试以及学习kotlin。我们可以在try上面在线运行kotlin代码片段,而不需要打开一个IDE。

JetBrains现在开源了kotlin-playground的项目,它允许我们在自己的博客/网站上直接嵌入可以在线运行的kotlin代码片段。

安装

主要有两种安装方法:

  • 在页面直接引入js文件
  • 使用软件包管理工具,如npm安装

页面引入js文件

<script src="https://unpkg.com/kotlin-playground@1" data-selector="code"></script>

在页面添加上面的脚本,其中data-selector用来指定作为kotlin代码运行的css选择器。

如果不想在<script>标签上指定kotlin代码的选择器,把data-selector移除,在代码里自行配置如下:

<script src="https://unpkg.com/kotlin-playground@1"></script>
<script>
document.addEventListener('DOMContentLoaded', function() {
KotlinPlayground('.code-blocks-selector');
});
</script>


NPM

使用npm安装kotlin playground

npm install kotlin-playground -S

使用如下:

// ES5
var playground = require('kotlin-playground');
document.addEventListener('DOMContentLoaded', function() {
playground('code');
});
// ES6
import playground from 'kotlin-playground';
document.addEventListener('DOMContentLoaded', () => {
playground('code');
});

Kotlin Playground编辑器属性

Kotlin Playground在kotlin代码的元素上提供了一些属性来让我们定制编辑器的属性。

data-min-compiler-version

data-min-compiler-version指定kotlin编译器的最低版本。

<code data-min-compiler-version="1.1">
/*
代码放在此处
*/
</code>

data-target-platform

data-target-platform指定代码运行的目标平台:junit, canvas, js 或者 java (默认)。

<code data-target-platform="js">
/*
代码放在此处
*/
</code>

data-highlight-only

data-highlight-only设定只用于高亮代码,不执行。

<code data-highlight-only>
/*
代码放在此处
*/
</code>

只显示部分代码

在代码片段的前后添加标记//sampleStart 和//sampleEnd,它就会在页面只显示标记内的代码,其他代码会隐藏起来。

<code>
//sampleStart
fun sum(a: Int, b: Int): Int {
return a + b
}
//sampleEnd
fun main(args: Array<String>) {
print(sum(-1, 8))
}
</code>

如果要隐藏全部代码,把属性folded-button设置为false。

引用其他js文件

kotlin playground会加载jQuery,如果想加载其他的js文件,可以使用属性data-js-libs来指定加载的js文件,多个文件使用逗号隔开。

<code data-js-libs="https://my-awesome-js-lib/lib.min.js"> 
/*
代码放在此处
*/
</code>

后端

运行页面上的kotlin片段实际会把代码发送到服务器端来执行编译,然后再把结果返回到前端。服务器就是.kotlinlang.org。