[IntelliJ IDEA + EduTools] 从零开始编写一套 Java 教材(二)

目录

[IntelliJ IDEA + EduTools] 从零开始编写一套 Java 教材(零)

[IntelliJ IDEA + EduTools] 从零开始编写一套 Java 教材(一)

上期回顾

第二课 YAML in EduTools

第0节 YAML 语言的介绍

第1节 Course-info.yaml(课程配置)

第2节 section-info.yaml(章节配置)

第3节 lesson-info.yaml(课时配置)

第4节 task-info.yaml(任务配置)

下集预告

[IntelliJ IDEA + EduTools] 从零开始编写一套 Java 教材(三)


上期回顾

在上一课中,我们详细地讲解了如何为 IntelliJ IDEA Ultimate 安装 EduTools 插件、为教程项目配置 JDK 与 Gradle ,同时成功地创建了一个基于 Gradle 的 Java 教程项目并导入至 IntelliJ IDEA 中。

一本优秀的教材通常都会将知识点分门别类、集中整合,方便师生共同学习。EduTools 将一个课程项目分成了4个层次:

  1. 课程整体(Course),使用 course-info.yaml 进行配置
  2. 各章节(Section),使用 section-info.yaml 进行配置
  3. 课时(Lesson),使用 lesson-info.yaml 进行配置
  4. 任务(Task),使用 task-info.yaml 进行配置

在这一课中,我们将介绍这4种 YAML 文件的格式并教大家如何读懂它。


第二课 YAML in EduTools

 

第0节 YAML 语言的介绍

YAML (Yet Another Markup Language) 是一种与 XML / JSON 类似的、专用于编写配置文件的标记性语言,它能够使用比 JSON 更为简单的方式编写任意规模的配置文件。这是一种格式严格的标记语言,它使用空白字符(White Space)缩进来展示配置之间的层次关系。

YAML 为我们提供了3种数据结构:对象(键-值对)、数组和字面常量,我们借助它们的嵌套或组合编写我们需要的配置信息。

字面常量

# 整数
2020

# 浮点数
0.618

# 字符串
# PS:在 YAML 中,字符串可以任意地使用单引号或双引号,甚至可以不使用引号
"Java"
'Gradle'
English

# 多行字符串
# 多行字符串可以使用 "|-" 作为引导,随后换行缩进1级(2个空格)书写文本内容
|-
  这是一个多行文本,当需要在文本中保留包括换行在内的特定格式时非常有用。
  
  编写人:Dragon1573
  日期:2020年9月3日

数组

# YAML 数组的每一个元素以一个 "-" 开头,其后空一格
- Section1
- Section2
- Section3
- Section4

对象(键值对)

# YAML 的对象是由键值对组成的,不论是键还是值都可以忽略引号直接书写
key: value

复合类型

YAML 复合类型是上面三种基础数据类型的嵌套与组合,我们将在后文中以实际的 YAML 配置文件为例进行讲解。

 

第1节 Course-info.yaml(课程配置)

示例代码

title: Tutorial
language: English
summary: |-
  Java course.
  Created: Sep 1, 2020, 9:35:00 PM.
programming_language: Java
programming_language_version: 8
environment: null
type: edu
solutions_hidden: true
vendor:
  name: Dragon1573
  email: vendor@example.com
  url: https://github.com/Dragon1573
content:
  - section1

配置说明 

名称描述
title课程标题字符串
language课程使用的文字语言

受支持的文字语言,例如英语 (English) 、汉语 (Chinese) 、日语 (Japanese)

summary课程概述单行或多行字符串
programming_language课程使用的编程语言受支持的编程语言,例如 Java, Kotlin, Scala, JavaScript, Rust
programming_language_version【可选】编程语言的版本数值或字符串
environment【可选】课程需要的额外环境例如 Kotlin 课程可以选择是否引入 Android 环境,Scala 课程可以选择使用 Gradle 或 SBT 进行管理
content课程中包含的章节或课程目录名由目录名称组成的列表
solutions_hidden【可选】是否允许学习者提前查看并核对答案布尔值(true / false),默认为 true
vendor【可选】课程编写者的个人信息开发者信息对象
vendor.name课程编写者的名称字符串
vendor.email课程编写者的电子邮箱地址电子邮箱
vendor.url课程编写者的个人网站URL
type【可选】课程类型枚举值:edu(离线教程项目)、coursera(在线教程配套项目)

 

第2节 section-info.yaml(章节配置)

示例代码

custom_name: MySection
content:
- lesson1

配置说明

名称描述
custom_name【可选】自定义章节名称(可以与目录名不同,IntelliJ IDEA Validator 没有加入这一项)字符串
content章节所拥有的课时子目录名称由目录名称组成的数组

 

第3节 lesson-info.yaml(课时配置)

示例代码

type: lesson
custom_name: MyLesson
content:
- task1

配置说明

名称描述
type【可选】课程类型枚举值:lesson / framework
custom_name【可选】自定义课时名称(可以与目录名不同,IntelliJ IDEA Validator 没有加入这一项)字符串
content课时所拥有的任务子目录名称由目录名称组成的数组

 

第4节 task-info.yaml(任务配置)

示例代码

type: output
custom_name: MyTask
files:
- name: src/Task.java
  visible: true
  placeholders:
  - offset: 73
    length: 18
    placeholder_text: /* Print out the string and go to a new line */
- name: test/output.txt
  visible: false

配置说明

