mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-03-22 06:50:54 +07:00
ignore all optimizations for non-local editors (remdev|CWM) to quick-n-dirty workaround IJPL-163871 Intentions sometimes don't appear in Remote Dev and Code With Me
(cherry picked from commit 6f223d96cf6d194f3bdaa5ba60cc2148fc8580e5) IJ-CR-148644 GitOrigin-RevId: 4adad7b54da131a0191f69ee21bc15988881572d
This commit is contained in:
committed by
intellij-monorepo-bot
parent
07f1fbf5af
commit
3b8e5851a2
@@ -6,6 +6,7 @@ import com.intellij.codeInsight.daemon.HighlightDisplayKey;
|
||||
import com.intellij.codeInsight.intention.IntentionAction;
|
||||
import com.intellij.codeInsight.quickfix.UnresolvedReferenceQuickFixProvider;
|
||||
import com.intellij.codeInsight.quickfix.UnresolvedReferenceQuickFixUpdater;
|
||||
import com.intellij.codeWithMe.ClientId;
|
||||
import com.intellij.concurrency.ThreadContext;
|
||||
import com.intellij.lang.annotation.AnnotationBuilder;
|
||||
import com.intellij.lang.annotation.HighlightSeverity;
|
||||
@@ -13,6 +14,7 @@ import com.intellij.openapi.Disposable;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.application.ReadAction;
|
||||
import com.intellij.openapi.application.impl.ApplicationImpl;
|
||||
import com.intellij.openapi.editor.ClientEditorManager;
|
||||
import com.intellij.openapi.editor.Document;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.openapi.progress.ProgressManager;
|
||||
@@ -110,6 +112,16 @@ public final class UnresolvedReferenceQuickFixUpdaterImpl implements UnresolvedR
|
||||
unresolvedInfos.add(info);
|
||||
return true;
|
||||
});
|
||||
if (!ClientId.isLocal(ClientEditorManager.getClientId(editor))) {
|
||||
// for non-local editor its visible area is unreliable, so ignore all optimizations there
|
||||
// (see IJPL-163871 Intentions sometimes don't appear in Remote Dev and Code With Me)
|
||||
DaemonCodeAnalyzerEx.processHighlights(document, project, HighlightSeverity.ERROR, 0, document.getTextLength(), info -> {
|
||||
if (info.isUnresolvedReference()) {
|
||||
unresolvedInfos.add(info);
|
||||
}
|
||||
return true;
|
||||
});
|
||||
}
|
||||
for (HighlightInfo info : unresolvedInfos) {
|
||||
startUnresolvedRefsJob(info, editor, file, visibleRange);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user