From 5f2c76d0e31df972e22b036a483b802fe5375033 Mon Sep 17 00:00:00 2001 From: Timothy Makkison Date: Mon, 24 Nov 2025 22:26:26 +0000 Subject: [PATCH 1/4] feat: add global run on save option --- .../csharpier/CSharpierGlobalSettings.java | 40 +++++++++++++++++++ .../csharpier/CSharpierSettingsComponent.java | 10 +++++ .../ReformatWithCSharpierOnSaveListener.java | 3 +- .../src/main/resources/META-INF/plugin.xml | 1 + 4 files changed, 53 insertions(+), 1 deletion(-) create mode 100644 Src/CSharpier.Rider/src/main/java/com/intellij/csharpier/CSharpierGlobalSettings.java diff --git a/Src/CSharpier.Rider/src/main/java/com/intellij/csharpier/CSharpierGlobalSettings.java b/Src/CSharpier.Rider/src/main/java/com/intellij/csharpier/CSharpierGlobalSettings.java new file mode 100644 index 000000000..6d4cb9193 --- /dev/null +++ b/Src/CSharpier.Rider/src/main/java/com/intellij/csharpier/CSharpierGlobalSettings.java @@ -0,0 +1,40 @@ +package com.intellij.csharpier; + +import com.intellij.openapi.components.PersistentStateComponent; +import com.intellij.openapi.components.State; +import com.intellij.openapi.components.Storage; +import com.intellij.openapi.project.Project; +import com.intellij.util.xmlb.XmlSerializerUtil; +import org.jetbrains.annotations.NotNull; + +@State( + name = "com.intellij.csharpier.global", + storages = @Storage(file = "$APP_CONFIG$/CSharpierPlugin.xml") +) +public class CSharpierGlobalSettings implements PersistentStateComponent { + + @NotNull + static CSharpierGlobalSettings getInstance(@NotNull Project project) { + return project.getService(CSharpierGlobalSettings.class); + } + + private boolean runOnSave; + + public boolean getRunOnSave() { + return this.runOnSave; + } + + public void setRunOnSave(boolean value) { + this.runOnSave = value; + } + + @Override + public CSharpierGlobalSettings getState() { + return this; + } + + @Override + public void loadState(@NotNull CSharpierGlobalSettings state) { + XmlSerializerUtil.copyBean(state, this); + } +} diff --git a/Src/CSharpier.Rider/src/main/java/com/intellij/csharpier/CSharpierSettingsComponent.java b/Src/CSharpier.Rider/src/main/java/com/intellij/csharpier/CSharpierSettingsComponent.java index 8725fb3ef..cbe98a032 100644 --- a/Src/CSharpier.Rider/src/main/java/com/intellij/csharpier/CSharpierSettingsComponent.java +++ b/Src/CSharpier.Rider/src/main/java/com/intellij/csharpier/CSharpierSettingsComponent.java @@ -16,6 +16,7 @@ public class CSharpierSettingsComponent implements SearchableConfigurable { private final Project project; private JBCheckBox runOnSaveCheckBox = new JBCheckBox("Run on Save"); + private JBCheckBox globalRunOnSaveCheckBox = new JBCheckBox("Run on Save (Global)"); private JBCheckBox disableCSharpierServerCheckBox = new JBCheckBox("Disable CSharpier Server"); private JBCheckBox useCustomPath = new JBCheckBox("Override CSharpier Executable"); private JBTextField customPathTextField = new JBTextField(); @@ -67,6 +68,7 @@ private JComponent createSectionHeader(String label) { .addComponent(createSectionHeader("General Settings")) .setFormLeftIndent(leftIndent) .addComponent(this.runOnSaveCheckBox, topInset) + .addComponent(this.globalRunOnSaveCheckBox, topInset) .setFormLeftIndent(0) .addComponent(createSectionHeader("Developer Settings"), 20) .setFormLeftIndent(leftIndent) @@ -87,6 +89,8 @@ public boolean isModified() { return ( CSharpierSettings.getInstance(this.project).getRunOnSave() != this.runOnSaveCheckBox.isSelected() || + CSharpierGlobalSettings.getInstance(this.project).getRunOnSave() != + this.globalRunOnSaveCheckBox.isSelected() || CSharpierSettings.getInstance(this.project).getCustomPath() != this.customPathTextField.getText() || CSharpierSettings.getInstance(this.project).getUseCustomPath() != @@ -104,6 +108,9 @@ public void apply() { settings.setCustomPath(this.customPathTextField.getText()); settings.setDisableCSharpierServer(this.disableCSharpierServerCheckBox.isSelected()); settings.setUseCustomPath(this.useCustomPath.isSelected()); + + var globalSettings = CSharpierGlobalSettings.getInstance(this.project); + globalSettings.setRunOnSave(this.globalRunOnSaveCheckBox.isSelected()); } @Override @@ -113,5 +120,8 @@ public void reset() { this.useCustomPath.setSelected(settings.getUseCustomPath()); this.customPathTextField.setText(settings.getCustomPath()); this.disableCSharpierServerCheckBox.setSelected(settings.getDisableCSharpierServer()); + + var globalSettings = CSharpierGlobalSettings.getInstance(this.project); + this.globalRunOnSaveCheckBox.setSelected(globalSettings.getRunOnSave()); } } diff --git a/Src/CSharpier.Rider/src/main/java/com/intellij/csharpier/ReformatWithCSharpierOnSaveListener.java b/Src/CSharpier.Rider/src/main/java/com/intellij/csharpier/ReformatWithCSharpierOnSaveListener.java index 44bf333ac..e3e681a24 100644 --- a/Src/CSharpier.Rider/src/main/java/com/intellij/csharpier/ReformatWithCSharpierOnSaveListener.java +++ b/Src/CSharpier.Rider/src/main/java/com/intellij/csharpier/ReformatWithCSharpierOnSaveListener.java @@ -20,7 +20,8 @@ public void beforeDocumentSaving(@NotNull Document document) { } var cSharpierSettings = CSharpierSettings.getInstance(project); - if (!cSharpierSettings.getRunOnSave()) { + var cSharpierGlobalSettings = CSharpierGlobalSettings.getInstance(project); + if (!(cSharpierSettings.getRunOnSave() || cSharpierGlobalSettings.getRunOnSave())) { return; } diff --git a/Src/CSharpier.Rider/src/main/resources/META-INF/plugin.xml b/Src/CSharpier.Rider/src/main/resources/META-INF/plugin.xml index c2d559fac..6ac8835c1 100644 --- a/Src/CSharpier.Rider/src/main/resources/META-INF/plugin.xml +++ b/Src/CSharpier.Rider/src/main/resources/META-INF/plugin.xml @@ -5,6 +5,7 @@ belav com.intellij.modules.rider + From d6fd836d468ed1bdf6eddd65bd38e7ae3298e533 Mon Sep 17 00:00:00 2001 From: Timothy Makkison Date: Sun, 14 Dec 2025 20:10:00 +0000 Subject: [PATCH 2/4] feat: use `ComboxBox` options to support global runOnSave --- .../intellij/csharpier/CSharpierSettings.java | 26 +++++++++ .../csharpier/CSharpierSettingsComponent.java | 53 ++++++++++++++++--- .../ReformatWithCSharpierOnSaveListener.java | 10 +++- 3 files changed, 82 insertions(+), 7 deletions(-) diff --git a/Src/CSharpier.Rider/src/main/java/com/intellij/csharpier/CSharpierSettings.java b/Src/CSharpier.Rider/src/main/java/com/intellij/csharpier/CSharpierSettings.java index 2e49228c1..dc57a1a22 100644 --- a/Src/CSharpier.Rider/src/main/java/com/intellij/csharpier/CSharpierSettings.java +++ b/Src/CSharpier.Rider/src/main/java/com/intellij/csharpier/CSharpierSettings.java @@ -25,6 +25,16 @@ public void setRunOnSave(boolean value) { this.runOnSave = value; } + private ProjectRunOnSaveOption projectRunOnSaveOption = ProjectRunOnSaveOption.SoftNeverRun; + + public ProjectRunOnSaveOption getProjectRunOnSave() { + return this.projectRunOnSaveOption; + } + + public void setProjectRunOnSave(ProjectRunOnSaveOption value) { + this.projectRunOnSaveOption = value; + } + private boolean useCustomPath; public boolean getUseCustomPath() { @@ -63,5 +73,21 @@ public CSharpierSettings getState() { @Override public void loadState(@NotNull CSharpierSettings state) { XmlSerializerUtil.copyBean(state, this); + migrate(); } + + private void migrate() { + // If runOnSave was enabled it becomes ProjectRunOnSaveOption.RunOnSave + // we reset runOnSave to false - this value will never be used after this + if (getRunOnSave()) { + setRunOnSave(false); + setProjectRunOnSave(ProjectRunOnSaveOption.RunOnSave); + } + } +} + +enum ProjectRunOnSaveOption { + SoftNeverRun, + HardNeverRun, + RunOnSave, } diff --git a/Src/CSharpier.Rider/src/main/java/com/intellij/csharpier/CSharpierSettingsComponent.java b/Src/CSharpier.Rider/src/main/java/com/intellij/csharpier/CSharpierSettingsComponent.java index cbe98a032..78844a96f 100644 --- a/Src/CSharpier.Rider/src/main/java/com/intellij/csharpier/CSharpierSettingsComponent.java +++ b/Src/CSharpier.Rider/src/main/java/com/intellij/csharpier/CSharpierSettingsComponent.java @@ -1,7 +1,9 @@ package com.intellij.csharpier; +import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.options.SearchableConfigurable; import com.intellij.openapi.project.Project; +import com.intellij.openapi.ui.ComboBox; import com.intellij.ui.components.JBCheckBox; import com.intellij.ui.components.JBLabel; import com.intellij.ui.components.JBTextField; @@ -14,8 +16,15 @@ public class CSharpierSettingsComponent implements SearchableConfigurable { + Logger logger = CSharpierLogger.getInstance(); + private final Project project; - private JBCheckBox runOnSaveCheckBox = new JBCheckBox("Run on Save"); + private final String[] runOnSaveOptions = new String[] { + "Don't run on save", + "Never run on save", + "Run on save", + }; + private ComboBox runOnSaveComboBox = new ComboBox(runOnSaveOptions); private JBCheckBox globalRunOnSaveCheckBox = new JBCheckBox("Run on Save (Global)"); private JBCheckBox disableCSharpierServerCheckBox = new JBCheckBox("Disable CSharpier Server"); private JBCheckBox useCustomPath = new JBCheckBox("Override CSharpier Executable"); @@ -67,7 +76,12 @@ private JComponent createSectionHeader(String label) { return FormBuilder.createFormBuilder() .addComponent(createSectionHeader("General Settings")) .setFormLeftIndent(leftIndent) - .addComponent(this.runOnSaveCheckBox, topInset) + .addLabeledComponent( + new JBLabel("Run on save (Project):"), + this.runOnSaveComboBox, + topInset, + false + ) .addComponent(this.globalRunOnSaveCheckBox, topInset) .setFormLeftIndent(0) .addComponent(createSectionHeader("Developer Settings"), 20) @@ -87,8 +101,8 @@ private JComponent createSectionHeader(String label) { @Override public boolean isModified() { return ( - CSharpierSettings.getInstance(this.project).getRunOnSave() != - this.runOnSaveCheckBox.isSelected() || + CSharpierSettings.getInstance(this.project).getProjectRunOnSave() != + this.toRunOnSaveOption() || CSharpierGlobalSettings.getInstance(this.project).getRunOnSave() != this.globalRunOnSaveCheckBox.isSelected() || CSharpierSettings.getInstance(this.project).getCustomPath() != @@ -104,7 +118,7 @@ public boolean isModified() { public void apply() { var settings = CSharpierSettings.getInstance(this.project); - settings.setRunOnSave(this.runOnSaveCheckBox.isSelected()); + settings.setProjectRunOnSave(this.toRunOnSaveOption()); settings.setCustomPath(this.customPathTextField.getText()); settings.setDisableCSharpierServer(this.disableCSharpierServerCheckBox.isSelected()); settings.setUseCustomPath(this.useCustomPath.isSelected()); @@ -116,7 +130,7 @@ public void apply() { @Override public void reset() { var settings = CSharpierSettings.getInstance(this.project); - this.runOnSaveCheckBox.setSelected(settings.getRunOnSave()); + this.setSelectedRunOnSave(settings.getProjectRunOnSave()); this.useCustomPath.setSelected(settings.getUseCustomPath()); this.customPathTextField.setText(settings.getCustomPath()); this.disableCSharpierServerCheckBox.setSelected(settings.getDisableCSharpierServer()); @@ -124,4 +138,31 @@ public void reset() { var globalSettings = CSharpierGlobalSettings.getInstance(this.project); this.globalRunOnSaveCheckBox.setSelected(globalSettings.getRunOnSave()); } + + private ProjectRunOnSaveOption toRunOnSaveOption() { + String selectedItem = (String) runOnSaveComboBox.getSelectedItem(); + + if (selectedItem == runOnSaveOptions[0]) { + return ProjectRunOnSaveOption.SoftNeverRun; + } else if (selectedItem == runOnSaveOptions[1]) { + return ProjectRunOnSaveOption.HardNeverRun; + } else if (selectedItem == runOnSaveOptions[2]) { + return ProjectRunOnSaveOption.RunOnSave; + } + + this.logger.debug("invalid runOnSaveComboBox selection: " + selectedItem); + return ProjectRunOnSaveOption.SoftNeverRun; + } + + private void setSelectedRunOnSave(ProjectRunOnSaveOption saveOption) { + if (saveOption == ProjectRunOnSaveOption.SoftNeverRun) { + this.runOnSaveComboBox.setSelectedItem(runOnSaveOptions[0]); + } else if (saveOption == ProjectRunOnSaveOption.HardNeverRun) { + this.runOnSaveComboBox.setSelectedItem(runOnSaveOptions[1]); + } else if (saveOption == ProjectRunOnSaveOption.RunOnSave) { + this.runOnSaveComboBox.setSelectedItem(runOnSaveOptions[2]); + } + + this.logger.debug("tried to set invalid ProjectRunOnSaveOption: " + saveOption); + } } diff --git a/Src/CSharpier.Rider/src/main/java/com/intellij/csharpier/ReformatWithCSharpierOnSaveListener.java b/Src/CSharpier.Rider/src/main/java/com/intellij/csharpier/ReformatWithCSharpierOnSaveListener.java index e3e681a24..d4b1ddfb6 100644 --- a/Src/CSharpier.Rider/src/main/java/com/intellij/csharpier/ReformatWithCSharpierOnSaveListener.java +++ b/Src/CSharpier.Rider/src/main/java/com/intellij/csharpier/ReformatWithCSharpierOnSaveListener.java @@ -21,7 +21,15 @@ public void beforeDocumentSaving(@NotNull Document document) { var cSharpierSettings = CSharpierSettings.getInstance(project); var cSharpierGlobalSettings = CSharpierGlobalSettings.getInstance(project); - if (!(cSharpierSettings.getRunOnSave() || cSharpierGlobalSettings.getRunOnSave())) { + + if (cSharpierSettings.getProjectRunOnSave() == ProjectRunOnSaveOption.HardNeverRun) { + return; + } + + if ( + !(cSharpierSettings.getProjectRunOnSave() == ProjectRunOnSaveOption.RunOnSave || + cSharpierGlobalSettings.getRunOnSave()) + ) { return; } From 8062f515fc81a2783e745f068fc4552e4cf334f5 Mon Sep 17 00:00:00 2001 From: Timothy Makkison Date: Tue, 30 Dec 2025 19:24:29 +0000 Subject: [PATCH 3/4] fix: update variable and display names after feedback --- .../intellij/csharpier/CSharpierSettings.java | 23 +++++++------ .../csharpier/CSharpierSettingsComponent.java | 34 +++++++++---------- .../ReformatWithCSharpierOnSaveListener.java | 4 +-- 3 files changed, 31 insertions(+), 30 deletions(-) diff --git a/Src/CSharpier.Rider/src/main/java/com/intellij/csharpier/CSharpierSettings.java b/Src/CSharpier.Rider/src/main/java/com/intellij/csharpier/CSharpierSettings.java index dc57a1a22..0bb6bcf90 100644 --- a/Src/CSharpier.Rider/src/main/java/com/intellij/csharpier/CSharpierSettings.java +++ b/Src/CSharpier.Rider/src/main/java/com/intellij/csharpier/CSharpierSettings.java @@ -25,14 +25,15 @@ public void setRunOnSave(boolean value) { this.runOnSave = value; } - private ProjectRunOnSaveOption projectRunOnSaveOption = ProjectRunOnSaveOption.SoftNeverRun; + private SolutionRunOnSaveOption solutionRunOnSaveOption = + SolutionRunOnSaveOption.UseGlobalSetting; - public ProjectRunOnSaveOption getProjectRunOnSave() { - return this.projectRunOnSaveOption; + public SolutionRunOnSaveOption getSolutionRunOnSave() { + return this.solutionRunOnSaveOption; } - public void setProjectRunOnSave(ProjectRunOnSaveOption value) { - this.projectRunOnSaveOption = value; + public void setSolutionRunOnSave(SolutionRunOnSaveOption value) { + this.solutionRunOnSaveOption = value; } private boolean useCustomPath; @@ -77,17 +78,17 @@ public void loadState(@NotNull CSharpierSettings state) { } private void migrate() { - // If runOnSave was enabled it becomes ProjectRunOnSaveOption.RunOnSave + // If runOnSave was enabled it becomes SolutionRunOnSaveOption.True // we reset runOnSave to false - this value will never be used after this if (getRunOnSave()) { setRunOnSave(false); - setProjectRunOnSave(ProjectRunOnSaveOption.RunOnSave); + setSolutionRunOnSave(SolutionRunOnSaveOption.True); } } } -enum ProjectRunOnSaveOption { - SoftNeverRun, - HardNeverRun, - RunOnSave, +enum SolutionRunOnSaveOption { + UseGlobalSetting, + False, + True, } diff --git a/Src/CSharpier.Rider/src/main/java/com/intellij/csharpier/CSharpierSettingsComponent.java b/Src/CSharpier.Rider/src/main/java/com/intellij/csharpier/CSharpierSettingsComponent.java index 78844a96f..a885ac39c 100644 --- a/Src/CSharpier.Rider/src/main/java/com/intellij/csharpier/CSharpierSettingsComponent.java +++ b/Src/CSharpier.Rider/src/main/java/com/intellij/csharpier/CSharpierSettingsComponent.java @@ -20,9 +20,9 @@ public class CSharpierSettingsComponent implements SearchableConfigurable { private final Project project; private final String[] runOnSaveOptions = new String[] { - "Don't run on save", - "Never run on save", - "Run on save", + "Use Global Setting", + "False", + "True", }; private ComboBox runOnSaveComboBox = new ComboBox(runOnSaveOptions); private JBCheckBox globalRunOnSaveCheckBox = new JBCheckBox("Run on Save (Global)"); @@ -77,7 +77,7 @@ private JComponent createSectionHeader(String label) { .addComponent(createSectionHeader("General Settings")) .setFormLeftIndent(leftIndent) .addLabeledComponent( - new JBLabel("Run on save (Project):"), + new JBLabel("Run on save (Solution):"), this.runOnSaveComboBox, topInset, false @@ -101,7 +101,7 @@ private JComponent createSectionHeader(String label) { @Override public boolean isModified() { return ( - CSharpierSettings.getInstance(this.project).getProjectRunOnSave() != + CSharpierSettings.getInstance(this.project).getSolutionRunOnSave() != this.toRunOnSaveOption() || CSharpierGlobalSettings.getInstance(this.project).getRunOnSave() != this.globalRunOnSaveCheckBox.isSelected() || @@ -118,7 +118,7 @@ public boolean isModified() { public void apply() { var settings = CSharpierSettings.getInstance(this.project); - settings.setProjectRunOnSave(this.toRunOnSaveOption()); + settings.setSolutionRunOnSave(this.toRunOnSaveOption()); settings.setCustomPath(this.customPathTextField.getText()); settings.setDisableCSharpierServer(this.disableCSharpierServerCheckBox.isSelected()); settings.setUseCustomPath(this.useCustomPath.isSelected()); @@ -130,7 +130,7 @@ public void apply() { @Override public void reset() { var settings = CSharpierSettings.getInstance(this.project); - this.setSelectedRunOnSave(settings.getProjectRunOnSave()); + this.setSelectedRunOnSave(settings.getSolutionRunOnSave()); this.useCustomPath.setSelected(settings.getUseCustomPath()); this.customPathTextField.setText(settings.getCustomPath()); this.disableCSharpierServerCheckBox.setSelected(settings.getDisableCSharpierServer()); @@ -139,30 +139,30 @@ public void reset() { this.globalRunOnSaveCheckBox.setSelected(globalSettings.getRunOnSave()); } - private ProjectRunOnSaveOption toRunOnSaveOption() { + private SolutionRunOnSaveOption toRunOnSaveOption() { String selectedItem = (String) runOnSaveComboBox.getSelectedItem(); if (selectedItem == runOnSaveOptions[0]) { - return ProjectRunOnSaveOption.SoftNeverRun; + return SolutionRunOnSaveOption.UseGlobalSetting; } else if (selectedItem == runOnSaveOptions[1]) { - return ProjectRunOnSaveOption.HardNeverRun; + return SolutionRunOnSaveOption.False; } else if (selectedItem == runOnSaveOptions[2]) { - return ProjectRunOnSaveOption.RunOnSave; + return SolutionRunOnSaveOption.True; } this.logger.debug("invalid runOnSaveComboBox selection: " + selectedItem); - return ProjectRunOnSaveOption.SoftNeverRun; + return SolutionRunOnSaveOption.UseGlobalSetting; } - private void setSelectedRunOnSave(ProjectRunOnSaveOption saveOption) { - if (saveOption == ProjectRunOnSaveOption.SoftNeverRun) { + private void setSelectedRunOnSave(SolutionRunOnSaveOption saveOption) { + if (saveOption == SolutionRunOnSaveOption.UseGlobalSetting) { this.runOnSaveComboBox.setSelectedItem(runOnSaveOptions[0]); - } else if (saveOption == ProjectRunOnSaveOption.HardNeverRun) { + } else if (saveOption == SolutionRunOnSaveOption.False) { this.runOnSaveComboBox.setSelectedItem(runOnSaveOptions[1]); - } else if (saveOption == ProjectRunOnSaveOption.RunOnSave) { + } else if (saveOption == SolutionRunOnSaveOption.True) { this.runOnSaveComboBox.setSelectedItem(runOnSaveOptions[2]); } - this.logger.debug("tried to set invalid ProjectRunOnSaveOption: " + saveOption); + this.logger.debug("tried to set invalid SolutionRunOnSaveOption: " + saveOption); } } diff --git a/Src/CSharpier.Rider/src/main/java/com/intellij/csharpier/ReformatWithCSharpierOnSaveListener.java b/Src/CSharpier.Rider/src/main/java/com/intellij/csharpier/ReformatWithCSharpierOnSaveListener.java index d4b1ddfb6..ed52a72cc 100644 --- a/Src/CSharpier.Rider/src/main/java/com/intellij/csharpier/ReformatWithCSharpierOnSaveListener.java +++ b/Src/CSharpier.Rider/src/main/java/com/intellij/csharpier/ReformatWithCSharpierOnSaveListener.java @@ -22,12 +22,12 @@ public void beforeDocumentSaving(@NotNull Document document) { var cSharpierSettings = CSharpierSettings.getInstance(project); var cSharpierGlobalSettings = CSharpierGlobalSettings.getInstance(project); - if (cSharpierSettings.getProjectRunOnSave() == ProjectRunOnSaveOption.HardNeverRun) { + if (cSharpierSettings.getSolutionRunOnSave() == SolutionRunOnSaveOption.False) { return; } if ( - !(cSharpierSettings.getProjectRunOnSave() == ProjectRunOnSaveOption.RunOnSave || + !(cSharpierSettings.getSolutionRunOnSave() == SolutionRunOnSaveOption.True || cSharpierGlobalSettings.getRunOnSave()) ) { return; From 1196f8cecd9f3aed7c8afbe0c52fe566176975ac Mon Sep 17 00:00:00 2001 From: Timothy Makkison Date: Tue, 30 Dec 2025 19:45:53 +0000 Subject: [PATCH 4/4] fix: reorder options in dropdown --- .../csharpier/CSharpierSettingsComponent.java | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Src/CSharpier.Rider/src/main/java/com/intellij/csharpier/CSharpierSettingsComponent.java b/Src/CSharpier.Rider/src/main/java/com/intellij/csharpier/CSharpierSettingsComponent.java index a885ac39c..d097baeb1 100644 --- a/Src/CSharpier.Rider/src/main/java/com/intellij/csharpier/CSharpierSettingsComponent.java +++ b/Src/CSharpier.Rider/src/main/java/com/intellij/csharpier/CSharpierSettingsComponent.java @@ -20,9 +20,9 @@ public class CSharpierSettingsComponent implements SearchableConfigurable { private final Project project; private final String[] runOnSaveOptions = new String[] { + "True", "Use Global Setting", "False", - "True", }; private ComboBox runOnSaveComboBox = new ComboBox(runOnSaveOptions); private JBCheckBox globalRunOnSaveCheckBox = new JBCheckBox("Run on Save (Global)"); @@ -143,11 +143,11 @@ private SolutionRunOnSaveOption toRunOnSaveOption() { String selectedItem = (String) runOnSaveComboBox.getSelectedItem(); if (selectedItem == runOnSaveOptions[0]) { - return SolutionRunOnSaveOption.UseGlobalSetting; + return SolutionRunOnSaveOption.True; } else if (selectedItem == runOnSaveOptions[1]) { - return SolutionRunOnSaveOption.False; + return SolutionRunOnSaveOption.UseGlobalSetting; } else if (selectedItem == runOnSaveOptions[2]) { - return SolutionRunOnSaveOption.True; + return SolutionRunOnSaveOption.False; } this.logger.debug("invalid runOnSaveComboBox selection: " + selectedItem); @@ -155,11 +155,11 @@ private SolutionRunOnSaveOption toRunOnSaveOption() { } private void setSelectedRunOnSave(SolutionRunOnSaveOption saveOption) { - if (saveOption == SolutionRunOnSaveOption.UseGlobalSetting) { + if (saveOption == SolutionRunOnSaveOption.True) { this.runOnSaveComboBox.setSelectedItem(runOnSaveOptions[0]); - } else if (saveOption == SolutionRunOnSaveOption.False) { + } else if (saveOption == SolutionRunOnSaveOption.UseGlobalSetting) { this.runOnSaveComboBox.setSelectedItem(runOnSaveOptions[1]); - } else if (saveOption == SolutionRunOnSaveOption.True) { + } else if (saveOption == SolutionRunOnSaveOption.False) { this.runOnSaveComboBox.setSelectedItem(runOnSaveOptions[2]); }