mirror of
https://github.com/JetBrains/intellij-sdk-code-samples.git
synced 2025-07-30 18:27:49 +08:00
cleanup method notation
This commit is contained in:
parent
f2b5c4fb56
commit
9f4df3319d
@ -105,7 +105,7 @@ A gutter icon for the `ExtensionPointName` declaration allows navigating to the
|
||||
To support [Dynamic Plugins](dynamic_plugins.md) (2020.1 and later), an extension point must adhere to specific usage rules:
|
||||
|
||||
- extensions are enumerated on every use and extensions instances are not stored anywhere
|
||||
- alternatively, an `ExtensionPointChangeListener` can perform necessary updates of data structures (register via `ExtensionPointName#addExtensionPointListener()`)
|
||||
- alternatively, an `ExtensionPointChangeListener` can perform necessary updates of data structures (register via `ExtensionPointName.addExtensionPointListener()`)
|
||||
|
||||
Extension points matching these conditions can then be marked as _dynamic_ by adding `dynamic="true"` in their declaration:
|
||||
```xml
|
||||
|
@ -59,7 +59,7 @@ The most efficient way to listen to VFS events is to implement the `BulkFileList
|
||||
A non-blocking variant [`AsyncFileListener`](upsource:///platform/core-api/src/com/intellij/openapi/vfs/AsyncFileListener.java) is also available in 2019.2 or later.
|
||||
See [How do I get notified when VFS changes?](/basics/architectural_overview/virtual_file.md#how-do-i-get-notified-when-vfs-changes) for implementation details.
|
||||
|
||||
> **WARNING** VFS listeners are application level and will receive events for changes happening in *all* the projects opened by the user. You may need to filter out events that aren't relevant to your task (e.g., via [`ProjectFileIndex#isInContent()`](upsource:///platform/projectModel-api/src/com/intellij/openapi/roots/ProjectFileIndex.java)).
|
||||
> **WARNING** VFS listeners are application level and will receive events for changes happening in *all* the projects opened by the user. You may need to filter out events that aren't relevant to your task (e.g., via [`ProjectFileIndex.isInContent()`](upsource:///platform/projectModel-api/src/com/intellij/openapi/roots/ProjectFileIndex.java)).
|
||||
|
||||
VFS events are sent both before and after each change, and you can access the old contents of the file in the before event. Note that events caused by a refresh are sent after the changes have already occurred on disk - so when you process the `beforeFileDeletion` event, for example, the file has already been deleted from disk. However, it is still present in the VFS snapshot, and you can access its last contents using the VFS API.
|
||||
|
||||
|
@ -42,7 +42,7 @@ Create HTML representation of code
|
||||
: Use `com.intellij.openapi.editor.richcopy.HtmlSyntaxInfoUtil` to create Lexer-based highlighted code samples, e.g. for usage in documentation.
|
||||
|
||||
View \| Appearance \| Description in Tree Views
|
||||
: Toggles showing additional details in UI (e.g. modification timestamp in Project View) see `UISettings#getShowInplaceComments`.
|
||||
: Toggles showing additional details in UI (e.g. modification timestamp in Project View) see `UISettings.getShowInplaceComments()`.
|
||||
|
||||
New API for Editor Inlay Hints
|
||||
: Allows a variety of presentations (incl. custom painting), mouse event handling and exposing settings in _Editor \| Inlay Hints_. See `com.intellij.codeInsight.hints.InlayHintsProvider`.
|
||||
|
@ -268,7 +268,7 @@ The index parameter in the last example means the index in the merged collection
|
||||
### Dynamic Definition
|
||||
You can extend existing DOM model at runtime by implementing `com.intellij.util.xml.reflect.DomExtender<T>`. Register it in "extenderClass" attribute of EP `com.intellij.dom.extender`, where "domClass" specifies DOM class `<T>` to be extended. [`DomExtensionsRegistrar`](upsource:///xml/dom-openapi/src/com/intellij/util/xml/reflect/DomExtensionsRegistrar.java) provides various methods to register dynamic attributes and children.
|
||||
|
||||
If the contributed elements depend on anything other than plain XML file content (used framework version, libraries in classpath, ...), make sure to return `false` from `DomExtender#supportsStubs`.
|
||||
If the contributed elements depend on anything other than plain XML file content (used framework version, libraries in classpath, ...), make sure to return `false` from `DomExtender.supportsStubs()`.
|
||||
|
||||
### Generating DOM from existing XSD
|
||||
DOM can be generated automatically from existing XSD/DTD. Output correctness/completeness will largely depend on the input scheme and may require additional manual adjustments.
|
||||
@ -423,7 +423,7 @@ Example can be found in Struts 2 plugin (package `com.intellij.struts2.dom.strut
|
||||
> **NOTE** Please use it sparingly and only for heavily accessed parts in your DOM model, as it increases disk space usage/indexing run time.
|
||||
|
||||
DOM elements can be stubbed, so (costly) access to XML/PSI is not necessary (see [Indexing and PSI Stubs](/basics/indexing_and_psi_stubs.md) for similar feature for custom languages). Performance relevant elements, tag or attribute getters can simply be annotated with `@com.intellij.util.xml.Stubbed`.
|
||||
Return `true` from `DomFileDescription#hasStubs` and increase `DomFileDescription#getStubVersion` whenever you change `@Stubbed` annotations usage in your DOM hierarchy to trigger proper rebuilding of Stubs during indexing.
|
||||
Return `true` from `DomFileDescription.hasStubs()` and increase `DomFileDescription.getStubVersion()` whenever you change `@Stubbed` annotations usage in your DOM hierarchy to trigger proper rebuilding of Stubs during indexing.
|
||||
|
||||
## Building a DOM-based GUI
|
||||
|
||||
|
@ -68,7 +68,7 @@ The following minimal sample demonstrates all details required when exposing UI
|
||||
|
||||
> **TIP** Do not remove existing keys, but deprecate them instead to help Theme authors upgrade their existing themes.
|
||||
|
||||
Color keys can be used via `JBColor#namedColor` providing defaults for Light and Dark theme:
|
||||
Color keys can be used via `JBColor.namedColor()` providing defaults for Light and Dark theme:
|
||||
```java
|
||||
private static final Color SECTION_HEADER_FOREGROUND =
|
||||
JBColor.namedColor("Plugins.SectionHeader.foreground", new JBColor(0x787878, 0x999999));
|
||||
|
@ -42,7 +42,7 @@ If the current Project is known, please use overload with `Project` parameter, s
|
||||
|
||||
The text of the notification can include HTML tags.
|
||||
|
||||
Use `Notification#addAction(AnAction)` to add links below the content, use [`NotificationAction`](upsource:///platform/platform-api/src/com/intellij/notification/NotificationAction.java) for convenience.
|
||||
Use `Notification.addAction(AnAction)` to add links below the content, use [`NotificationAction`](upsource:///platform/platform-api/src/com/intellij/notification/NotificationAction.java) for convenience.
|
||||
|
||||
The `groupDisplayId` parameter of the
|
||||
[`Notification`](upsource:///platform/platform-api/src/com/intellij/notification/Notification.java)
|
||||
|
Loading…
x
Reference in New Issue
Block a user