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.TargetDirectoryListItemCURRENT_DIRECTORY_REF, myDirectories, myIsAvailable, myIsAvailableTimeStamp, myKey, myNewFileName, mySubPath, PARENT_DIRECTORY_REFLOG, myEndElement, myStartElementEMPTY_ARRAYEMPTY_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, isAvailableinvoke, invoke, isAvailable, isAvailable, startInWriteActionapplyFix, applyFix, getEndElement, getName, getStartElement, isAvailablepublic CreateDirectoryPathFix(PsiElement psiElement, NewFileLocation newFileLocation, java.lang.String fixLocaleKey)
public CreateDirectoryPathFix(PsiElement psiElement, NewFileLocation newFileLocation)
public java.lang.String getText()
IntentionActiongetText in interface IntentionActiongetText in class LocalQuickFixOnPsiElementIntentionAction.isAvailable(Project, Editor, PsiFile)public java.lang.String getFamilyName()
IntentionActionIntentionManager.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 AbstractCreateFileFixIncorrectOperationException