public interface IntentionAction extends FileModifier
Iconable
interface to
change icon in intention popup menu.
Implement HighPriorityAction
,
LowPriorityAction
or PriorityAction
to change ordering.
Can be DumbAware
.Modifier and Type | Field and Description |
---|---|
static IntentionAction[] |
EMPTY_ARRAY |
Modifier and Type | Method and Description |
---|---|
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,
PsiFile file)
Called when user invokes intention.
|
boolean |
isAvailable(Project project,
Editor editor,
PsiFile file)
Checks whether this intention is available at a caret offset in the file.
|
boolean |
startInWriteAction()
Indicate whether this action should be invoked inside write action.
|
getElementToMakeWritable
static final IntentionAction[] EMPTY_ARRAY
java.lang.String getText()
isAvailable(Project, Editor, PsiFile)
java.lang.String getFamilyName()
IntentionManager.registerIntentionAndMetaData(IntentionAction, String...)
boolean isAvailable(Project project, Editor editor, PsiFile file)
project
- the project in which the availability is checked.editor
- the editor in which the intention will be invoked.file
- the file open in the editor.true
if the intention is available, false
otherwise.void invoke(Project project, Editor editor, PsiFile file) throws IncorrectOperationException
startInWriteAction()
returns true
, this method is also called
inside write action.project
- the project in which the intention is invoked.editor
- the editor in which the intention is invoked.file
- the file open in the editor.IncorrectOperationException
boolean startInWriteAction()
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 WriteActionAware
true
if the intention requires a write action, false
otherwise.