mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[rd-editor] IJPL-183574 Move goto next error actions to the frontend to improve the responsiveness of rd editor
This commit forces invoking of `GotoNextErrorAction` and `GotoPreviousErrorAction` on the frontend side. It improves the UX in rd editor by executing the actions without a roundtrip to the backend. The improvement is under feature flag `ide.popup.async.enabled` disabled by default GitOrigin-RevId: ef21783d3112e910bd51532b2d35f1a9521db474
This commit is contained in:
committed by
intellij-monorepo-bot
parent
4a01c9aab9
commit
c708c87c1f
+16
-2
@@ -8,13 +8,18 @@ import com.intellij.codeInsight.daemon.impl.GotoNextErrorHandler;
|
||||
import com.intellij.codeInsight.daemon.impl.GotoNextErrorUtilsKt;
|
||||
import com.intellij.openapi.actionSystem.AnActionEvent;
|
||||
import com.intellij.openapi.actionSystem.DataContext;
|
||||
import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehavior;
|
||||
import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehaviorSpecification;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.openapi.project.DumbAware;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.util.registry.Registry;
|
||||
import com.intellij.psi.PsiFile;
|
||||
import org.jetbrains.annotations.ApiStatus.Internal;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
abstract class BaseGotoNextErrorAction extends BaseCodeInsightAction implements DumbAware {
|
||||
|
||||
abstract class BaseGotoNextErrorAction extends BaseCodeInsightAction implements ActionRemoteBehaviorSpecification, DumbAware {
|
||||
|
||||
private final boolean goForward;
|
||||
|
||||
@@ -48,4 +53,13 @@ abstract class BaseGotoNextErrorAction extends BaseCodeInsightAction implements
|
||||
protected boolean isValidForFile(@NotNull Project project, @NotNull Editor editor, @NotNull PsiFile file) {
|
||||
return DaemonCodeAnalyzer.getInstance(project).isHighlightingAvailable(file);
|
||||
}
|
||||
}
|
||||
|
||||
@Internal
|
||||
@Override
|
||||
public @NotNull ActionRemoteBehavior getBehavior() {
|
||||
if (Registry.is("ide.popup.async.enabled", false)) {
|
||||
return ActionRemoteBehavior.FrontendOnly;
|
||||
}
|
||||
return ActionRemoteBehavior.BackendOnly;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2500,5 +2500,10 @@ ijpl.rhizome.ad.markup.enabled.description=Use shared markup entity. Currently a
|
||||
ide.permissions.api.enabled=true
|
||||
ide.permissions.api.enabled.description=Turns on permission api
|
||||
|
||||
ide.popup.async.enabled=false
|
||||
ide.popup.async.enabled.description=Feature flag for IJPL-183574 improving UX of rd editor by moving some popups and actions on the frontend side. \
|
||||
The flag should be removed after 252 release
|
||||
|
||||
|
||||
# please leave this note as last line
|
||||
# TODO please use EP com.intellij.registryKey for plugin/product specific keys
|
||||
|
||||
Reference in New Issue
Block a user