api_notable_list_2020.md: add links

This commit is contained in:
Yann Cébron 2022-09-26 12:50:54 +02:00
parent e9b0efb7e5
commit a5156cd314

View File

@ -18,26 +18,26 @@ Reparsing of `IReparseableLeafElementType`
: For elements whose `IElementType` implements this interface, platform attempts reparse when a modification is made right before or after the leaf element preventing reparsing the whole file.
Generating HTML fragments
: Use `com.intellij.openapi.util.text.HtmlBuilder` for generating formatted content, e.g., for [Documentation](documentation.md).
: Use [`HtmlBuilder`](%gh-ic%/platform/util/src/com/intellij/openapi/util/text/HtmlBuilder.java) for generating formatted content, e.g., for [Documentation](documentation.md).
Extensible HTML Lexer/Parser
: Implement `com.intellij.html.embedding.HtmlEmbeddedContentSupport` and register in `com.intellij.html.embeddedContentSupport` extension point to embed arbitrary tokens into any tag or attribute.
: Implement [`HtmlEmbeddedContentSupport`](%gh-ic%/xml/xml-psi-impl/src/com/intellij/html/embedding/HtmlEmbeddedContentSupport.kt) and register in `com.intellij.html.embeddedContentSupport` extension point to embed arbitrary tokens into any tag or attribute.
Please note that old API from `com.intellij.lexer.BaseHtmlLexer` is no longer working.
Action System
: New features in [Action System](basic_action_system.md): `<override-text>` works now for [`<group>`](plugin_configuration_file.md#idea-plugin__actions__group) as well, [`<synonym>`](plugin_configuration_file.md#idea-plugin__actions__action__synonym) provides alternative names when searching for actions, and groups can be excluded from search results.
Welcome Screen customization
: To provide additional custom tabs, implement `com.intellij.openapi.wm.WelcomeTabFactory` and register in `com.intellij.welcomeTabFactory` extension point.
: To provide additional custom tabs, implement [`WelcomeTabFactory`](%gh-ic%/platform/platform-api/src/com/intellij/openapi/wm/WelcomeTabFactory.java) and register in `com.intellij.welcomeTabFactory` extension point.
File Type association with the IDE
: To control file type association with the IDE in the operating system, implement `com.intellij.openapi.fileTypes.OSFileIdeAssociation`.
: To control file type association with the IDE in the operating system, implement [`OSFileIdeAssociation`](%gh-ic%/platform/core-api/src/com/intellij/openapi/fileTypes/OSFileIdeAssociation.java).
Reader Mode customization
: Implement `com.intellij.codeInsight.actions.ReaderModeProvider` and register in `com.intellij.readerModeProvider` extension point to apply custom settings for files rendered in reader mode. Provide `com.intellij.codeInsight.actions.ReaderModeMatcher` to disable Reader Mode for particular set of files.
: Implement [`ReaderModeProvider`](%gh-ic%/platform/editor-ui-api/src/com/intellij/codeInsight/actions/ReaderModeProvider.kt) and register in `com.intellij.readerModeProvider` extension point to apply custom settings for files rendered in reader mode. Provide `com.intellij.codeInsight.actions.ReaderModeMatcher` to disable Reader Mode for particular set of files.
Text Editor customization
: Implement `com.intellij.openapi.fileEditor.impl.text.TextEditorCustomizer` and register in `com.intellij.textEditorCustomizer` extension point to customize created editors.
: Implement [`TextEditorCustomizer`](%gh-ic%/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/text/TextEditorCustomizer.java) and register in `com.intellij.textEditorCustomizer` extension point to customize created editors.
### JavaScript Plugin 2020.3
@ -61,7 +61,7 @@ Constructor Injection in `Configurable` forbidden
: Added `VirtualFileManager.findFileByNioPath()`/`refreshAndFindFileByNioPath()`. See also `VirtualFile.toNioPath()`.
Tooltip descriptions for icons
: Register resource bundle via `com.intellij.iconDescriptionBundle` extension point to provide tooltips automatically for all `SimpleColoredComponent` renderers.
: Register resource bundle via `com.intellij.iconDescriptionBundle` extension point to provide tooltips automatically for all [`SimpleColoredComponent`](%gh-ic%/platform/platform-api/src/com/intellij/ui/SimpleColoredComponent.java) renderers.
Specify incompatibility with Module
: A plugin can [mark itself incompatible](plugin_compatibility.md#declaring-incompatibility-with-module) if IDE contains specified module.
@ -76,13 +76,13 @@ FileType mapping via hashbang (`#!`)
: Specify `hashBangs` attribute in `com.intellij.fileType` extension point. [Issue](https://youtrack.jetbrains.com/issue/IDEA-175757)
Add information to About dialog
: Implement `com.intellij.ide.AboutPopupDescriptionProvider` and register in `com.intellij.aboutPopupDescriptionProvider` extension point.
: Implement [`AboutPopupDescriptionProvider`](%gh-ic%/platform/platform-impl/src/com/intellij/ide/AboutPopupDescriptionProvider.kt) and register in `com.intellij.aboutPopupDescriptionProvider` extension point.
Previewing Intention/Quick Fix
: To support preview in intention popup, suitable `FileModifier` must be provided (default implementation `FileModifier.getFileModifierForPreview()` works for most cases).
: To support preview in intention popup, suitable [`FileModifier`](%gh-ic%/platform/analysis-api/src/com/intellij/codeInsight/intention/FileModifier.java) must be provided (default implementation `FileModifier.getFileModifierForPreview()` works for most cases).
Delegate Run Anything/Terminal commands to IDE features
: Switch to matching IDE feature by implementing `com.intellij.terminal.TerminalShellCommandHandler` (`com.intellij.terminal.shellCommandHandler` extension point). [Blog post](https://blog.jetbrains.com/idea/2020/07/run-ide-features-from-the-terminal/)
: Switch to matching IDE feature by implementing [`TerminalShellCommandHandler`](%gh-ic%/platform/execution-impl/src/com/intellij/terminal/TerminalShellCommandHandler.kt) (`com.intellij.terminal.shellCommandHandler` extension point). [Blog post](https://blog.jetbrains.com/idea/2020/07/run-ide-features-from-the-terminal/)
Deprecating JavaFX in favor of JCEF
: We recommend switching to [JCEF](jcef.md), please see [blog post](https://blog.jetbrains.com/platform/2020/07/javafx-and-jcef-in-the-intellij-platform/) for details.
@ -91,7 +91,7 @@ ASM Library 8.0.1
: Updated from 7.0.1.
Validating Lexer for editor highlighting
: Lexer is wrapped using `ValidatingLexerWrapper` to verify it generates a continuous sequence of tokens and doesn't stall during iteration.
: Lexer is wrapped using [`ValidatingLexerWrapper`](%gh-ic%/platform/editor-ui-ex/src/com/intellij/openapi/editor/ex/util/ValidatingLexerWrapper.java) to verify it generates a continuous sequence of tokens and doesn't stall during iteration.
### IntelliJ IDEA 2020.2
@ -109,7 +109,7 @@ Dynamic Plugins
: Usage is deprecated and can be replaced with `com.intellij.openapi.application.Application.invokeLater()` in most cases, please consult Javadoc for more details.
`RecursionManager.assertOnMissedCache()` enabled by default in tests
: Please see `RecursionManager.CachingPreventedException` Javadoc and [this issue](https://youtrack.jetbrains.com/issue/IDEA-228809) for details.
: Please see [`RecursionManager.CachingPreventedException`](%gh-ic%/platform/util/src/com/intellij/openapi/util/RecursionManager.java) Javadoc and [this issue](https://youtrack.jetbrains.com/issue/IDEA-228809) for details.
`ResolveCache` using `IdempotenceChecker` in tests
: Reports when the same reference resolves non-equivalent results in different threads, see [`IdempotenceChecker`](%gh-ic%/platform/core-impl/src/com/intellij/util/IdempotenceChecker.java).
@ -118,7 +118,7 @@ Refactoring dialog: builtin "Open in editor" option
: Set `addOpenInEditorCheckbox` constructor parameter to enable it in custom `RefactoringDialog` implementation.
Configurable status bar widgets
: Use extension point `com.intellij.statusBarWidgetFactory` to provide widgets that can be disabled or reordered.
: Use `com.intellij.statusBarWidgetFactory` extension point to provide widgets that can be disabled or reordered, see [](status_bar_widgets.md).
JCEF Support (_Experimental Feature_)
: Allows [embedding](jcef.md) Chromium-based browser in the IDE.