SnapCode 让您能够快速轻松地在任何现代浏览器中开始编写 Java 代码。SnapCode 提供现代编码功能、对 Java REPL(读取-求值-打印-循环)的支持以及对 UI、图形、图表、3D 等的全功能库支持。所有这些使 SnapCode 能够有效用于从教育到工程和数据科学的广泛用途。SnapCode 借助以下功能快速开始工作:
- 无需安装 - 在浏览器中运行
- 现代 IDE 功能
- Java REPL(读取-求值-打印-循环)
- 全功能库支持
- 集成的 UI 构建器
- 块编码支持
- Java Markdown
- 集成帮助系统
- 集成的开发人员工具
- 支持“分享”链接,轻松分享代码
- 适用于 Windows/Mac/Linux 的桌面应用程序
现代 IDE 功能
SnapCode 拥有您对现代 IDE 所期望的一切,使编写代码变得快速而简单:
- 语法高亮
- 代码完成(接收类/类型感知)
- 匹配符号突出显示
- 括号/方括号的平衡字符对处理
- 输入时内联警告和错误
- 项目级搜索(字符串或符号、引用和声明)
- 单击即可跳转到符号声明、超级声明、JavaDocs 和源代码
- 编辑器显示所选符号的 AST 层次结构
Java REPL(读取-求值-打印-循环)
SnapCode 允许您避免使用样板代码,并在您键入时评估代码片段以获得即时反馈。
- 隐式类和主要方法声明 - 只需开始输入代码
- 变量类型“var”用于隐式变量类型声明
- 语句终止符(分号)是可选的
- 直接访问常见的系统方法(无需前言)(print()、println() 等)
- REPL 样式输出(将堆叠输出显示为丰富的交互式视图)
Java REPL 支持是可选的 - 支持完整的 Java,并且可以自动生成,适用于代码需要可移植和兼容的情况。
全功能库支持
SnapCode 使用 SnapKit 和 SnapCharts 库构建,可以访问高级应用程序功能。
- 使用SnapKit完成 UI 编程
- 标签、按钮、滑块、文本字段
- ListView、TableView、TreeView、TabView、浏览器
- SplitView、ScrollView、DrawerView
- 矢量图形形状、任意变换、图像效果、渐变、纹理
- 支持 OpenGL/WebGL 的 3D 库(CameraView、VertexArray、Scene、Shape3D、Texture)
- UI 动画使物体发出嘶嘶声、滑动、摇晃和弹跳
- SnapCharts提供完整的图表支持
- 酒吧,馅饼
- 散点图、面积图、线图
- 轮廓线、极坐标轮廓线、3D轮廓线
- 对数轴、多 Y 轴
- 平移、缩放、鼠标悬停标签
Java Markdown
Java Markdown (JMD) 是标准 Markdown 的简单扩展 ,它添加了一个新的“可运行块”。只需用分隔符“~”将标准 Markdown 文件中的 Java 代码括起来,该块内的代码就会被编译、执行和显示。它支持一种简单的show(anything)方法,该方法告诉查看器要在块中显示什么。参数可以是任何内容:文本、图像、视图、UI 组件、图表等。
Java Markdown - run live Java code in a document |
Java Markdown 文件在 SnapCode 中编辑,可以作为完整 Java 项目的一部分,以从支持类、包和外部库依赖项中提取。JMD 可以作为独立的浏览器页面或在 SnapCode 内部查看。此功能仍在开发中,未来将有许多改进。
交互式帮助系统
SnapCode 还具有集成的帮助系统,可以快速找到几乎任何类型代码的模板。
即将推出
近期的规划中有许多功能:
- 浏览器版本中的可视化调试器
- 支持 Java 11 及更高版本
- 拼图块编码
- Github 支持
技术
该项目使用以下工具构建:
- SnapCode - SnapCode 的源代码(Github)
- SnapKit -Java UI 工具包(Github)
- SnapCharts ——Java 图表库(Github)
- CheerpJ - 浏览器中的 Java JVM