Skip to content

Commit

Permalink
fix: OpenAI edit code request building (fixes #737)
Browse files Browse the repository at this point in the history
  • Loading branch information
carlrobertoh committed Oct 18, 2024
1 parent a5bba91 commit 9e55aea
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,16 @@ import com.intellij.openapi.editor.Editor
import com.intellij.openapi.project.Project
import ee.carlrobert.codegpt.Icons
import ee.carlrobert.codegpt.ui.EditCodePopover
import javax.swing.Icon

class EditCodeAction : BaseEditorAction(Icons.Sparkle) {
open class EditCodeAction(icon: Icon) : BaseEditorAction(icon) {
override fun actionPerformed(project: Project, editor: Editor, selectedText: String) {
runInEdt {
EditCodePopover(editor).show()
}
}
}

class EditCodeFloatingMenuAction : EditCodeAction(Icons.DefaultSmall)

class EditCodeContextMenuAction : EditCodeAction(Icons.Sparkle)
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ interface CompletionRequestFactory {

abstract class BaseRequestFactory : CompletionRequestFactory {
override fun createEditCodeRequest(params: EditCodeRequestParameters): CompletionRequest {
val prompt = "${params.prompt}\n\n${params.selectedText}"
val prompt = "Code to modify:\n${params.selectedText}\n\nInstructions: ${params.prompt}"
return createBasicCompletionRequest(EDIT_CODE_SYSTEM_PROMPT, prompt, 8192, true)
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,10 +50,11 @@ class OpenAIRequestFactory : CompletionRequestFactory {

override fun createEditCodeRequest(params: EditCodeRequestParameters): OpenAIChatCompletionRequest {
val model = service<OpenAISettings>().state.model
val prompt = "Code to modify:\n${params.selectedText}\n\nInstructions: ${params.prompt}"
if (model == "o1-mini" || model == "o1-preview") {
return buildBasicO1Request(model, params.prompt, EDIT_CODE_SYSTEM_PROMPT)
return buildBasicO1Request(model, prompt, EDIT_CODE_SYSTEM_PROMPT)
}
return createBasicCompletionRequest(EDIT_CODE_SYSTEM_PROMPT, params.prompt, model, true)
return createBasicCompletionRequest(EDIT_CODE_SYSTEM_PROMPT, prompt, model, true)
}

override fun createCommitMessageRequest(params: CommitMessageRequestParameters): OpenAIChatCompletionRequest {
Expand Down
10 changes: 6 additions & 4 deletions src/main/resources/META-INF/plugin.xml
Original file line number Diff line number Diff line change
Expand Up @@ -105,9 +105,10 @@
<keyboard-shortcut keymap="$default" first-keystroke="ctrl shift I" replace-all="true"/>
</action>
<action
id="CodeGPT.EditCode"
id="CodeGPT.ContextMenuEditCodeAction"
text="Edit Code"
class="ee.carlrobert.codegpt.actions.editor.EditCodeAction">
description="Edit code in natural language"
class="ee.carlrobert.codegpt.actions.editor.EditCodeContextMenuAction">
<keyboard-shortcut keymap="$default" first-keystroke="ctrl shift K" replace-all="true"/>
</action>
<action
Expand Down Expand Up @@ -156,9 +157,10 @@

<group id="CodeGPT.FloatingCodeToolbarMenuRootGroup">
<action
id="CodeGPT.ModifySelectionAction"
id="CodeGPT.FloatingMenuEditCodeAction"
text="CodeGPT: Edit Code"
class="ee.carlrobert.codegpt.actions.editor.EditCodeAction">
description="Edit code in natural language"
class="ee.carlrobert.codegpt.actions.editor.EditCodeFloatingMenuAction">
<keyboard-shortcut keymap="$default" first-keystroke="ctrl shift K" replace-all="true"/>
</action>
<action
Expand Down

0 comments on commit 9e55aea

Please sign in to comment.