This FAQ is a topical index of questions that have been asked (and answered) on our OpenAPI forum. This is a work in progress.
How do I replace my usage of Project.getProjectFile() in 7.0?
How do I replace my usage of DataConstants with DataKeys in 7.0?
How do I replace my usage of ToolWindowManager.registerToolWindow() in 7.0?
How do I replace my usage of PsiSearchHelper.findReferences() in 7.0?
How do I find all subclasses of a class?
How do I find all anonymous classes created in a class?
How do I calculate the value of a string literal token?
How do I rename or move a Java class?
How do I build the list of all classes used by a given class or package?
How do I change the value of an XML attribute through the PSI?
Version Control Integration
Can I provide line status markers for files in a custom file system?
How do I update the state of VCS actions depending on file status?
How can I find out the module of a deleted file?
Can I provide additional decorations for changelists in the Changes view?
How do I report out-of-date files?
Editors, Documents and Files
Why doesn't the file change on disk after I changed it through the PSI?
Can I hook into the file save logic?
Can I mark a part of a file as read-only? How do I control what happens when the user tries to edit such a part?
Can I open an editor which has no underlying file on disk?
How do I save the content of my custom editor when the user saves all documents?
How do I provide animated status bar notifications?
How do I enable file name completion in a combobox?
How do I show a popup with left-aligned and right-aligned parts for each item?
Can I use an embedded Web browser from my plugin?