Skip to content

Commit ba83c80

Browse files
committed
feat: add token length config to #19
1 parent a7a9c1c commit ba83c80

File tree

4 files changed

+27
-11
lines changed

4 files changed

+27
-11
lines changed

src/main/kotlin/cc/unitmesh/devti/settings/AppSettingsComponent.kt

Lines changed: 21 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ class AppSettingsComponent {
2626
val customEngineServer = JBTextField()
2727
val customEngineToken = JBTextField()
2828
val language = ComboBox(HUMAN_LANGUAGES)
29+
val maxTokenLengthInput = JBTextField(MAX_TOKEN_LENGTH)
2930

3031
private var myEditor: EditorEx? = null
3132
private val customEnginePrompt by lazy {
@@ -57,6 +58,7 @@ class AppSettingsComponent {
5758
panel = FormBuilder.createFormBuilder()
5859
.addLabeledComponent(JBLabel("Language: "), language, 1, false)
5960
.addLabeledComponent(JBLabel("AI Engine: "), aiEngine, 1, false)
61+
.addLabeledComponent(JBLabel("Max Token Length: "), maxTokenLengthInput, 1, false)
6062
.addSeparator()
6163
.addTooltip("GitHub Token is for AutoDev")
6264
.addLabeledComponent(JBLabel("GitHub Token: "), githubToken, 1, false)
@@ -148,16 +150,25 @@ class AppSettingsComponent {
148150
language.selectedItem = newText
149151
}
150152

151-
fun isModified(origineSettings: AutoDevSettingsState): Boolean {
153+
fun getMaxTokenLength(): String {
154+
return maxTokenLengthInput.text
155+
}
156+
157+
fun setMaxTokenLength(newText: String) {
158+
maxTokenLengthInput.text = newText
159+
}
160+
161+
fun isModified(settings: AutoDevSettingsState): Boolean {
152162
// TODO use data class to avoid manually write this
153-
return origineSettings.openAiKey != getOpenAiKey() ||
154-
origineSettings.githubToken != getGithubToken() ||
155-
origineSettings.openAiModel != getOpenAiModel() ||
156-
origineSettings.customOpenAiHost != getOpenAiHost() ||
157-
origineSettings.aiEngine != getAiEngine() ||
158-
origineSettings.customEngineServer != getCustomEngineServer() ||
159-
origineSettings.customEngineToken != getCustomEngineToken() ||
160-
origineSettings.customEnginePrompts != getCustomEnginePrompt() ||
161-
origineSettings.language != getLanguage()
163+
return settings.openAiKey != getOpenAiKey() ||
164+
settings.githubToken != getGithubToken() ||
165+
settings.openAiModel != getOpenAiModel() ||
166+
settings.customOpenAiHost != getOpenAiHost() ||
167+
settings.aiEngine != getAiEngine() ||
168+
settings.customEngineServer != getCustomEngineServer() ||
169+
settings.customEngineToken != getCustomEngineToken() ||
170+
settings.customEnginePrompts != getCustomEnginePrompt() ||
171+
settings.language != getLanguage() ||
172+
settings.maxTokenLength != getMaxTokenLength()
162173
}
163174
}

src/main/kotlin/cc/unitmesh/devti/settings/AutoDevSettingsConfigurable.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ class AutoDevSettingsConfigurable : Configurable {
3939
settings.customEngineToken = component.getCustomEngineToken()
4040
settings.customEnginePrompts = component.getCustomEnginePrompt()
4141
settings.language = component.getLanguage()
42+
settings.maxTokenLength = component.getMaxTokenLength().ifEmpty(MAX_TOKEN_LENGTH::toString)
4243
}
4344

4445
override fun reset() {
@@ -52,5 +53,7 @@ class AutoDevSettingsConfigurable : Configurable {
5253
component.setCustomEngineServer(settings.customEngineServer)
5354
component.setCustomEngineToken(settings.customEngineToken)
5455
component.setCustomEnginePrompt(settings.customEnginePrompts)
56+
component.setLanguage(settings.language)
57+
component.setMaxTokenLength(settings.maxTokenLength)
5558
}
5659
}

src/main/kotlin/cc/unitmesh/devti/settings/AutoDevSettingsState.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ class AutoDevSettingsState : PersistentStateComponent<AutoDevSettingsState> {
1818
var customEngineToken = ""
1919
var customEnginePrompts = ""
2020
var language = DEFAULT_HUMAN_LANGUAGE
21+
var maxTokenLength = MAX_TOKEN_LENGTH.toString()
2122

2223
@Synchronized
2324
override fun getState(): AutoDevSettingsState {

src/main/kotlin/cc/unitmesh/devti/settings/Constants.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,5 @@ val AI_ENGINES = arrayOf("OpenAI", "Custom", "Azure")
55
val DEFAULT_AI_ENGINE = AI_ENGINES[0]
66

77
val HUMAN_LANGUAGES = arrayOf("English", "中文")
8-
val DEFAULT_HUMAN_LANGUAGE = HUMAN_LANGUAGES[0]
8+
val DEFAULT_HUMAN_LANGUAGE = HUMAN_LANGUAGES[0]
9+
val MAX_TOKEN_LENGTH = 4000

0 commit comments

Comments
 (0)