public class CreateDirectoryPathFix extends AbstractCreateFileFix
TargetDirectory.getPathToCreate()
and NewFileLocation.getSubPath()
. If there are multiple target directories it shows
a popup where users can select desired target directory.AbstractCreateFileFix.TargetDirectoryListItem
CURRENT_DIRECTORY_REF, myDirectories, myIsAvailable, myIsAvailableTimeStamp, myKey, myNewFileName, mySubPath, PARENT_DIRECTORY_REF
LOG, myEndElement, myStartElement
EMPTY_ARRAY
EMPTY_ARRAY
Constructor and Description |
---|
CreateDirectoryPathFix(PsiElement psiElement,
NewFileLocation newFileLocation) |
CreateDirectoryPathFix(PsiElement psiElement,
NewFileLocation newFileLocation,
java.lang.String fixLocaleKey) |
Modifier and Type | Method and Description |
---|---|
protected void |
apply(Project project,
PsiDirectory targetDirectory,
Editor editor) |
PsiElement |
getElementToMakeWritable(PsiFile file)
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.
|
invoke, isAvailable
invoke, invoke, isAvailable, isAvailable, startInWriteAction
applyFix, applyFix, getEndElement, getName, getStartElement, isAvailable
public CreateDirectoryPathFix(PsiElement psiElement, NewFileLocation newFileLocation, java.lang.String fixLocaleKey)
public CreateDirectoryPathFix(PsiElement psiElement, NewFileLocation newFileLocation)
public java.lang.String getText()
IntentionAction
getText
in interface IntentionAction
getText
in class LocalQuickFixOnPsiElement
IntentionAction.isAvailable(Project, Editor, PsiFile)
public java.lang.String getFamilyName()
IntentionAction
IntentionManager.registerIntentionAndMetaData(IntentionAction, String...)
public PsiElement getElementToMakeWritable(PsiFile file)
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.file
- the same file where intention would be invoked (for LocalQuickFix
it would be the containing file of ProblemDescriptor.getPsiElement()
)protected void apply(Project project, PsiDirectory targetDirectory, Editor editor) throws IncorrectOperationException
apply
in class AbstractCreateFileFix
IncorrectOperationException