mirror of
https://github.com/JetBrains/intellij-sdk-code-samples.git
synced 2025-07-27 16:57:49 +08:00
remove 2019 content
This commit is contained in:
parent
648f05f384
commit
66b6e38ecc
@ -3,8 +3,6 @@
|
|||||||
|
|
||||||
## Quickstart
|
## Quickstart
|
||||||
|
|
||||||
Custom themes are available beginning in version 2019.1.
|
|
||||||
|
|
||||||
Creating a custom theme is a process of choosing a base IDE Theme (Light or Darcula) then changing aspects of the base Theme definition.
|
Creating a custom theme is a process of choosing a base IDE Theme (Light or Darcula) then changing aspects of the base Theme definition.
|
||||||
Custom themes can:
|
Custom themes can:
|
||||||
- substitute icons,
|
- substitute icons,
|
||||||
|
@ -72,7 +72,7 @@ project.getMessageBus().connect().subscribe(
|
|||||||
|
|
||||||
See [Message Infrastructure](messaging_infrastructure.md) and [Plugin Listeners](plugin_listeners.md) for more details.
|
See [Message Infrastructure](messaging_infrastructure.md) and [Plugin Listeners](plugin_listeners.md) for more details.
|
||||||
|
|
||||||
For a non-blocking alternative, starting with version 2019.2 of the platform, see [`AsyncFileListener`](%gh-ic%/platform/core-api/src/com/intellij/openapi/vfs/AsyncFileListener.java).
|
For a non-blocking alternative see [`AsyncFileListener`](%gh-ic%/platform/core-api/src/com/intellij/openapi/vfs/AsyncFileListener.java).
|
||||||
|
|
||||||
## Are there any utilities for analyzing and manipulating virtual files?
|
## Are there any utilities for analyzing and manipulating virtual files?
|
||||||
|
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
|
<!-- Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -->
|
||||||
|
|
||||||
# Virtual File System
|
# Virtual File System
|
||||||
|
|
||||||
<!-- Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -->
|
<link-summary>Virtual File System is an abstraction that allows working with local, remote, or custom file storages.</link-summary>
|
||||||
|
|
||||||
<link-summary>Virtual File System is an abstraction that allows to work with local or remote file storages and implement custom.</link-summary>
|
|
||||||
|
|
||||||
The Virtual File System (VFS) is a component of the IntelliJ Platform that encapsulates most of its activity for working with files represented as [Virtual File](virtual_file.md).
|
The Virtual File System (VFS) is a component of the IntelliJ Platform that encapsulates most of its activity for working with files represented as [Virtual File](virtual_file.md).
|
||||||
|
|
||||||
@ -86,7 +86,7 @@ All changes happening in the virtual file system, either due to refresh operatio
|
|||||||
VFS events are always fired in the event dispatch thread and in a write action.
|
VFS events are always fired in the event dispatch thread and in a write action.
|
||||||
|
|
||||||
The most efficient way to listen to VFS events is to implement [`BulkFileListener`](%gh-ic%/platform/core-api/src/com/intellij/openapi/vfs/newvfs/BulkFileListener.java) and to subscribe with it to the [`VirtualFileManager.VFS_CHANGES`](%gh-ic%/platform/core-api/src/com/intellij/openapi/vfs/VirtualFileManager.java) topic.
|
The most efficient way to listen to VFS events is to implement [`BulkFileListener`](%gh-ic%/platform/core-api/src/com/intellij/openapi/vfs/newvfs/BulkFileListener.java) and to subscribe with it to the [`VirtualFileManager.VFS_CHANGES`](%gh-ic%/platform/core-api/src/com/intellij/openapi/vfs/VirtualFileManager.java) topic.
|
||||||
A non-blocking variant [`AsyncFileListener`](%gh-ic%/platform/core-api/src/com/intellij/openapi/vfs/AsyncFileListener.java) is also available in 2019.2 or later.
|
A non-blocking variant [`AsyncFileListener`](%gh-ic%/platform/core-api/src/com/intellij/openapi/vfs/AsyncFileListener.java) is also available.
|
||||||
See [How do I get notified when VFS changes?](virtual_file.md#how-do-i-get-notified-when-vfs-changes) for implementation details.
|
See [How do I get notified when VFS changes?](virtual_file.md#how-do-i-get-notified-when-vfs-changes) for implementation details.
|
||||||
|
|
||||||
> VFS listeners are application level and will receive events for changes happening in *all* the projects opened by the user.
|
> VFS listeners are application level and will receive events for changes happening in *all* the projects opened by the user.
|
||||||
|
@ -138,7 +138,4 @@ _Early Access Program_ (EAP) releases of upcoming versions are available [here](
|
|||||||
| 2020.3 | [203](https://github.com/JetBrains/intellij-community/tree/203) | **11** ([blog post](https://blog.jetbrains.com/platform/2020/09/intellij-project-migrates-to-java-11/)) |
|
| 2020.3 | [203](https://github.com/JetBrains/intellij-community/tree/203) | **11** ([blog post](https://blog.jetbrains.com/platform/2020/09/intellij-project-migrates-to-java-11/)) |
|
||||||
| 2020.2 | [202](https://github.com/JetBrains/intellij-community/tree/202) | 8 |
|
| 2020.2 | [202](https://github.com/JetBrains/intellij-community/tree/202) | 8 |
|
||||||
| 2020.1 | [201](https://github.com/JetBrains/intellij-community/tree/201) | 8 |
|
| 2020.1 | [201](https://github.com/JetBrains/intellij-community/tree/201) | 8 |
|
||||||
| 2019.3 | [193](https://github.com/JetBrains/intellij-community/tree/193) | 8 |
|
|
||||||
| 2019.2 | [192](https://github.com/JetBrains/intellij-community/tree/192) | 8 |
|
|
||||||
| 2019.1 | [191](https://github.com/JetBrains/intellij-community/tree/191) | 8 |
|
|
||||||
|
|
||||||
|
@ -1,11 +1,10 @@
|
|||||||
<!-- Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -->
|
<!-- Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -->
|
||||||
|
|
||||||
# Getting Started
|
# Getting Started
|
||||||
|
|
||||||
<link-summary>Customizing IDE UI by developing a custom theme.</link-summary>
|
<link-summary>Customizing the IDE user interface by developing a custom theme.</link-summary>
|
||||||
|
|
||||||
Beginning with the 2019.1 release, custom themes are supported.
|
Custom themes allow designers to control the appearance of built-in UI elements.
|
||||||
Custom themes give designers control of the appearance of built-in UI elements.
|
|
||||||
The customization options include:
|
The customization options include:
|
||||||
|
|
||||||
- substitute icons,
|
- substitute icons,
|
||||||
|
@ -267,7 +267,7 @@ This allows users to have the same settings on every development machine or to s
|
|||||||
Settings can be shared via the following functionalities:
|
Settings can be shared via the following functionalities:
|
||||||
- _[Backup and Sync](https://www.jetbrains.com/help/idea/sharing-your-ide-settings.html#IDE_settings_sync)_ (formerly _Settings Sync_) plugin that allows synchronizing settings on JetBrains servers. Users can select the category of settings that are synchronized.
|
- _[Backup and Sync](https://www.jetbrains.com/help/idea/sharing-your-ide-settings.html#IDE_settings_sync)_ (formerly _Settings Sync_) plugin that allows synchronizing settings on JetBrains servers. Users can select the category of settings that are synchronized.
|
||||||
- _[Settings Repository](https://www.jetbrains.com/help/idea/sharing-your-ide-settings.html#settings-repository)_ plugin that allows synchronizing settings in a Git repository created and configured by a user.
|
- _[Settings Repository](https://www.jetbrains.com/help/idea/sharing-your-ide-settings.html#settings-repository)_ plugin that allows synchronizing settings in a Git repository created and configured by a user.
|
||||||
- _[Export Settings](https://www.jetbrains.com/help/idea/2019.3/sharing-your-ide-settings.html#import-export-settings)_ feature that allows for the manual import and export of settings.
|
- _[Export Settings](https://www.jetbrains.com/help/idea/sharing-your-ide-settings.html#import-export-settings)_ feature that allows for the manual import and export of settings.
|
||||||
|
|
||||||
> Synchronization via the _Backup and Sync_ or _Settings Repository_ plugins only works when these plugins are installed and enabled.
|
> Synchronization via the _Backup and Sync_ or _Settings Repository_ plugins only works when these plugins are installed and enabled.
|
||||||
|
|
||||||
|
@ -66,7 +66,7 @@ To execute code when a project is being opened, use one of these two [extensions
|
|||||||
Implement `DumbAware` to indicate activity can run in a background thread (in parallel with other such tasks).
|
Implement `DumbAware` to indicate activity can run in a background thread (in parallel with other such tasks).
|
||||||
|
|
||||||
`com.intellij.backgroundPostStartupActivity`
|
`com.intellij.backgroundPostStartupActivity`
|
||||||
: [`StartupActivity.Background`](%gh-ic%/platform/core-api/src/com/intellij/openapi/startup/StartupActivity.kt) for execution with a 5-second delay in a background thread (2019.3 or later).
|
: [`StartupActivity.Background`](%gh-ic%/platform/core-api/src/com/intellij/openapi/startup/StartupActivity.kt) for execution with a 5-second delay in a background thread.
|
||||||
|
|
||||||
Any long-running or CPU-intensive tasks should be made visible to users by using `ProgressManager.run(Task.Backgroundable)` (see [](background_processes.md)).
|
Any long-running or CPU-intensive tasks should be made visible to users by using `ProgressManager.run(Task.Backgroundable)` (see [](background_processes.md)).
|
||||||
Access to indexes must be wrapped with [`DumbService`](indexing_and_psi_stubs.md#dumb-mode), see also [](threading_model.md).
|
Access to indexes must be wrapped with [`DumbService`](indexing_and_psi_stubs.md#dumb-mode), see also [](threading_model.md).
|
||||||
|
@ -188,14 +188,12 @@ Add the JARs of the plugin on which the project depends to the <control>Classpat
|
|||||||
|
|
||||||
<procedure title="Adding a plugin dependency in a DevKit-based plugin">
|
<procedure title="Adding a plugin dependency in a DevKit-based plugin">
|
||||||
|
|
||||||
1. Open the <control>Project Structure</control> dialog and go to <ui-path>Platform Settings | SDKs</ui-path> section.
|
1. Open the <control>Project Structure</control> dialog and go to the <ui-path>Platform Settings | SDKs</ui-path> section.
|
||||||
2. Select the SDK used in the project.
|
2. Select the SDK used in the project.
|
||||||
3. Click the <control>+</control> button in the <control>Classpath</control> tab.
|
3. Click the <control>+</control> button in the <control>Classpath</control> tab.
|
||||||
4. Select the plugin JAR depending on whether it is a bundled or non-bundled plugin:
|
4. Select the plugin JAR depending on whether it is a bundled or non-bundled plugin:
|
||||||
- For bundled plugins, the plugin JAR files are located in <path>plugins/\$PLUGIN_NAME\$</path> or <path>plugins/\$PLUGIN_NAME\$/lib</path> under the main installation directory.
|
- For bundled plugins, the plugin JAR files are located in <path>plugins/\$PLUGIN_NAME\$</path> or <path>plugins/\$PLUGIN_NAME\$/lib</path> under the main installation directory.
|
||||||
- For non-bundled plugins, depending on the platform version, the plugin JAR files are located in:
|
- For non-bundled plugins, the plugin JAR files are located in OS-specific [plugins directory](https://www.jetbrains.com/help/idea/directories-used-by-the-ide-to-store-settings-caches-plugins-and-logs.html#plugins-directory)
|
||||||
- [plugins directory for versions 2020.1+](https://www.jetbrains.com/help/idea/directories-used-by-the-ide-to-store-settings-caches-plugins-and-logs.html#plugins-directory)
|
|
||||||
- [plugins directory for versions pre-2020.1](https://www.jetbrains.com/help/idea/2019.3/tuning-the-ide.html#plugins-directory)
|
|
||||||
|
|
||||||
</procedure>
|
</procedure>
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
<link-summary>Plugin logo requirements and best practices.</link-summary>
|
<link-summary>Plugin logo requirements and best practices.</link-summary>
|
||||||
|
|
||||||
Beginning in version 2019.1, the IntelliJ Platform supports representing a plugin with a logo.
|
The IntelliJ Platform supports representing a plugin with a logo.
|
||||||
A _Plugin Logo_ is intended to be a unique representation of a plugin's functionality, technology, or company.
|
A _Plugin Logo_ is intended to be a unique representation of a plugin's functionality, technology, or company.
|
||||||
|
|
||||||
When opening <path>plugin.xml</path> in editor, inspection
|
When opening <path>plugin.xml</path> in editor, inspection
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!-- Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -->
|
<!-- Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -->
|
||||||
|
|
||||||
# Listeners
|
# Listeners
|
||||||
|
|
||||||
@ -18,7 +18,7 @@ Listeners are defined at application (global) or [project](project.md) level.
|
|||||||
Listener implementations must be stateless and may not implement life-cycle (e.g., `Disposable`).
|
Listener implementations must be stateless and may not implement life-cycle (e.g., `Disposable`).
|
||||||
Use inspection <control>Plugin DevKit | Code | Listener implementation implements 'Disposable'</control> to verify (2023.3).
|
Use inspection <control>Plugin DevKit | Code | Listener implementation implements 'Disposable'</control> to verify (2023.3).
|
||||||
|
|
||||||
Declarative registration of listeners (2019.3 and later) allows achieving better performance than registering listeners from code.
|
Declarative registration of listeners allows achieving better performance than registering listeners from code.
|
||||||
The advantage is because listener instances get created lazily — the first time an event is sent to the topic — and not during application startup or project opening.
|
The advantage is because listener instances get created lazily — the first time an event is sent to the topic — and not during application startup or project opening.
|
||||||
|
|
||||||
## Defining Application-Level Listeners
|
## Defining Application-Level Listeners
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!-- Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -->
|
<!-- Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -->
|
||||||
|
|
||||||
# PSI Cookbook
|
# PSI Cookbook
|
||||||
|
|
||||||
@ -32,7 +32,7 @@ Unlike [Developing Custom Language Plugins](custom_language_support.md), it is a
|
|||||||
|
|
||||||
## Java Specific
|
## Java Specific
|
||||||
|
|
||||||
> If your plugin depends on Java functionality and targets 2019.2 or later, see [](plugin_compatibility.md#java).
|
> If your plugin depends on Java functionality, see [](plugin_compatibility.md#java).
|
||||||
> Also consider using [UAST](uast.md) if your plugin supports other JVM languages.
|
> Also consider using [UAST](uast.md) if your plugin supports other JVM languages.
|
||||||
>
|
>
|
||||||
{style="note"}
|
{style="note"}
|
||||||
|
@ -33,8 +33,6 @@ Use [`LightPlatformTestCase`](%gh-ic%/platform/testFramework/src/com/intellij/te
|
|||||||
or [`BasePlatformTestCase`](%gh-ic%/platform/testFramework/src/com/intellij/testFramework/fixtures/BasePlatformTestCase.java)
|
or [`BasePlatformTestCase`](%gh-ic%/platform/testFramework/src/com/intellij/testFramework/fixtures/BasePlatformTestCase.java)
|
||||||
for tests that don't have any dependency on Java functionality.
|
for tests that don't have any dependency on Java functionality.
|
||||||
|
|
||||||
For 2019.2 and earlier, use [`LightPlatformCodeInsightFixtureTestCase`](%gh-ic-223%/platform/testFramework/src/com/intellij/testFramework/fixtures/LightPlatformCodeInsightFixtureTestCase.java).
|
|
||||||
|
|
||||||
**Examples:**
|
**Examples:**
|
||||||
- [`JavaCopyrightTest`](%gh-ic%/java/java-tests/testSrc/com/intellij/copyright/JavaCopyrightTest.kt)
|
- [`JavaCopyrightTest`](%gh-ic%/java/java-tests/testSrc/com/intellij/copyright/JavaCopyrightTest.kt)
|
||||||
- [`HtmlDocumentationTest`](%gh-ic%/xml/tests/src/com/intellij/html/HtmlDocumentationTest.java)
|
- [`HtmlDocumentationTest`](%gh-ic%/xml/tests/src/com/intellij/html/HtmlDocumentationTest.java)
|
||||||
@ -53,8 +51,6 @@ For tests that require the [Java PSI](idea.md#java) or related functionality:
|
|||||||
- [`LightJavaCodeInsightFixtureTestCase4`](%gh-ic%/java/testFramework/src/com/intellij/testFramework/fixtures/LightJavaCodeInsightFixtureTestCase4.kt) for JUnit 4 (2021.1 and later)
|
- [`LightJavaCodeInsightFixtureTestCase4`](%gh-ic%/java/testFramework/src/com/intellij/testFramework/fixtures/LightJavaCodeInsightFixtureTestCase4.kt) for JUnit 4 (2021.1 and later)
|
||||||
- [`LightJavaCodeInsightFixtureTestCase5`](%gh-ic%/java/testFramework/src/com/intellij/testFramework/fixtures/LightJavaCodeInsightFixtureTestCase5.kt) for JUnit 5 (2021.1 and later)
|
- [`LightJavaCodeInsightFixtureTestCase5`](%gh-ic%/java/testFramework/src/com/intellij/testFramework/fixtures/LightJavaCodeInsightFixtureTestCase5.kt) for JUnit 5 (2021.1 and later)
|
||||||
|
|
||||||
For 2019.2 and earlier, use [`LightCodeInsightFixtureTestCase`](%gh-ic%/java/testFramework/src/com/intellij/testFramework/fixtures/LightCodeInsightFixtureTestCase.java).
|
|
||||||
|
|
||||||
**Examples:**
|
**Examples:**
|
||||||
- [`PatternValidatorTest`](%gh-ic%/plugins/IntelliLang/IntelliLang-tests/test/org/intellij/plugins/intelliLang/pattern/PatternValidatorTest.java) (JUnit 3)
|
- [`PatternValidatorTest`](%gh-ic%/plugins/IntelliLang/IntelliLang-tests/test/org/intellij/plugins/intelliLang/pattern/PatternValidatorTest.java) (JUnit 3)
|
||||||
- [`JavaCtrlMouseTest`](%gh-ic%/java/java-tests/testSrc/com/intellij/java/codeInsight/javadoc/JavaCtrlMouseTest.kt) (JUnit 4)
|
- [`JavaCtrlMouseTest`](%gh-ic%/java/java-tests/testSrc/com/intellij/java/codeInsight/javadoc/JavaCtrlMouseTest.kt) (JUnit 4)
|
||||||
@ -78,10 +74,6 @@ When [testing JVM languages](testing_faq.md#how-to-test-a-jvm-language), see als
|
|||||||
|
|
||||||
The standard way of writing a heavy test is to extend [`HeavyPlatformTestCase`](%gh-ic%/platform/testFramework/src/com/intellij/testFramework/HeavyPlatformTestCase.java).
|
The standard way of writing a heavy test is to extend [`HeavyPlatformTestCase`](%gh-ic%/platform/testFramework/src/com/intellij/testFramework/HeavyPlatformTestCase.java).
|
||||||
|
|
||||||
> In 2019.3, `PlatformTestCase` has been renamed to [`HeavyPlatformTestCase`](%gh-ic%/platform/testFramework/src/com/intellij/testFramework/HeavyPlatformTestCase.java) reflecting its "heavy test" characteristics.
|
|
||||||
>
|
|
||||||
{style="note"}
|
|
||||||
|
|
||||||
**Examples:**
|
**Examples:**
|
||||||
- [`ModuleDeleteProviderTest`](%gh-ic%/java/java-tests/testSrc/com/intellij/openapi/roots/ui/configuration/actions/ModuleDeleteProviderTest.java)
|
- [`ModuleDeleteProviderTest`](%gh-ic%/java/java-tests/testSrc/com/intellij/openapi/roots/ui/configuration/actions/ModuleDeleteProviderTest.java)
|
||||||
- [`FacetTypeUnloadingTest`](%gh-ic%/java/idea-ui/testSrc/com/intellij/facet/FacetTypeUnloadingTest.kt)
|
- [`FacetTypeUnloadingTest`](%gh-ic%/java/idea-ui/testSrc/com/intellij/facet/FacetTypeUnloadingTest.kt)
|
||||||
|
@ -12,7 +12,7 @@ The test fixture creates a *test project* environment.
|
|||||||
Unless you customize the project creation, the test project will have one module with one source root called <path>src</path>.
|
Unless you customize the project creation, the test project will have one module with one source root called <path>src</path>.
|
||||||
The test project files exist either in a temporary directory or in an in-memory file system, depending on which implementation of [`TempDirTestFixture`](%gh-ic%/platform/testFramework/src/com/intellij/testFramework/fixtures/TempDirTestFixture.java) is used.
|
The test project files exist either in a temporary directory or in an in-memory file system, depending on which implementation of [`TempDirTestFixture`](%gh-ic%/platform/testFramework/src/com/intellij/testFramework/fixtures/TempDirTestFixture.java) is used.
|
||||||
|
|
||||||
[`BasePlatformTestCase`](%gh-ic%/platform/testFramework/src/com/intellij/testFramework/fixtures/BasePlatformTestCase.java) (renamed from `LightPlatformCodeInsightFixtureTestCase` in 2019.2) uses an in-memory implementation; if you set up the test environment by calling `IdeaTestFixtureFactory.createCodeInsightFixture()`, you can specify the implementation to use.
|
[`BasePlatformTestCase`](%gh-ic%/platform/testFramework/src/com/intellij/testFramework/fixtures/BasePlatformTestCase.java) uses an in-memory implementation; if you set up the test environment by calling `IdeaTestFixtureFactory.createCodeInsightFixture()`, you can specify the implementation to use.
|
||||||
|
|
||||||
> If your tests use the in-memory implementation, and you abort the execution of your tests, the persisted filesystem caches may get out of sync with the in-memory structures, and you may get spurious errors in your tests.
|
> If your tests use the in-memory implementation, and you abort the execution of your tests, the persisted filesystem caches may get out of sync with the in-memory structures, and you may get spurious errors in your tests.
|
||||||
> If you get an unexpected error after a series of successful runs, **try rerunning the test**, and if that doesn't help, **delete the "system" subdirectory** in your [sandbox directory](ide_development_instance.md#the-development-instance-sandbox-directory).
|
> If you get an unexpected error after a series of successful runs, **try rerunning the test**, and if that doesn't help, **delete the "system" subdirectory** in your [sandbox directory](ide_development_instance.md#the-development-instance-sandbox-directory).
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!-- Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -->
|
<!-- Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -->
|
||||||
|
|
||||||
# Tests and Fixtures
|
# Tests and Fixtures
|
||||||
|
|
||||||
@ -20,7 +20,7 @@ When writing your tests, you have the choice between using a standard base class
|
|||||||
|
|
||||||
</snippet>
|
</snippet>
|
||||||
|
|
||||||
With the former approach, you can use classes such as [`BasePlatformTestCase`](%gh-ic%/platform/testFramework/src/com/intellij/testFramework/fixtures/BasePlatformTestCase.java) ([`LightPlatformCodeInsightFixtureTestCase`](%gh-ic-223%/platform/testFramework/src/com/intellij/testFramework/fixtures/LightPlatformCodeInsightFixtureTestCase.java) before 2019.2).
|
With the former approach, you can use classes such as [`BasePlatformTestCase`](%gh-ic%/platform/testFramework/src/com/intellij/testFramework/fixtures/BasePlatformTestCase.java).
|
||||||
|
|
||||||
With the latter approach, you use the [`IdeaTestFixtureFactory`](%gh-ic%/platform/testFramework/src/com/intellij/testFramework/fixtures/IdeaTestFixtureFactory.java) class to create instances of fixtures for the test environment.
|
With the latter approach, you use the [`IdeaTestFixtureFactory`](%gh-ic%/platform/testFramework/src/com/intellij/testFramework/fixtures/IdeaTestFixtureFactory.java) class to create instances of fixtures for the test environment.
|
||||||
You need to call the fixture creation and setup methods from the test setup method used by your test framework.
|
You need to call the fixture creation and setup methods from the test setup method used by your test framework.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!-- Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -->
|
<!-- Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -->
|
||||||
|
|
||||||
# Messaging Infrastructure
|
# Messaging Infrastructure
|
||||||
|
|
||||||
@ -165,7 +165,7 @@ endif
|
|||||||
@enduml
|
@enduml
|
||||||
```
|
```
|
||||||
|
|
||||||
> If targeting 2019.3 or later, use [declarative registration](plugin_listeners.md) whenever possible.
|
> Use [declarative registration](plugin_listeners.md) whenever possible.
|
||||||
>
|
>
|
||||||
{style="note"}
|
{style="note"}
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!-- Copyright 2000-2023 JetBrains s.r.o. and other contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. -->
|
<!-- Copyright 2000-2025 JetBrains s.r.o. and other contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. -->
|
||||||
|
|
||||||
# Module
|
# Module
|
||||||
|
|
||||||
@ -175,4 +175,4 @@ project.getMessageBus().connect().subscribe(
|
|||||||
});
|
});
|
||||||
```
|
```
|
||||||
|
|
||||||
If targeting 2019.3 or later, [declarative registration](plugin_listeners.md) is available as well.
|
[Declarative registration](plugin_listeners.md) is available as well.
|
||||||
|
@ -151,7 +151,7 @@ project.getMessageBus().connect().subscribe(
|
|||||||
});
|
});
|
||||||
```
|
```
|
||||||
|
|
||||||
If targeting 2019.3 or later, [declarative registration](plugin_listeners.md) is available as well.
|
[Declarative registration](plugin_listeners.md) is available as well.
|
||||||
|
|
||||||
The event only notifies that something has changed; if more details are needed about what changes have occurred, keep a copy of the state of the project structure model which is relevant, and to compare it with the state after the change.
|
The event only notifies that something has changed; if more details are needed about what changes have occurred, keep a copy of the state of the project structure model which is relevant, and to compare it with the state after the change.
|
||||||
|
|
||||||
|
@ -49,8 +49,6 @@ The following minimal sample demonstrates all details required when exposing UI
|
|||||||
* `source` - Fully qualified name of the underlying UI component implementation, e.g., `javax.swing.JPasswordField`
|
* `source` - Fully qualified name of the underlying UI component implementation, e.g., `javax.swing.JPasswordField`
|
||||||
* `since` - The release number when this UI customization key was exposed, e.g., `2021.1`
|
* `since` - The release number when this UI customization key was exposed, e.g., `2021.1`
|
||||||
|
|
||||||
Note: The `since` attribute is supported starting with the 2019.2 release and it is not displayed in versions prior to 2019.2.
|
|
||||||
|
|
||||||
> It is highly recommended to always provide a `description` entry, so Theme authors can understand usages.
|
> It is highly recommended to always provide a `description` entry, so Theme authors can understand usages.
|
||||||
>
|
>
|
||||||
|
|
||||||
|
@ -23,7 +23,7 @@ This section adds annotation functionality to support the Simple Language in the
|
|||||||
Classes defined in this step of the tutorial depend on `com.intellij.psi.PsiLiteralExpression` (the PSI representation for String literals in Java code) at runtime.
|
Classes defined in this step of the tutorial depend on `com.intellij.psi.PsiLiteralExpression` (the PSI representation for String literals in Java code) at runtime.
|
||||||
Using `PsiLiteralExpression` [introduces a dependency](plugin_compatibility.md#modules-specific-to-functionality) on `com.intellij.java`.
|
Using `PsiLiteralExpression` [introduces a dependency](plugin_compatibility.md#modules-specific-to-functionality) on `com.intellij.java`.
|
||||||
|
|
||||||
Beginning in version 2019.2, a dependency on Java plugin [must be declared explicitly](plugin_compatibility.md#java).
|
A dependency on the Java plugin [must be declared explicitly](plugin_compatibility.md#java).
|
||||||
First, add a dependency on the Java plugin in the Gradle build script:
|
First, add a dependency on the Java plugin in the Gradle build script:
|
||||||
|
|
||||||
<tabs>
|
<tabs>
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!-- Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -->
|
<!-- Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -->
|
||||||
|
|
||||||
# Editor Components
|
# Editor Components
|
||||||
|
|
||||||
@ -48,7 +48,7 @@ See [](code_completion.md) to learn more about completion.
|
|||||||
|
|
||||||
### Java
|
### Java
|
||||||
|
|
||||||
> If your plugin depends on Java functionality and targets 2019.2 or later, see [](plugin_compatibility.md#java).
|
> If your plugin depends on Java functionality, see [](plugin_compatibility.md#java).
|
||||||
>
|
>
|
||||||
{style="note"}
|
{style="note"}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user