mirror of
https://github.com/carlrobertoh/ProxyAI.git
synced 2026-05-10 12:10:14 +00:00
refactor: extract configuration state into standalone class
This commit is contained in:
parent
d0132c6c34
commit
097f0914bf
25 changed files with 165 additions and 199 deletions
|
|
@ -13,7 +13,7 @@ import com.intellij.openapi.startup.StartupActivity;
|
|||
import com.intellij.openapi.updateSettings.impl.UpdateChecker;
|
||||
import com.intellij.openapi.updateSettings.impl.UpdateSettings;
|
||||
import com.intellij.util.concurrency.AppExecutorUtil;
|
||||
import ee.carlrobert.codegpt.settings.configuration.ConfigurationState;
|
||||
import ee.carlrobert.codegpt.settings.configuration.ConfigurationSettings;
|
||||
import ee.carlrobert.codegpt.ui.OverlayUtil;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
|
@ -31,7 +31,7 @@ public class CodeGPTUpdateStartupActivity implements StartupActivity.Background
|
|||
|
||||
private void schedulePluginUpdateChecks(Project project) {
|
||||
AppExecutorUtil.getAppScheduledExecutorService().scheduleWithFixedDelay(() -> {
|
||||
if (project != null && ConfigurationState.getInstance().isCheckForPluginUpdates()) {
|
||||
if (project != null && ConfigurationSettings.getCurrentState().isCheckForPluginUpdates()) {
|
||||
new CheckForUpdatesTask(project).queue();
|
||||
}
|
||||
|
||||
|
|
@ -67,7 +67,7 @@ public class CodeGPTUpdateStartupActivity implements StartupActivity.Background
|
|||
.executeOnPooledThread(() -> installCodeGPTUpdate(myProject))))
|
||||
.addAction(NotificationAction.createSimpleExpiring(
|
||||
CodeGPTBundle.get("checkForUpdatesTask.notification.hideButton"),
|
||||
() -> ConfigurationState.getInstance().setCheckForPluginUpdates(false)))
|
||||
() -> ConfigurationSettings.getCurrentState().setCheckForPluginUpdates(false)))
|
||||
.notify(myProject);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ import com.intellij.openapi.compiler.CompilerMessageCategory;
|
|||
import com.intellij.openapi.project.Project;
|
||||
import ee.carlrobert.codegpt.completions.CompletionRequestProvider;
|
||||
import ee.carlrobert.codegpt.conversations.message.Message;
|
||||
import ee.carlrobert.codegpt.settings.configuration.ConfigurationState;
|
||||
import ee.carlrobert.codegpt.settings.configuration.ConfigurationSettings;
|
||||
import ee.carlrobert.codegpt.toolwindow.chat.standard.StandardChatToolWindowContentManager;
|
||||
import ee.carlrobert.codegpt.ui.OverlayUtil;
|
||||
import ee.carlrobert.embedding.ReferencedFile;
|
||||
|
|
@ -40,8 +40,7 @@ public class ProjectCompilationStatusListener implements CompilationStatusListen
|
|||
int errors,
|
||||
int warnings,
|
||||
@NotNull CompileContext compileContext) {
|
||||
var configuration = ConfigurationState.getInstance();
|
||||
var success = !configuration.isCaptureCompileErrors()
|
||||
var success = !ConfigurationSettings.getCurrentState().isCaptureCompileErrors()
|
||||
|| (!aborted && errors == 0 && warnings == 0);
|
||||
if (success) {
|
||||
return;
|
||||
|
|
@ -56,7 +55,7 @@ public class ProjectCompilationStatusListener implements CompilationStatusListen
|
|||
.sendMessage(getMultiFileMessage(compileContext), FIX_COMPILE_ERRORS)))
|
||||
.addAction(NotificationAction.createSimpleExpiring(
|
||||
CodeGPTBundle.get("checkForUpdatesTask.notification.hideButton"),
|
||||
() -> ConfigurationState.getInstance().setCaptureCompileErrors(false)))
|
||||
() -> ConfigurationSettings.getCurrentState().setCaptureCompileErrors(false)))
|
||||
.notify(project);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import com.intellij.openapi.actionSystem.AnAction;
|
|||
import com.intellij.openapi.actionSystem.AnActionEvent;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import ee.carlrobert.codegpt.codecompletions.CodeGPTEditorManager;
|
||||
import ee.carlrobert.codegpt.settings.configuration.ConfigurationState;
|
||||
import ee.carlrobert.codegpt.settings.configuration.ConfigurationSettings;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
/**
|
||||
|
|
@ -14,7 +14,7 @@ public class DisableCompletionsAction extends AnAction {
|
|||
|
||||
@Override
|
||||
public void actionPerformed(@NotNull AnActionEvent e) {
|
||||
ConfigurationState.getInstance().setCodeCompletionsEnabled(false);
|
||||
ConfigurationSettings.getCurrentState().setCodeCompletionsEnabled(false);
|
||||
CodeGPTEditorManager.getInstance().disposeAllInlays(e.getProject());
|
||||
ApplicationManager.getApplication()
|
||||
.getMessageBus().syncPublisher(CodeCompletionEnabledListener.TOPIC)
|
||||
|
|
@ -23,7 +23,7 @@ public class DisableCompletionsAction extends AnAction {
|
|||
|
||||
@Override
|
||||
public void update(@NotNull AnActionEvent e) {
|
||||
var codeCompletionEnabled = ConfigurationState.getInstance().isCodeCompletionsEnabled();
|
||||
var codeCompletionEnabled = ConfigurationSettings.getCurrentState().isCodeCompletionsEnabled();
|
||||
e.getPresentation().setEnabled(codeCompletionEnabled);
|
||||
e.getPresentation().setVisible(codeCompletionEnabled);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ package ee.carlrobert.codegpt.actions;
|
|||
import com.intellij.openapi.actionSystem.AnAction;
|
||||
import com.intellij.openapi.actionSystem.AnActionEvent;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import ee.carlrobert.codegpt.settings.configuration.ConfigurationState;
|
||||
import ee.carlrobert.codegpt.settings.configuration.ConfigurationSettings;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
/**
|
||||
|
|
@ -13,7 +13,7 @@ public class EnableCompletionsAction extends AnAction {
|
|||
|
||||
@Override
|
||||
public void actionPerformed(@NotNull AnActionEvent e) {
|
||||
ConfigurationState.getInstance().setCodeCompletionsEnabled(true);
|
||||
ConfigurationSettings.getCurrentState().setCodeCompletionsEnabled(true);
|
||||
ApplicationManager.getApplication()
|
||||
.getMessageBus().syncPublisher(CodeCompletionEnabledListener.TOPIC)
|
||||
.onCodeCompletionsEnabledChange(true);
|
||||
|
|
@ -21,7 +21,7 @@ public class EnableCompletionsAction extends AnAction {
|
|||
|
||||
@Override
|
||||
public void update(@NotNull AnActionEvent e) {
|
||||
var codeCompletionEnabled = ConfigurationState.getInstance().isCodeCompletionsEnabled();
|
||||
var codeCompletionEnabled = ConfigurationSettings.getCurrentState().isCodeCompletionsEnabled();
|
||||
e.getPresentation().setEnabled(!codeCompletionEnabled);
|
||||
e.getPresentation().setVisible(!codeCompletionEnabled);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ import com.intellij.openapi.extensions.PluginId;
|
|||
import com.intellij.openapi.project.Project;
|
||||
import ee.carlrobert.codegpt.CodeGPTKeys;
|
||||
import ee.carlrobert.codegpt.conversations.message.Message;
|
||||
import ee.carlrobert.codegpt.settings.configuration.ConfigurationState;
|
||||
import ee.carlrobert.codegpt.settings.configuration.ConfigurationSettings;
|
||||
import ee.carlrobert.codegpt.toolwindow.chat.standard.StandardChatToolWindowContentManager;
|
||||
import ee.carlrobert.codegpt.util.file.FileUtil;
|
||||
import ee.carlrobert.embedding.ReferencedFile;
|
||||
|
|
@ -52,7 +52,7 @@ public class EditorActionsUtil {
|
|||
group.add(new CustomPromptAction());
|
||||
group.addSeparator();
|
||||
|
||||
var configuredActions = ConfigurationState.getInstance().getTableData();
|
||||
var configuredActions = ConfigurationSettings.getCurrentState().getTableData();
|
||||
configuredActions.forEach((label, prompt) -> {
|
||||
// using label as action description to prevent com.intellij.diagnostic.PluginException
|
||||
// https://github.com/carlrobertoh/CodeGPT/issues/95
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ import javax.annotation.ParametersAreNonnullByDefault;
|
|||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
@ParametersAreNonnullByDefault
|
||||
class CodeCompletionEventListener implements CompletionEventListener {
|
||||
class CodeCompletionEventListener implements CompletionEventListener<String> {
|
||||
|
||||
private static final Logger LOG = Logger.getInstance(CodeCompletionEventListener.class);
|
||||
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ import com.intellij.openapi.editor.event.DocumentEvent;
|
|||
import com.intellij.openapi.editor.event.SelectionEvent;
|
||||
import com.intellij.openapi.editor.event.SelectionListener;
|
||||
import ee.carlrobert.codegpt.actions.CodeCompletionEnabledListener;
|
||||
import ee.carlrobert.codegpt.settings.configuration.ConfigurationState;
|
||||
import ee.carlrobert.codegpt.settings.configuration.ConfigurationSettings;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
|
|
@ -25,7 +25,7 @@ public class CodeCompletionListenerBinder implements Disposable {
|
|||
public CodeCompletionListenerBinder(Editor editor) {
|
||||
this.editor = editor;
|
||||
|
||||
if (ConfigurationState.getInstance().isCodeCompletionsEnabled()) {
|
||||
if (ConfigurationSettings.getCurrentState().isCodeCompletionsEnabled()) {
|
||||
addListeners();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -22,10 +22,8 @@ import com.intellij.openapi.editor.Editor;
|
|||
import com.intellij.openapi.editor.EditorCustomElementRenderer;
|
||||
import com.intellij.openapi.editor.Inlay;
|
||||
import com.intellij.openapi.editor.InlayModel;
|
||||
import com.intellij.openapi.editor.impl.EditorImpl;
|
||||
import com.intellij.openapi.keymap.KeymapManager;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.project.ProjectUtil;
|
||||
import com.intellij.openapi.util.TextRange;
|
||||
import com.intellij.psi.PsiDocumentManager;
|
||||
import com.intellij.psi.PsiElement;
|
||||
|
|
@ -35,7 +33,7 @@ import com.intellij.util.concurrency.annotations.RequiresReadLock;
|
|||
import com.intellij.util.concurrency.annotations.RequiresWriteLock;
|
||||
import ee.carlrobert.codegpt.actions.CodeCompletionEnabledListener;
|
||||
import ee.carlrobert.codegpt.completions.CompletionRequestService;
|
||||
import ee.carlrobert.codegpt.settings.configuration.ConfigurationState;
|
||||
import ee.carlrobert.codegpt.settings.configuration.ConfigurationSettings;
|
||||
import ee.carlrobert.codegpt.util.EditorUtil;
|
||||
import java.awt.event.KeyEvent;
|
||||
import java.util.List;
|
||||
|
|
@ -77,7 +75,7 @@ public final class CodeCompletionService implements Disposable {
|
|||
Project project = editor.getProject();
|
||||
if (project == null
|
||||
|| project.isDisposed()
|
||||
|| !ConfigurationState.getInstance().isCodeCompletionsEnabled()
|
||||
|| !ConfigurationSettings.getCurrentState().isCodeCompletionsEnabled()
|
||||
|| !EditorUtil.isSelectedEditor(editor)
|
||||
|| LookupManager.getActiveLookup(editor) != null
|
||||
|| editor.isViewer()
|
||||
|
|
@ -155,7 +153,7 @@ public final class CodeCompletionService implements Disposable {
|
|||
Document document = editor.getDocument();
|
||||
document.insertString(offset, text);
|
||||
editor.getCaretModel().moveToOffset(offset + text.length());
|
||||
if (ConfigurationState.getInstance().isAutoFormattingEnabled()) {
|
||||
if (ConfigurationSettings.getCurrentState().isAutoFormattingEnabled()) {
|
||||
EditorUtil.reformatDocument(
|
||||
requireNonNull(editor.getProject()),
|
||||
document,
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ import ee.carlrobert.codegpt.completions.llama.PromptTemplate;
|
|||
import ee.carlrobert.codegpt.conversations.Conversation;
|
||||
import ee.carlrobert.codegpt.conversations.ConversationsState;
|
||||
import ee.carlrobert.codegpt.conversations.message.Message;
|
||||
import ee.carlrobert.codegpt.settings.configuration.ConfigurationState;
|
||||
import ee.carlrobert.codegpt.settings.configuration.ConfigurationSettings;
|
||||
import ee.carlrobert.codegpt.settings.service.ServiceType;
|
||||
import ee.carlrobert.codegpt.settings.state.IncludedFilesSettingsState;
|
||||
import ee.carlrobert.codegpt.settings.state.LlamaSettingsState;
|
||||
|
|
@ -123,7 +123,7 @@ public class CompletionRequestProvider {
|
|||
systemPrompt,
|
||||
message.getPrompt(),
|
||||
conversation.getMessages());
|
||||
var configuration = ConfigurationState.getInstance();
|
||||
var configuration = ConfigurationSettings.getCurrentState();
|
||||
return new LlamaCompletionRequest.Builder(prompt)
|
||||
.setN_predict(configuration.getMaxTokens())
|
||||
.setTemperature(configuration.getTemperature())
|
||||
|
|
@ -154,13 +154,13 @@ public class CompletionRequestProvider {
|
|||
CallParameters callParameters,
|
||||
boolean useContextualSearch,
|
||||
@Nullable String overriddenPath) {
|
||||
|
||||
var configuration = ConfigurationSettings.getCurrentState();
|
||||
var builder = new OpenAIChatCompletionRequest.Builder(
|
||||
buildMessages(model, callParameters, useContextualSearch))
|
||||
.setModel(model)
|
||||
.setMaxTokens(ConfigurationState.getInstance().getMaxTokens())
|
||||
.setMaxTokens(configuration.getMaxTokens())
|
||||
.setStream(true)
|
||||
.setTemperature(ConfigurationState.getInstance().getTemperature());
|
||||
.setTemperature(configuration.getTemperature());
|
||||
|
||||
if (overriddenPath != null) {
|
||||
builder.setOverriddenPath(overriddenPath);
|
||||
|
|
@ -183,7 +183,7 @@ public class CompletionRequestProvider {
|
|||
if (callParameters.getConversationType() == ConversationType.DEFAULT) {
|
||||
messages.add(new OpenAIChatCompletionMessage(
|
||||
"system",
|
||||
ConfigurationState.getInstance().getSystemPrompt()));
|
||||
ConfigurationSettings.getCurrentState().getSystemPrompt()));
|
||||
}
|
||||
if (callParameters.getConversationType() == ConversationType.FIX_COMPILE_ERRORS) {
|
||||
messages.add(new OpenAIChatCompletionMessage("system", FIX_COMPILE_ERRORS_SYSTEM_PROMPT));
|
||||
|
|
@ -213,7 +213,7 @@ public class CompletionRequestProvider {
|
|||
|
||||
int totalUsage = messages.parallelStream()
|
||||
.mapToInt(encodingManager::countMessageTokens)
|
||||
.sum() + ConfigurationState.getInstance().getMaxTokens();
|
||||
.sum() + ConfigurationSettings.getCurrentState().getMaxTokens();
|
||||
int modelMaxTokens;
|
||||
try {
|
||||
modelMaxTokens = OpenAIChatCompletionModel.findByCode(model).getMaxTokens();
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ import ee.carlrobert.codegpt.codecompletions.CodeCompletionRequestProvider;
|
|||
import ee.carlrobert.codegpt.codecompletions.InfillRequestDetails;
|
||||
import ee.carlrobert.codegpt.credentials.AzureCredentialsManager;
|
||||
import ee.carlrobert.codegpt.credentials.OpenAICredentialsManager;
|
||||
import ee.carlrobert.codegpt.settings.configuration.ConfigurationState;
|
||||
import ee.carlrobert.codegpt.settings.configuration.ConfigurationSettings;
|
||||
import ee.carlrobert.codegpt.settings.state.AzureSettingsState;
|
||||
import ee.carlrobert.codegpt.settings.state.OpenAISettingsState;
|
||||
import ee.carlrobert.codegpt.settings.state.SettingsState;
|
||||
|
|
@ -89,10 +89,10 @@ public final class CompletionRequestService {
|
|||
|
||||
public void generateCommitMessageAsync(
|
||||
String prompt,
|
||||
CompletionEventListener eventListener) {
|
||||
CompletionEventListener<String> eventListener) {
|
||||
var request = new OpenAIChatCompletionRequest.Builder(List.of(
|
||||
new OpenAIChatCompletionMessage("system",
|
||||
ConfigurationState.getInstance().getCommitMessagePrompt()),
|
||||
ConfigurationSettings.getCurrentState().getCommitMessagePrompt()),
|
||||
new OpenAIChatCompletionMessage("user", prompt)))
|
||||
.setModel(OpenAISettingsState.getInstance().getModel())
|
||||
.build();
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ import com.intellij.psi.PsiElement;
|
|||
import com.intellij.psi.util.PsiUtilCore;
|
||||
import ee.carlrobert.codegpt.Icons;
|
||||
import ee.carlrobert.codegpt.credentials.OpenAICredentialsManager;
|
||||
import ee.carlrobert.codegpt.settings.configuration.ConfigurationState;
|
||||
import ee.carlrobert.codegpt.settings.configuration.ConfigurationSettings;
|
||||
import java.util.Optional;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
|
|
@ -20,10 +20,10 @@ public class MethodNameLookupListener implements LookupManagerListener {
|
|||
@Override
|
||||
public void activeLookupChanged(@Nullable Lookup oldLookup, @Nullable Lookup newLookup) {
|
||||
var application = ApplicationManager.getApplication();
|
||||
var configuration = ConfigurationState.getInstance();
|
||||
var configuration = ConfigurationSettings.getCurrentState();
|
||||
var credentialsManager = OpenAICredentialsManager.getInstance();
|
||||
|
||||
if (!configuration.isMethodRefactoringEnabled()
|
||||
if (!configuration.isMethodNameGenerationEnabled()
|
||||
|| !credentialsManager.isApiKeySet()
|
||||
|| !(newLookup instanceof LookupImpl)) {
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -103,7 +103,8 @@ public class ConfigurationComponent {
|
|||
systemPromptTextArea.setColumns(60);
|
||||
systemPromptTextArea.setRows(3);
|
||||
|
||||
commitMessagePromptTextArea = new JBTextArea(configuration.getCommitMessagePrompt(), 3, 60);
|
||||
commitMessagePromptTextArea = new JBTextArea(configuration.getCommitMessagePrompt(),
|
||||
3, 60);
|
||||
commitMessagePromptTextArea.setLineWrap(true);
|
||||
commitMessagePromptTextArea.setBorder(JBUI.Borders.empty(8, 4));
|
||||
|
||||
|
|
@ -115,7 +116,7 @@ public class ConfigurationComponent {
|
|||
configuration.isCreateNewChatOnEachAction());
|
||||
methodNameGenerationCheckBox = new JBCheckBox(
|
||||
CodeGPTBundle.get("configurationConfigurable.enableMethodNameGeneration.label"),
|
||||
configuration.isMethodRefactoringEnabled());
|
||||
configuration.isMethodNameGenerationEnabled());
|
||||
autoFormattingCheckBox = new JBCheckBox(
|
||||
CodeGPTBundle.get("configurationConfigurable.autoFormatting.label"),
|
||||
configuration.isAutoFormattingEnabled());
|
||||
|
|
@ -142,7 +143,36 @@ public class ConfigurationComponent {
|
|||
return mainPanel;
|
||||
}
|
||||
|
||||
public Map<String, String> getTableData() {
|
||||
public ConfigurationState getCurrentFormState() {
|
||||
var state = new ConfigurationState();
|
||||
state.setTableData(getTableData());
|
||||
state.setMaxTokens(maxTokensField.getValue());
|
||||
state.setTemperature(Double.parseDouble(temperatureField.getText()));
|
||||
state.setSystemPrompt(systemPromptTextArea.getText());
|
||||
state.setCommitMessagePrompt(commitMessagePromptTextArea.getText());
|
||||
state.setCheckForPluginUpdates(checkForPluginUpdatesCheckBox.isSelected());
|
||||
state.setCreateNewChatOnEachAction(openNewTabCheckBox.isSelected());
|
||||
state.setMethodNameGenerationEnabled(methodNameGenerationCheckBox.isSelected());
|
||||
state.setAutoFormattingEnabled(autoFormattingCheckBox.isSelected());
|
||||
state.setCodeCompletionsEnabled(
|
||||
ConfigurationSettings.getCurrentState().isCodeCompletionsEnabled());
|
||||
return state;
|
||||
}
|
||||
|
||||
public void resetForm() {
|
||||
var configuration = ConfigurationSettings.getCurrentState();
|
||||
setTableData(configuration.getTableData());
|
||||
maxTokensField.setValue(configuration.getMaxTokens());
|
||||
temperatureField.setText(String.valueOf(configuration.getTemperature()));
|
||||
systemPromptTextArea.setText(configuration.getSystemPrompt());
|
||||
commitMessagePromptTextArea.setText(configuration.getCommitMessagePrompt());
|
||||
checkForPluginUpdatesCheckBox.setSelected(configuration.isCheckForPluginUpdates());
|
||||
openNewTabCheckBox.setSelected(configuration.isCreateNewChatOnEachAction());
|
||||
methodNameGenerationCheckBox.setSelected(configuration.isMethodNameGenerationEnabled());
|
||||
autoFormattingCheckBox.setSelected(configuration.isAutoFormattingEnabled());
|
||||
}
|
||||
|
||||
private Map<String, String> getTableData() {
|
||||
var model = getModel();
|
||||
Map<String, String> data = new LinkedHashMap<>();
|
||||
for (int count = 0; count < model.getRowCount(); count++) {
|
||||
|
|
@ -264,70 +294,6 @@ public class ConfigurationComponent {
|
|||
tableData.forEach((action, prompt) -> model.addRow(new Object[]{action, prompt}));
|
||||
}
|
||||
|
||||
public void setSystemPrompt(String systemPrompt) {
|
||||
systemPromptTextArea.setText(systemPrompt);
|
||||
}
|
||||
|
||||
public String getSystemPrompt() {
|
||||
return systemPromptTextArea.getText();
|
||||
}
|
||||
|
||||
public void setCommitMessagePrompt(String commitMessagePrompt) {
|
||||
commitMessagePromptTextArea.setText(commitMessagePrompt);
|
||||
}
|
||||
|
||||
public String getCommitMessagePrompt() {
|
||||
return commitMessagePromptTextArea.getText();
|
||||
}
|
||||
|
||||
public double getTemperature() {
|
||||
return Double.parseDouble(temperatureField.getText());
|
||||
}
|
||||
|
||||
public void setTemperature(double temperature) {
|
||||
temperatureField.setText(String.valueOf(temperature));
|
||||
}
|
||||
|
||||
public int getMaxTokens() {
|
||||
return maxTokensField.getValue();
|
||||
}
|
||||
|
||||
public void setMaxTokens(int maxTokens) {
|
||||
maxTokensField.setValue(maxTokens);
|
||||
}
|
||||
|
||||
public boolean isCheckForPluginUpdates() {
|
||||
return checkForPluginUpdatesCheckBox.isSelected();
|
||||
}
|
||||
|
||||
public void setCheckForPluginUpdates(boolean checkForUpdates) {
|
||||
checkForPluginUpdatesCheckBox.setSelected(checkForUpdates);
|
||||
}
|
||||
|
||||
public boolean isCreateNewChatOnEachAction() {
|
||||
return openNewTabCheckBox.isSelected();
|
||||
}
|
||||
|
||||
public void setCreateNewChatOnEachAction(boolean createNewChatOnEachAction) {
|
||||
openNewTabCheckBox.setSelected(createNewChatOnEachAction);
|
||||
}
|
||||
|
||||
public boolean isMethodNameGenerationEnabled() {
|
||||
return methodNameGenerationCheckBox.isSelected();
|
||||
}
|
||||
|
||||
public void setDisableMethodNameGeneration(boolean disableMethodNameGeneration) {
|
||||
methodNameGenerationCheckBox.setSelected(disableMethodNameGeneration);
|
||||
}
|
||||
|
||||
public boolean isAutoFormattingEnabled() {
|
||||
return autoFormattingCheckBox.isSelected();
|
||||
}
|
||||
|
||||
public void setAutoFormattingEnabled(boolean enabled) {
|
||||
autoFormattingCheckBox.setSelected(enabled);
|
||||
}
|
||||
|
||||
class RevertToDefaultsActionButton extends AnActionButton {
|
||||
|
||||
RevertToDefaultsActionButton() {
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@ import com.intellij.openapi.Disposable;
|
|||
import com.intellij.openapi.options.Configurable;
|
||||
import com.intellij.openapi.util.Disposer;
|
||||
import ee.carlrobert.codegpt.CodeGPTBundle;
|
||||
import ee.carlrobert.codegpt.actions.editor.EditorActionsUtil;
|
||||
import javax.swing.JComponent;
|
||||
import org.jetbrains.annotations.Nls;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
|
@ -24,63 +23,27 @@ public class ConfigurationConfigurable implements Configurable {
|
|||
@Nullable
|
||||
@Override
|
||||
public JComponent createComponent() {
|
||||
var configuration = ConfigurationState.getInstance();
|
||||
parentDisposable = Disposer.newDisposable();
|
||||
configurationComponent = new ConfigurationComponent(parentDisposable, configuration);
|
||||
configurationComponent = new ConfigurationComponent(
|
||||
parentDisposable,
|
||||
ConfigurationSettings.getCurrentState());
|
||||
return configurationComponent.getPanel();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isModified() {
|
||||
var configuration = ConfigurationState.getInstance();
|
||||
return !configurationComponent.getTableData().equals(configuration.getTableData())
|
||||
|| configurationComponent.getMaxTokens() != configuration.getMaxTokens()
|
||||
|| configurationComponent.getTemperature() != configuration.getTemperature()
|
||||
|| !configurationComponent.getSystemPrompt().equals(configuration.getSystemPrompt())
|
||||
|| !configurationComponent.getCommitMessagePrompt()
|
||||
.equals(configuration.getCommitMessagePrompt())
|
||||
|| configurationComponent.isCheckForPluginUpdates()
|
||||
!= configuration.isCheckForPluginUpdates()
|
||||
|| configurationComponent.isCreateNewChatOnEachAction()
|
||||
!= configuration.isCreateNewChatOnEachAction()
|
||||
|| configurationComponent.isMethodNameGenerationEnabled()
|
||||
!= configuration.isMethodRefactoringEnabled()
|
||||
|| configurationComponent.isAutoFormattingEnabled()
|
||||
!= configuration.isAutoFormattingEnabled();
|
||||
return !configurationComponent.getCurrentFormState()
|
||||
.equals(ConfigurationSettings.getCurrentState());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void apply() {
|
||||
var configuration = ConfigurationState.getInstance();
|
||||
configuration.setTableData(configurationComponent.getTableData());
|
||||
configuration.setMaxTokens(configurationComponent.getMaxTokens());
|
||||
configuration.setTemperature(configurationComponent.getTemperature());
|
||||
configuration.setSystemPrompt(configurationComponent.getSystemPrompt());
|
||||
configuration.setCommitMessagePrompt(configurationComponent.getCommitMessagePrompt());
|
||||
configuration.setCheckForPluginUpdates(configurationComponent.isCheckForPluginUpdates());
|
||||
configuration.setCreateNewChatOnEachAction(
|
||||
configurationComponent.isCreateNewChatOnEachAction());
|
||||
configuration.setMethodNameGenerationEnabled(
|
||||
configurationComponent.isMethodNameGenerationEnabled());
|
||||
configuration.setAutoFormattingEnabled(configurationComponent.isAutoFormattingEnabled());
|
||||
EditorActionsUtil.refreshActions();
|
||||
ConfigurationSettings.getInstance().loadState(configurationComponent.getCurrentFormState());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void reset() {
|
||||
var configuration = ConfigurationState.getInstance();
|
||||
configurationComponent.setTableData(configuration.getTableData());
|
||||
configurationComponent.setMaxTokens(configuration.getMaxTokens());
|
||||
configurationComponent.setTemperature(configuration.getTemperature());
|
||||
configurationComponent.setSystemPrompt(configuration.getSystemPrompt());
|
||||
configurationComponent.setCommitMessagePrompt(configuration.getCommitMessagePrompt());
|
||||
configurationComponent.setCheckForPluginUpdates(configuration.isCheckForPluginUpdates());
|
||||
configurationComponent.setCreateNewChatOnEachAction(
|
||||
configuration.isCreateNewChatOnEachAction());
|
||||
configurationComponent.setDisableMethodNameGeneration(
|
||||
configuration.isMethodRefactoringEnabled());
|
||||
configurationComponent.setAutoFormattingEnabled(configuration.isAutoFormattingEnabled());
|
||||
EditorActionsUtil.refreshActions();
|
||||
configurationComponent.resetForm();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -0,0 +1,34 @@
|
|||
package ee.carlrobert.codegpt.settings.configuration;
|
||||
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.components.PersistentStateComponent;
|
||||
import com.intellij.openapi.components.State;
|
||||
import com.intellij.openapi.components.Storage;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
@State(
|
||||
name = "CodeGPT_ConfigurationSettings_210",
|
||||
storages = @Storage("CodeGPT_ConfigurationSettings_210.xml"))
|
||||
public class ConfigurationSettings implements PersistentStateComponent<ConfigurationState> {
|
||||
|
||||
private ConfigurationState state = new ConfigurationState();
|
||||
|
||||
@Override
|
||||
@NotNull
|
||||
public ConfigurationState getState() {
|
||||
return state;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void loadState(@NotNull ConfigurationState state) {
|
||||
this.state = state;
|
||||
}
|
||||
|
||||
public static ConfigurationState getCurrentState() {
|
||||
return getInstance().getState();
|
||||
}
|
||||
|
||||
public static ConfigurationSettings getInstance() {
|
||||
return ApplicationManager.getApplication().getService(ConfigurationSettings.class);
|
||||
}
|
||||
}
|
||||
|
|
@ -3,20 +3,11 @@ package ee.carlrobert.codegpt.settings.configuration;
|
|||
import static ee.carlrobert.codegpt.completions.CompletionRequestProvider.COMPLETION_SYSTEM_PROMPT;
|
||||
import static ee.carlrobert.codegpt.completions.CompletionRequestProvider.GENERATE_COMMIT_MESSAGE_SYSTEM_PROMPT;
|
||||
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.components.PersistentStateComponent;
|
||||
import com.intellij.openapi.components.State;
|
||||
import com.intellij.openapi.components.Storage;
|
||||
import com.intellij.util.xmlb.XmlSerializerUtil;
|
||||
import ee.carlrobert.codegpt.actions.editor.EditorActionsUtil;
|
||||
import java.util.Map;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import java.util.Objects;
|
||||
|
||||
@State(
|
||||
name = "CodeGPT_ConfigurationSettings_210",
|
||||
storages = @Storage("CodeGPT_ConfigurationSettings_210.xml"))
|
||||
public class ConfigurationState implements PersistentStateComponent<ConfigurationState> {
|
||||
public class ConfigurationState {
|
||||
|
||||
private String systemPrompt = COMPLETION_SYSTEM_PROMPT;
|
||||
private String commitMessagePrompt = GENERATE_COMMIT_MESSAGE_SYSTEM_PROMPT;
|
||||
|
|
@ -31,21 +22,6 @@ public class ConfigurationState implements PersistentStateComponent<Configuratio
|
|||
private boolean codeCompletionsEnabled;
|
||||
private Map<String, String> tableData = EditorActionsUtil.DEFAULT_ACTIONS;
|
||||
|
||||
public static ConfigurationState getInstance() {
|
||||
return ApplicationManager.getApplication().getService(ConfigurationState.class);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public ConfigurationState getState() {
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void loadState(@NotNull ConfigurationState state) {
|
||||
XmlSerializerUtil.copyBean(state, this);
|
||||
}
|
||||
|
||||
public String getSystemPrompt() {
|
||||
return systemPrompt;
|
||||
}
|
||||
|
|
@ -110,7 +86,7 @@ public class ConfigurationState implements PersistentStateComponent<Configuratio
|
|||
this.ignoreGitCommitTokenLimit = ignoreGitCommitTokenLimit;
|
||||
}
|
||||
|
||||
public boolean isMethodRefactoringEnabled() {
|
||||
public boolean isMethodNameGenerationEnabled() {
|
||||
return methodNameGenerationEnabled;
|
||||
}
|
||||
|
||||
|
|
@ -141,4 +117,35 @@ public class ConfigurationState implements PersistentStateComponent<Configuratio
|
|||
public void setCodeCompletionsEnabled(boolean codeCompletionsEnabled) {
|
||||
this.codeCompletionsEnabled = codeCompletionsEnabled;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
if (this == o) {
|
||||
return true;
|
||||
}
|
||||
if (o == null || getClass() != o.getClass()) {
|
||||
return false;
|
||||
}
|
||||
ConfigurationState that = (ConfigurationState) o;
|
||||
return maxTokens == that.maxTokens
|
||||
&& Double.compare(that.temperature, temperature) == 0
|
||||
&& checkForPluginUpdates == that.checkForPluginUpdates
|
||||
&& createNewChatOnEachAction == that.createNewChatOnEachAction
|
||||
&& ignoreGitCommitTokenLimit == that.ignoreGitCommitTokenLimit
|
||||
&& methodNameGenerationEnabled == that.methodNameGenerationEnabled
|
||||
&& captureCompileErrors == that.captureCompileErrors
|
||||
&& autoFormattingEnabled == that.autoFormattingEnabled
|
||||
&& codeCompletionsEnabled == that.codeCompletionsEnabled
|
||||
&& Objects.equals(systemPrompt, that.systemPrompt)
|
||||
&& Objects.equals(commitMessagePrompt, that.commitMessagePrompt)
|
||||
&& Objects.equals(tableData, that.tableData);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hash(systemPrompt, commitMessagePrompt, maxTokens, temperature,
|
||||
checkForPluginUpdates, createNewChatOnEachAction, ignoreGitCommitTokenLimit,
|
||||
methodNameGenerationEnabled, captureCompileErrors, autoFormattingEnabled,
|
||||
codeCompletionsEnabled, tableData);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ import ee.carlrobert.codegpt.conversations.Conversation;
|
|||
import ee.carlrobert.codegpt.conversations.ConversationService;
|
||||
import ee.carlrobert.codegpt.conversations.ConversationsState;
|
||||
import ee.carlrobert.codegpt.conversations.message.Message;
|
||||
import ee.carlrobert.codegpt.settings.configuration.ConfigurationState;
|
||||
import ee.carlrobert.codegpt.settings.configuration.ConfigurationSettings;
|
||||
import java.util.Arrays;
|
||||
import java.util.Optional;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
|
@ -37,7 +37,7 @@ public final class StandardChatToolWindowContentManager {
|
|||
public void sendMessage(Message message, ConversationType conversationType) {
|
||||
getToolWindow().show();
|
||||
|
||||
if (ConfigurationState.getInstance().isCreateNewChatOnEachAction()
|
||||
if (ConfigurationSettings.getCurrentState().isCreateNewChatOnEachAction()
|
||||
|| ConversationsState.getCurrentConversation() == null) {
|
||||
createNewTabPanel().sendMessage(message, conversationType);
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
package ee.carlrobert.codegpt.toolwindow.chat.ui.textarea;
|
||||
|
||||
import ee.carlrobert.codegpt.EncodingManager;
|
||||
import ee.carlrobert.codegpt.settings.configuration.ConfigurationState;
|
||||
import ee.carlrobert.codegpt.settings.configuration.ConfigurationSettings;
|
||||
|
||||
public class TotalTokensDetails {
|
||||
|
||||
|
|
@ -13,7 +13,7 @@ public class TotalTokensDetails {
|
|||
|
||||
public TotalTokensDetails(EncodingManager encodingManager) {
|
||||
systemPromptTokens = encodingManager.countTokens(
|
||||
ConfigurationState.getInstance().getSystemPrompt());
|
||||
ConfigurationSettings.getCurrentState().getSystemPrompt());
|
||||
}
|
||||
|
||||
public int getSystemPromptTokens() {
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ import com.intellij.util.ui.JBUI;
|
|||
import ee.carlrobert.codegpt.CodeGPTBundle;
|
||||
import ee.carlrobert.codegpt.conversations.ConversationsState;
|
||||
import ee.carlrobert.codegpt.indexes.FolderStructureTreePanel;
|
||||
import ee.carlrobert.codegpt.settings.configuration.ConfigurationState;
|
||||
import ee.carlrobert.codegpt.settings.configuration.ConfigurationSettings;
|
||||
import ee.carlrobert.codegpt.util.EditorUtil;
|
||||
import java.awt.Point;
|
||||
import java.awt.event.MouseEvent;
|
||||
|
|
@ -115,7 +115,7 @@ public class OverlayUtil {
|
|||
@Override
|
||||
public void rememberChoice(boolean isSelected, int exitCode) {
|
||||
if (isSelected) {
|
||||
ConfigurationState.getInstance().setIgnoreGitCommitTokenLimit(true);
|
||||
ConfigurationSettings.getCurrentState().setIgnoreGitCommitTokenLimit(true);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ import com.intellij.openapi.project.Project;
|
|||
import com.intellij.psi.PsiDocumentManager;
|
||||
import com.intellij.psi.codeStyle.CodeStyleManager;
|
||||
import com.intellij.testFramework.LightVirtualFile;
|
||||
import ee.carlrobert.codegpt.settings.configuration.ConfigurationState;
|
||||
import ee.carlrobert.codegpt.settings.configuration.ConfigurationSettings;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
|
@ -116,7 +116,7 @@ public final class EditorUtil {
|
|||
|
||||
document.replaceString(startOffset, endOffset, text);
|
||||
|
||||
if (ConfigurationState.getInstance().isAutoFormattingEnabled()) {
|
||||
if (ConfigurationSettings.getCurrentState().isAutoFormattingEnabled()) {
|
||||
reformatDocument(project, document, startOffset, endOffset);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@
|
|||
<applicationService serviceImplementation="ee.carlrobert.codegpt.settings.state.YouSettingsState"/>
|
||||
<applicationService serviceImplementation="ee.carlrobert.codegpt.settings.state.LlamaSettingsState"/>
|
||||
<applicationService serviceImplementation="ee.carlrobert.codegpt.settings.state.IncludedFilesSettingsState"/>
|
||||
<applicationService serviceImplementation="ee.carlrobert.codegpt.settings.configuration.ConfigurationState"/>
|
||||
<applicationService serviceImplementation="ee.carlrobert.codegpt.settings.configuration.ConfigurationSettings"/>
|
||||
<applicationService serviceImplementation="ee.carlrobert.codegpt.settings.advanced.AdvancedSettingsState"/>
|
||||
<applicationService serviceImplementation="ee.carlrobert.codegpt.conversations.ConversationsState"/>
|
||||
<editorFactoryListener implementation="ee.carlrobert.codegpt.codecompletions.CodeGPTEditorListener"/>
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ import com.intellij.openapi.editor.Editor;
|
|||
import com.intellij.openapi.editor.VisualPosition;
|
||||
import com.intellij.openapi.util.TextRange;
|
||||
import com.intellij.testFramework.PlatformTestUtil;
|
||||
import ee.carlrobert.codegpt.settings.configuration.ConfigurationState;
|
||||
import ee.carlrobert.codegpt.settings.configuration.ConfigurationSettings;
|
||||
import ee.carlrobert.llm.client.http.exchange.StreamHttpExchange;
|
||||
import java.util.List;
|
||||
import testsupport.IntegrationTest;
|
||||
|
|
@ -23,7 +23,7 @@ public class CodeCompletionServiceTest extends IntegrationTest {
|
|||
|
||||
public void testFetchCodeCompletionLlama() {
|
||||
useLlamaService();
|
||||
ConfigurationState.getInstance().setCodeCompletionsEnabled(true);
|
||||
ConfigurationSettings.getCurrentState().setCodeCompletionsEnabled(true);
|
||||
myFixture.configureByText(
|
||||
"CompletionTest.java",
|
||||
getResourceContent("/codecompletions/code-completion-file.txt"));
|
||||
|
|
@ -61,7 +61,7 @@ public class CodeCompletionServiceTest extends IntegrationTest {
|
|||
}
|
||||
|
||||
public void testApplyInlayAction() {
|
||||
ConfigurationState.getInstance().setAutoFormattingEnabled(false);
|
||||
ConfigurationSettings.getCurrentState().setAutoFormattingEnabled(false);
|
||||
myFixture.configureByText(
|
||||
"CompletionTest.java",
|
||||
getResourceContent("/codecompletions/code-completion-file.txt"));
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ import static org.assertj.core.groups.Tuple.tuple;
|
|||
import ee.carlrobert.codegpt.conversations.ConversationService;
|
||||
import ee.carlrobert.codegpt.conversations.message.Message;
|
||||
import ee.carlrobert.codegpt.credentials.OpenAICredentialsManager;
|
||||
import ee.carlrobert.codegpt.settings.configuration.ConfigurationState;
|
||||
import ee.carlrobert.codegpt.settings.configuration.ConfigurationSettings;
|
||||
import ee.carlrobert.codegpt.settings.state.OpenAISettingsState;
|
||||
import ee.carlrobert.llm.client.http.ResponseEntity;
|
||||
import ee.carlrobert.llm.client.http.exchange.BasicHttpExchange;
|
||||
|
|
@ -26,7 +26,7 @@ public class CompletionRequestProviderTest extends IntegrationTest {
|
|||
public void testChatCompletionRequestWithSystemPromptOverride() {
|
||||
OpenAICredentialsManager.getInstance().setApiKey("TEST_API_KEY");
|
||||
OpenAISettingsState.getInstance().setBaseHost(null);
|
||||
ConfigurationState.getInstance().setSystemPrompt("TEST_SYSTEM_PROMPT");
|
||||
ConfigurationSettings.getCurrentState().setSystemPrompt("TEST_SYSTEM_PROMPT");
|
||||
var conversation = ConversationService.getInstance().startConversation();
|
||||
var firstMessage = createDummyMessage(500);
|
||||
var secondMessage = createDummyMessage(250);
|
||||
|
|
@ -85,7 +85,7 @@ public class CompletionRequestProviderTest extends IntegrationTest {
|
|||
}
|
||||
|
||||
public void testChatCompletionRequestRetry() {
|
||||
ConfigurationState.getInstance().setSystemPrompt(COMPLETION_SYSTEM_PROMPT);
|
||||
ConfigurationSettings.getCurrentState().setSystemPrompt(COMPLETION_SYSTEM_PROMPT);
|
||||
var conversation = ConversationService.getInstance().startConversation();
|
||||
var firstMessage = createDummyMessage("FIRST_TEST_PROMPT", 500);
|
||||
var secondMessage = createDummyMessage("SECOND_TEST_PROMPT", 250);
|
||||
|
|
|
|||
|
|
@ -12,10 +12,9 @@ import static org.assertj.core.api.Assertions.assertThat;
|
|||
import static org.awaitility.Awaitility.await;
|
||||
|
||||
import ee.carlrobert.codegpt.CodeGPTPlugin;
|
||||
import ee.carlrobert.codegpt.conversations.Conversation;
|
||||
import ee.carlrobert.codegpt.conversations.ConversationService;
|
||||
import ee.carlrobert.codegpt.conversations.message.Message;
|
||||
import ee.carlrobert.codegpt.settings.configuration.ConfigurationState;
|
||||
import ee.carlrobert.codegpt.settings.configuration.ConfigurationSettings;
|
||||
import ee.carlrobert.codegpt.settings.state.AzureSettingsState;
|
||||
import ee.carlrobert.llm.client.http.exchange.StreamHttpExchange;
|
||||
import java.util.List;
|
||||
|
|
@ -180,7 +179,7 @@ public class DefaultCompletionRequestHandlerTest extends IntegrationTest {
|
|||
|
||||
public void testLlamaChatCompletionCall() {
|
||||
useLlamaService();
|
||||
ConfigurationState.getInstance().setMaxTokens(99);
|
||||
ConfigurationSettings.getCurrentState().setMaxTokens(99);
|
||||
var message = new Message("TEST_PROMPT");
|
||||
var conversation = ConversationService.getInstance().startConversation();
|
||||
conversation.addMessage(new Message("Ping", "Pong"));
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ import ee.carlrobert.codegpt.completions.ConversationType;
|
|||
import ee.carlrobert.codegpt.completions.HuggingFaceModel;
|
||||
import ee.carlrobert.codegpt.conversations.ConversationService;
|
||||
import ee.carlrobert.codegpt.conversations.message.Message;
|
||||
import ee.carlrobert.codegpt.settings.configuration.ConfigurationState;
|
||||
import ee.carlrobert.codegpt.settings.configuration.ConfigurationSettings;
|
||||
import ee.carlrobert.codegpt.settings.state.LlamaSettingsState;
|
||||
import ee.carlrobert.codegpt.toolwindow.chat.standard.StandardChatToolWindowTabPanel;
|
||||
import ee.carlrobert.embedding.ReferencedFile;
|
||||
|
|
@ -31,7 +31,7 @@ public class StandardChatToolWindowTabPanelTest extends IntegrationTest {
|
|||
|
||||
public void testSendingOpenAIMessage() {
|
||||
useOpenAIService();
|
||||
ConfigurationState.getInstance().setSystemPrompt(COMPLETION_SYSTEM_PROMPT);
|
||||
ConfigurationSettings.getCurrentState().setSystemPrompt(COMPLETION_SYSTEM_PROMPT);
|
||||
var message = new Message("Hello!");
|
||||
var conversation = ConversationService.getInstance().startConversation();
|
||||
var panel = new StandardChatToolWindowTabPanel(getProject(), conversation);
|
||||
|
|
@ -94,7 +94,7 @@ public class StandardChatToolWindowTabPanelTest extends IntegrationTest {
|
|||
new ReferencedFile("TEST_FILE_NAME_2", "TEST_FILE_PATH_2", "TEST_FILE_CONTENT_2"),
|
||||
new ReferencedFile("TEST_FILE_NAME_3", "TEST_FILE_PATH_3", "TEST_FILE_CONTENT_3")));
|
||||
useOpenAIService();
|
||||
ConfigurationState.getInstance().setSystemPrompt(COMPLETION_SYSTEM_PROMPT);
|
||||
ConfigurationSettings.getCurrentState().setSystemPrompt(COMPLETION_SYSTEM_PROMPT);
|
||||
var message = new Message("TEST_MESSAGE");
|
||||
message.setUserMessage("TEST_MESSAGE");
|
||||
message.setReferencedFilePaths(
|
||||
|
|
@ -181,7 +181,7 @@ public class StandardChatToolWindowTabPanelTest extends IntegrationTest {
|
|||
new ReferencedFile("TEST_FILE_NAME_2", "TEST_FILE_PATH_2", "TEST_FILE_CONTENT_2"),
|
||||
new ReferencedFile("TEST_FILE_NAME_3", "TEST_FILE_PATH_3", "TEST_FILE_CONTENT_3")));
|
||||
useOpenAIService();
|
||||
ConfigurationState.getInstance().setSystemPrompt(COMPLETION_SYSTEM_PROMPT);
|
||||
ConfigurationSettings.getCurrentState().setSystemPrompt(COMPLETION_SYSTEM_PROMPT);
|
||||
var message = new Message("TEST_MESSAGE");
|
||||
message.setUserMessage("TEST_MESSAGE");
|
||||
message.setReferencedFilePaths(
|
||||
|
|
@ -264,7 +264,7 @@ public class StandardChatToolWindowTabPanelTest extends IntegrationTest {
|
|||
|
||||
public void testSendingLlamaMessage() {
|
||||
useLlamaService();
|
||||
var configurationState = ConfigurationState.getInstance();
|
||||
var configurationState = ConfigurationSettings.getCurrentState();
|
||||
configurationState.setSystemPrompt(COMPLETION_SYSTEM_PROMPT);
|
||||
configurationState.setMaxTokens(1000);
|
||||
configurationState.setTemperature(0.1);
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ import com.intellij.openapi.actionSystem.ActionManager;
|
|||
import com.intellij.testFramework.fixtures.BasePlatformTestCase;
|
||||
import ee.carlrobert.codegpt.CodeGPTKeys;
|
||||
import ee.carlrobert.codegpt.codecompletions.CodeGPTEditorManager;
|
||||
import ee.carlrobert.codegpt.settings.configuration.ConfigurationState;
|
||||
import ee.carlrobert.codegpt.settings.configuration.ConfigurationSettings;
|
||||
import ee.carlrobert.llm.client.mixin.ExternalServiceTestMixin;
|
||||
import java.util.Collections;
|
||||
import testsupport.mixin.ShortcutsTestMixin;
|
||||
|
|
@ -22,7 +22,7 @@ public class IntegrationTest extends BasePlatformTestCase implements
|
|||
@Override
|
||||
protected void tearDown() throws Exception {
|
||||
ExternalServiceTestMixin.clearAll();
|
||||
ConfigurationState.getInstance().setCodeCompletionsEnabled(false);
|
||||
ConfigurationSettings.getCurrentState().setCodeCompletionsEnabled(false);
|
||||
CodeGPTEditorManager.getInstance().disposeAllInlays(getProject());
|
||||
ActionManager.getInstance().unregisterAction(APPLY_INLAY_ACTION_ID);
|
||||
getProject().putUserData(CodeGPTKeys.SELECTED_FILES, Collections.emptyList());
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue