[IFT] Add reworked java onboarding lesson

GitOrigin-RevId: f2f92f105fc03a8d206878e1462a981f538ab456
This commit is contained in:
Alexey Merkulov
2024-05-14 00:06:32 +02:00
committed by intellij-monorepo-bot
parent 2cfc4319bd
commit c794a1f036
4 changed files with 36 additions and 2 deletions

View File

@@ -7,6 +7,7 @@ import com.intellij.java.ift.lesson.basic.JavaSelectLesson
import com.intellij.java.ift.lesson.basic.JavaSurroundAndUnwrapLesson
import com.intellij.java.ift.lesson.completion.*
import com.intellij.java.ift.lesson.essential.JavaOnboardingTourLesson
import com.intellij.java.ift.lesson.essential.JavaReworkedOnboardingTourLesson
import com.intellij.java.ift.lesson.navigation.*
import com.intellij.java.ift.lesson.refactorings.JavaExtractMethodCocktailSortLesson
import com.intellij.java.ift.lesson.refactorings.JavaRefactoringMenuLesson
@@ -29,12 +30,13 @@ import training.learn.lesson.general.assistance.ParameterInfoLesson
import training.learn.lesson.general.assistance.QuickPopupsLesson
import training.learn.lesson.general.navigation.FindInFilesLesson
import training.learn.lesson.general.refactorings.ExtractVariableFromBubbleLesson
import training.util.useShortOnboardingLesson
class JavaLearningCourse : LearningCourseBase(JavaLanguage.INSTANCE.id) {
override fun modules(): List<IftModule> = onboardingTour() + stableModules() + CourseManager.instance.findCommonModules("Git")
private val isOnboardingLessonEnabled: Boolean
get() = PlatformUtils.isIntelliJ()
get() = PlatformUtils.isIntelliJ() && !useShortOnboardingLesson
private fun onboardingTour() = if (isOnboardingLessonEnabled) listOf(
LearningModule(id = "Java.Onboarding",
@@ -54,7 +56,8 @@ class JavaLearningCourse : LearningCourseBase(JavaLanguage.INSTANCE.id) {
primaryLanguage = langSupport,
moduleType = LessonType.SCRATCH) {
fun ls(sampleName: String) = loadSample("EditorBasics/$sampleName")
listOf(
val adjust = if (useShortOnboardingLesson) listOf(JavaReworkedOnboardingTourLesson()) else emptyList()
adjust + listOf(
JavaContextActionsLesson(),
GotoActionLesson(ls("00.Actions.java.sample"), firstLesson = false),
JavaSearchEverywhereLesson(),

View File

@@ -0,0 +1,25 @@
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.java.ift.lesson.essential
import com.intellij.execution.RunManager
import training.dsl.LessonContext
class JavaReworkedOnboardingTourLesson : CommonLogicForOnboardingTours("idea.onboarding.reworked", "Reworked onboarding tour") {
override val sample = javaOnboardingTourSample
override val completionStepExpectedCompletion: String = "length"
override fun LessonContext.contextActions() = contextActionsForJavaOnboarding(sample)
override val lessonContent: LessonContext.() -> Unit = {
prepareRuntimeTask {
rememberJdkAtStart()
// So the Current run configuration will be set
RunManager.getInstance(project).selectedConfiguration = null
}
prepareSample(sample)
commonTasks()
}
}