名称描述
type任务类型
枚举值描述
edu基于单元测试的编程任务
theory理论教学任务
output基于输出文本匹配测试的编程任务
ide集成开发环境教学任务
choice单选或多选题任务
custom_name【可选】自定义任务名称字符串
files被包含至任务中的文件由文件对象(以下用 f 表示)组成的列表
f.name文件相对任务根目录的路径字符串
f.visible文件是否对学习者可见布尔值(true / false)
f.placeholders【可选】文件中的答案占位符由占位符对象(以下用 p 表示)组成的列表
f.p.offset占位符相对文件开头的偏移量数值
f.p.length占位符长度数值
f.p.placeholder_text占位符实际向学习者显示的占位内容字符串
f.p.dependency【可选】当前占位符所依赖的其他占位符信息依赖占位符对象(以下用 d 表示)
f.p.d.section【可选】依赖占位符所在的章节目录名字符串
f.p.d.lesson依赖占位符所在的课时目录名字符串
f.p.d.task依赖占位符所在的任务目录名字符串
f.p.d.file依赖占位符所在文件相对所在任务根目录的路径字符串
f.p.d.placeholder依赖占位符在文件中的索引(从0开始)数值
f.p.d.is_visible是否在依赖占位符处显示当前占位符布尔值(true / false),默认值为 true

下集预告

在这一课中,我们介绍了与 EduTools 有关的4种 YAML 文件的格式,现在我们应该能够非常自然地阅读这些配置文件了。在日常的开发过程中,很难遇到需要我们人为编辑这些 YAML 文件的情况,EduTools 中的 Course Creator 工具会辅助我们进行数字教材的编写工作。

下一节课,我们将着重讲解 Gradle 项目的2个核心配置文件:build.gradle 和 settings.gradle 。

一起去看看吧!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 1. 下载和安装IntelliJ IDEA软件 2. 打开IntelliJ IDEA软件,创建一个新项目 3. 选择Java项目类型,并设置项目名称和存储路径 4. 在项目中创建一个新的Java类 5. 编写Java代码,可以使用IntelliJ IDEA提供的自动补全和代码提示功能 6. 运行Java程序,可以使用IntelliJ IDEA提供的运行和调试工具 7. 调试Java程序,可以使用IntelliJ IDEA提供的调试工具进行调试 8. 导出Java程序,可以使用IntelliJ IDEA提供的导出功能将Java程序打包成jar文件或war文件。 ### 回答2: IntelliJ IDEA 是一款强大的Java 集成开发环境,提供了丰富的功能和工具来编写Java程序。以下是IntelliJ IDEA编写Java步骤的详细介绍: 1. 安装和配置IntelliJ IDEA 首先,需要从官网下载IntelliJ IDEA并安装到本地电脑中。在安装过程中可以按照提示进行设置和配置。 2. 创建一个Java项目 启动IntelliJ IDEA,在欢迎界面上选择“Create New Project”来创建一个新的Java项目。在弹出的对话框中,选择“Java”并设置项目的相关配置信息,如项目名称、项目路径和Java SDK版本。 3. 创建Java class 在项目中,可以右键点击“src”文件夹并选择“New -> Java Class”来创建一个新的Java class。在创建过程中,需要为Java class 命名并选择所需的默认类类型,如“public”或者“private”。 4. 编写Java代码 在创建Java class 后,你可以开始编写Java 代码。在IntelliJ IDEA 编辑窗口中,输入Java 代码,可以使用智能代码提示功能、快捷键、自动格式化等功能快速编写代码。 5. 运行Java程序 在编写Java 代码后,可以使用IntelliJ IDEA提供的运行工具来运行Java程序。可以选择在命令行中运行程序,或在IDEA中通过启动器运行程序,还可以通过打开运行窗口查看程序的输出结果。 6. 调试Java程序 IntelliJ IDEA 还提供了强大的调试工具来调试Java程序,可以设置断点、观察程序变量、执行单步调试等功能,便于在开发过程中找到和修复程序问题。 7. 打包和部署Java程序 当Java程序开发完成后,可以使用IntelliJ IDEA 提供的工具进行打包,生成jar 或者war包,然后通过部署工具将程序部署到目标服务器中。 总之,IntelliJ IDEA 是一款功能强大的Java 集成开发环境,提供了丰富的工具和功能,帮助Java 开发者快速编写和调试Java 程序。通过以上步骤,可以快速上手IntelliJ IDEA 编写Java 程序。 ### 回答3: IntelliJ IDEA是一款非常强大的Java IDE。作为一个Java开发工具,它具有完善的Java开发环境,并且提供了丰富的功能和插件,使得我们可以更加高效地编写代码。 下面是在IntelliJ IDEA编写Java的步骤: 1.下载并安装IntelliJ IDEA 在官网上下载IntelliJ IDEA安装包,按照安装步骤进行安装。 2.创建项目 打开IntelliJ IDEA,点击"Create New Project"按钮来创建一个新项目。在弹出的对话框中选择"Java"作为项目类型,选择"Create project from scratch",然后设置项目的名称、路径、SDK等,并确认创建。 3. 编写代码 在项目结构中,在src文件夹下创建一个新的Java类,编写代码。可以使用IntelliJ IDEA提供的代码补全功能,使得编写代码更加轻松。 4. 运行程序 在IDEA的按钮栏上选择Run,或者使用快捷键Shift + F10,来运行程序。IDEA将自动构建项目并执行程序。 5. 调试程序 在IDEA的调试工具栏和面板上添加断点,点击Debug按钮,程序将在断点上停止,等待调试程序员的操作。 6. 保存和提交代码 在编写代码的过程中,我们应该经常保存代码,并及时提交代码到版本控制工具中。 总之,在IntelliJ IDEA编写Java程序需要熟悉IDEA的开发环境,掌握基本的Java语法和相关工具的使用。通过不断地练习,我们可以将这些步骤运用到实际项目中,提高我们的开发效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

べ断桥烟雨ミ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值