moving ENABLE_SECOND_REFORMAT to CodeInsightSettings

since it's not a code style setting but rather a user workflow preference

GitOrigin-RevId: fa02dc56251a6658f642555c408c55ef565ecb83
This commit is contained in:
Dmitry Avdeev
2023-05-08 17:54:50 +02:00
committed by intellij-monorepo-bot
parent 0cc1b71da7
commit f35335c51c
4 changed files with 11 additions and 10 deletions

View File

@@ -146,6 +146,8 @@ public class CodeInsightSettings implements PersistentStateComponent<Element>, C
public static final int INDENT_EACH_LINE = 3;
public static final int REFORMAT_BLOCK = 4;
public boolean ENABLE_SECOND_REFORMAT;
public boolean INDENT_TO_CARET_ON_PASTE;
@MagicConstant(intValues = {YES, NO, ASK})

View File

@@ -523,8 +523,6 @@ public class CodeStyleSettings extends LegacyCodeStyleSettings implements Clonea
return null;
}
}
public boolean ENABLE_SECOND_REFORMAT;
// endregion
//----------------------------------------------------------------------------------------

View File

@@ -4,6 +4,7 @@ package com.intellij.application.options;
import com.intellij.application.options.codeStyle.CodeStyleSchemesModel;
import com.intellij.application.options.codeStyle.excludedFiles.ExcludedGlobPatternsPanel;
import com.intellij.application.options.codeStyle.excludedFiles.ExcludedScopesPanel;
import com.intellij.codeInsight.CodeInsightSettings;
import com.intellij.lang.Language;
import com.intellij.openapi.application.ApplicationBundle;
import com.intellij.openapi.application.ApplicationManager;
@@ -212,7 +213,7 @@ public final class GeneralCodeStylePanel extends CodeStyleAbstractPanel {
settings.setFormatterOnPattern(compilePattern(settings, myFormatterOnTagField, settings.FORMATTER_ON_TAG));
settings.AUTODETECT_INDENTS = myAutodetectIndentsBox.isSelected();
settings.ENABLE_SECOND_REFORMAT = myEnableSecondReformat.isSelected();
CodeInsightSettings.getInstance().ENABLE_SECOND_REFORMAT = myEnableSecondReformat.isSelected();
for (GeneralCodeStyleOptionsProvider option : myAdditionalOptions) {
option.apply(settings);
@@ -297,7 +298,7 @@ public final class GeneralCodeStylePanel extends CodeStyleAbstractPanel {
}
return settings.AUTODETECT_INDENTS != myAutodetectIndentsBox.isSelected() ||
settings.ENABLE_SECOND_REFORMAT != myEnableSecondReformat.isSelected();
CodeInsightSettings.getInstance().ENABLE_SECOND_REFORMAT != myEnableSecondReformat.isSelected();
}
@Override
@@ -338,7 +339,7 @@ public final class GeneralCodeStylePanel extends CodeStyleAbstractPanel {
setFormatterTagControlsEnabled(settings.FORMATTER_TAGS_ENABLED);
myAutodetectIndentsBox.setSelected(settings.AUTODETECT_INDENTS);
myEnableSecondReformat.setSelected(settings.ENABLE_SECOND_REFORMAT);
myEnableSecondReformat.setSelected(CodeInsightSettings.getInstance().ENABLE_SECOND_REFORMAT);
for (GeneralCodeStyleOptionsProvider option : myAdditionalOptions) {
option.reset(settings);

View File

@@ -5,6 +5,7 @@ package com.intellij.codeInsight.actions;
import com.intellij.CodeStyleBundle;
import com.intellij.application.options.CodeStyle;
import com.intellij.codeInsight.CodeInsightBundle;
import com.intellij.codeInsight.CodeInsightSettings;
import com.intellij.formatting.KeptLineFeedsCollector;
import com.intellij.ide.util.PropertiesComponent;
import com.intellij.lang.Language;
@@ -25,7 +26,6 @@ import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.psi.*;
import com.intellij.psi.codeStyle.ChangedRangesInfo;
import com.intellij.psi.codeStyle.CodeStyleManager;
import com.intellij.psi.codeStyle.CodeStyleSettings;
import com.intellij.psi.impl.source.codeStyle.CodeFormatterFacade;
import com.intellij.util.IncorrectOperationException;
import com.intellij.util.SlowOperations;
@@ -41,7 +41,7 @@ import java.util.concurrent.FutureTask;
public class ReformatCodeProcessor extends AbstractLayoutCodeProcessor {
private static final Logger LOG = Logger.getInstance(ReformatCodeProcessor.class);
private static final Key<Trinity<Long, Date, List<TextRange>>> SECOND_FORMAT_KEY = Key.create("second.format");
private static final String SECOND_REFORMAT_CONFIRMED = "second.reformat.confirmed";
private static final String SECOND_REFORMAT_CONFIRMED = "second.reformat.confirmed.2";
private final List<TextRange> myRanges = new ArrayList<>();
private SelectionModel mySelectionModel;
@@ -136,14 +136,14 @@ public class ReformatCodeProcessor extends AbstractLayoutCodeProcessor {
});
}
private boolean isSecondReformatDisabled() {
return !CodeStyle.getSettings(myProject).ENABLE_SECOND_REFORMAT && PropertiesComponent.getInstance().isValueSet(SECOND_REFORMAT_CONFIRMED);
private static boolean isSecondReformatDisabled() {
return !CodeInsightSettings.getInstance().ENABLE_SECOND_REFORMAT && PropertiesComponent.getInstance().isValueSet(SECOND_REFORMAT_CONFIRMED);
}
private boolean confirmSecondReformat(@NotNull PsiFile file) {
boolean doNotKeepLineBreaks = isDoNotKeepLineBreaks(file);
if (!doNotKeepLineBreaks || isSecondReformatDisabled()) return false;
CodeStyleSettings settings = CodeStyle.getSettings(myProject);
CodeInsightSettings settings = CodeInsightSettings.getInstance();
if (!settings.ENABLE_SECOND_REFORMAT) {
Ref<Boolean> ref = Ref.create(true);
ApplicationManager.getApplication().invokeAndWait(() -> {