public class SuppressIntentionActionFromFix extends SuppressIntentionAction
Iconable.IconFlags, Iconable.LastComputedIcon
EMPTY_ARRAY
ICON_FLAG_IGNORE_MASK, ICON_FLAG_OPEN, ICON_FLAG_READ_STATUS, ICON_FLAG_VISIBILITY
Modifier and Type | Method and Description |
---|---|
static SuppressIntentionAction |
convertBatchToSuppressIntentionAction(SuppressQuickFix fix) |
static SuppressIntentionAction [] |
convertBatchToSuppressIntentionActions(SuppressQuickFix [] actions) |
PsiElement |
getContainer(PsiElement element) |
PsiElement |
getElementToMakeWritable(PsiFile currentFile)
Controls whether this intention/fix is going to modify the current file.
|
java.lang.String |
getFamilyName()
Returns the name of the family of intentions.
|
java.lang.String |
getText()
Returns text to be shown in the list of available actions, if this action
is available.
|
void |
invoke(Project project,
Editor editor,
PsiElement element)
Invokes intention action for the element under caret.
|
boolean |
isAvailable(Project project,
Editor editor,
PsiElement element)
Checks whether this intention is available at a caret offset in file.
|
ThreeState |
isShouldBeAppliedToInjectionHost() |
boolean |
isSuppressAll() |
boolean |
startInWriteAction()
Indicate whether this action should be invoked inside write action.
|
getIcon, invoke, isAvailable, setText, toString
public boolean startInWriteAction()
IntentionAction
false
if, e.g., a modal dialog is shown inside the action.
If false is returned the action itself is responsible for starting write action
when needed, by calling Application.runWriteAction(Runnable)
.startInWriteAction
in interface IntentionAction
startInWriteAction
in interface WriteActionAware
startInWriteAction
in class SuppressIntentionAction
true
if the intention requires a write action, false
otherwise.public PsiElement getElementToMakeWritable(PsiFile currentFile)
FileModifier
@NotNull
, and the current file is read-only,
it will be made writable (honoring version control integration) before the intention/fix is invoked.
By default, as a heuristic, returns the same as WriteActionAware.startInWriteAction()
.
If the action is going to modify multiple files, or the set of the files is unknown in advance, please
don't bother overriding this method, return false
from WriteActionAware.startInWriteAction()
, and call FileModificationService
methods in the implementation, and take write actions yourself as needed.currentFile
- the same file where intention would be invoked (for LocalQuickFix
it would be the containing file of ProblemDescriptor.getPsiElement()
)public static SuppressIntentionAction convertBatchToSuppressIntentionAction(SuppressQuickFix fix)
public static SuppressIntentionAction [] convertBatchToSuppressIntentionActions(SuppressQuickFix [] actions)
public void invoke(Project project, Editor editor, PsiElement element) throws IncorrectOperationException
SuppressIntentionAction
invoke
in class SuppressIntentionAction
project
- the project in which the file is opened.editor
- the editor for the file.element
- the element under cursor.IncorrectOperationException
public ThreeState isShouldBeAppliedToInjectionHost()
public PsiElement getContainer(PsiElement element)
public boolean isAvailable(Project project, Editor editor, PsiElement element)
SuppressIntentionAction
isAvailable
in class SuppressIntentionAction
project
- the project in which the availability is checked.editor
- the editor in which the intention will be invoked.element
- the element under caret.public java.lang.String getText()
IntentionAction
getText
in interface IntentionAction
getText
in class SuppressIntentionAction
IntentionAction.isAvailable(Project, Editor, PsiFile)
public java.lang.String getFamilyName()
IntentionAction
IntentionManager.registerIntentionAndMetaData(IntentionAction, String...)
public boolean isSuppressAll()
isSuppressAll
in class SuppressIntentionAction