Skip to content

Commit

Permalink
feat(coder): add custom for generate test #54
Browse files Browse the repository at this point in the history
  • Loading branch information
phodal committed Jan 5, 2024
1 parent 60deb26 commit b10a0f5
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 1 deletion.
7 changes: 6 additions & 1 deletion src/main/kotlin/cc/unitmesh/devti/gui/chat/ChatActionType.kt
Expand Up @@ -37,7 +37,12 @@ enum class ChatActionType {
}
}
CODE_COMPLETE -> "Complete $lang code, return rest code, no explaining"
GENERATE_TEST -> "Write unit test for given $lang code"
GENERATE_TEST -> {
devCoderSettings?.generateTest.let {
val defaultPrompt = "Generate test for $lang code"
compilePrompt(it, defaultPrompt, lang)
}
}
FIX_ISSUE -> {
devCoderSettings?.fixIssueCode.let {
val defaultPrompt = "Help me fix this issue"
Expand Down
Expand Up @@ -17,6 +17,7 @@ class AutoDevCoderConfigurable(project: Project) : BoundConfigurable(AutoDevBund
private val explainCodeField = JTextField()
private val refactorCodeField = JTextField()
private val fixIssueCodeField = JTextField()
private val generateTestField = JTextField()

val settings = project.service<AutoDevCoderSettingService>()
val state = settings.state.copy()
Expand Down Expand Up @@ -71,6 +72,14 @@ class AutoDevCoderConfigurable(project: Project) : BoundConfigurable(AutoDevBund
prop = state::fixIssueCode.toMutableProperty()
)
}
row(AutoDevBundle.message("settings.autodev.coder.generateTest")) {
fullWidthCell(generateTestField)
.bind(
componentGet = { it.text },
componentSet = { component, value -> component.text = value },
prop = state::generateTest.toMutableProperty()
)
}

onApply {
settings.modify {
Expand All @@ -80,6 +89,7 @@ class AutoDevCoderConfigurable(project: Project) : BoundConfigurable(AutoDevBund
it.explainCode = state.explainCode
it.refactorCode = state.refactorCode
it.fixIssueCode = state.fixIssueCode
it.generateTest = state.generateTest
}
}
}
Expand Down
Expand Up @@ -25,6 +25,7 @@ class AutoDevCoderSettingService(
var explainCode: String by property("Explain \$lang code") { it.isEmpty() }
var refactorCode: String by property("Refactor the given \$lang code") { it.isEmpty() }
var fixIssueCode: String by property("Help me fix this issue") { it.isEmpty() }
var generateTest: String by property("Generate test for \$lang code") { it.isEmpty() }

override fun copy(): AutoDevCoderSettings {
val state = AutoDevCoderSettings()
Expand Down
1 change: 1 addition & 0 deletions src/main/resources/messages/AutoDevBundle.properties
Expand Up @@ -94,4 +94,5 @@ settings.autodev.coder.inEditorCompletion=Completion in Editor
settings.autodev.coder.explainCode=Explain code
settings.autodev.coder.refactorCode=Refactor code
settings.autodev.coder.fixIssueCode=Fix issue
settings.autodev.coder.generateTest=Generate test

0 comments on commit b10a0f5

Please sign in to comment.