From 66b6e38eccef21c180499e7236bf36861d25b776 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yann=20C=C3=A9bron?= Date: Thu, 24 Apr 2025 17:14:08 +0200 Subject: [PATCH] remove 2019 content --- code_samples/theme_basics/README.md | 2 -- topics/basics/architectural_overview/virtual_file.md | 2 +- .../basics/architectural_overview/virtual_file_system.md | 8 ++++---- topics/basics/getting_started/build_number_ranges.md | 3 --- .../getting_started/theme/themes_getting_started.md | 7 +++---- topics/basics/persisting_state_of_components.md | 2 +- topics/basics/plugin_structure/plugin_components.md | 2 +- topics/basics/plugin_structure/plugin_dependencies.md | 6 ++---- topics/basics/plugin_structure/plugin_icon_file.md | 2 +- topics/basics/plugin_structure/plugin_listeners.md | 4 ++-- topics/basics/psi_cookbook.md | 4 ++-- topics/basics/testing_plugins/light_and_heavy_tests.md | 8 -------- .../test_project_and_testdata_directories.md | 2 +- topics/basics/testing_plugins/tests_and_fixtures.md | 4 ++-- topics/reference_guide/messaging_infrastructure.md | 4 ++-- topics/reference_guide/project_model/module.md | 4 ++-- topics/reference_guide/project_model/project.md | 2 +- topics/reference_guide/themes_metadata.md | 2 -- topics/tutorials/custom_language_support/annotator.md | 2 +- topics/user_interface_components/editor_components.md | 4 ++-- 20 files changed, 28 insertions(+), 46 deletions(-) diff --git a/code_samples/theme_basics/README.md b/code_samples/theme_basics/README.md index 7632734ee..6fd58d327 100644 --- a/code_samples/theme_basics/README.md +++ b/code_samples/theme_basics/README.md @@ -3,8 +3,6 @@ ## 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. Custom themes can: - substitute icons, diff --git a/topics/basics/architectural_overview/virtual_file.md b/topics/basics/architectural_overview/virtual_file.md index 2e8007dc5..9d14f71a2 100644 --- a/topics/basics/architectural_overview/virtual_file.md +++ b/topics/basics/architectural_overview/virtual_file.md @@ -72,7 +72,7 @@ project.getMessageBus().connect().subscribe( 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? diff --git a/topics/basics/architectural_overview/virtual_file_system.md b/topics/basics/architectural_overview/virtual_file_system.md index c0781cdb1..ddd0cc6e2 100644 --- a/topics/basics/architectural_overview/virtual_file_system.md +++ b/topics/basics/architectural_overview/virtual_file_system.md @@ -1,8 +1,8 @@ + + # Virtual File System - - -Virtual File System is an abstraction that allows to work with local or remote file storages and implement custom. +Virtual File System is an abstraction that allows working with local, remote, or custom file storages. 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. 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. > VFS listeners are application level and will receive events for changes happening in *all* the projects opened by the user. diff --git a/topics/basics/getting_started/build_number_ranges.md b/topics/basics/getting_started/build_number_ranges.md index df28dbfde..9c5b4ebee 100644 --- a/topics/basics/getting_started/build_number_ranges.md +++ b/topics/basics/getting_started/build_number_ranges.md @@ -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.2 | [202](https://github.com/JetBrains/intellij-community/tree/202) | 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 | diff --git a/topics/basics/getting_started/theme/themes_getting_started.md b/topics/basics/getting_started/theme/themes_getting_started.md index eb568d355..673f74189 100644 --- a/topics/basics/getting_started/theme/themes_getting_started.md +++ b/topics/basics/getting_started/theme/themes_getting_started.md @@ -1,11 +1,10 @@ - + # Getting Started -Customizing IDE UI by developing a custom theme. +Customizing the IDE user interface by developing a custom theme. -Beginning with the 2019.1 release, custom themes are supported. -Custom themes give designers control of the appearance of built-in UI elements. +Custom themes allow designers to control the appearance of built-in UI elements. The customization options include: - substitute icons, diff --git a/topics/basics/persisting_state_of_components.md b/topics/basics/persisting_state_of_components.md index 5042f83fc..5f905304c 100644 --- a/topics/basics/persisting_state_of_components.md +++ b/topics/basics/persisting_state_of_components.md @@ -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: - _[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. -- _[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. diff --git a/topics/basics/plugin_structure/plugin_components.md b/topics/basics/plugin_structure/plugin_components.md index 81fee65ee..c64205d2a 100644 --- a/topics/basics/plugin_structure/plugin_components.md +++ b/topics/basics/plugin_structure/plugin_components.md @@ -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). `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)). Access to indexes must be wrapped with [`DumbService`](indexing_and_psi_stubs.md#dumb-mode), see also [](threading_model.md). diff --git a/topics/basics/plugin_structure/plugin_dependencies.md b/topics/basics/plugin_structure/plugin_dependencies.md index 8a8a1c737..925f19345 100644 --- a/topics/basics/plugin_structure/plugin_dependencies.md +++ b/topics/basics/plugin_structure/plugin_dependencies.md @@ -188,14 +188,12 @@ Add the JARs of the plugin on which the project depends to the Classpat -1. Open the Project Structure dialog and go to Platform Settings | SDKs section. +1. Open the Project Structure dialog and go to the Platform Settings | SDKs section. 2. Select the SDK used in the project. 3. Click the + button in the Classpath tab. 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 plugins/\$PLUGIN_NAME\$ or plugins/\$PLUGIN_NAME\$/lib under the main installation directory. - - For non-bundled plugins, depending on the platform version, the plugin JAR files are located in: - - [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) + - 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) diff --git a/topics/basics/plugin_structure/plugin_icon_file.md b/topics/basics/plugin_structure/plugin_icon_file.md index 40b5147cc..f23a5cbaf 100644 --- a/topics/basics/plugin_structure/plugin_icon_file.md +++ b/topics/basics/plugin_structure/plugin_icon_file.md @@ -4,7 +4,7 @@ Plugin logo requirements and best practices. -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. When opening plugin.xml in editor, inspection diff --git a/topics/basics/plugin_structure/plugin_listeners.md b/topics/basics/plugin_structure/plugin_listeners.md index cdb1ea506..dfc7bc324 100644 --- a/topics/basics/plugin_structure/plugin_listeners.md +++ b/topics/basics/plugin_structure/plugin_listeners.md @@ -1,4 +1,4 @@ - + # 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`). Use inspection Plugin DevKit | Code | Listener implementation implements 'Disposable' 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. ## Defining Application-Level Listeners diff --git a/topics/basics/psi_cookbook.md b/topics/basics/psi_cookbook.md index 5e22cbcaf..d8fffbb2b 100644 --- a/topics/basics/psi_cookbook.md +++ b/topics/basics/psi_cookbook.md @@ -1,4 +1,4 @@ - + # PSI Cookbook @@ -32,7 +32,7 @@ Unlike [Developing Custom Language Plugins](custom_language_support.md), it is a ## 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. > {style="note"} diff --git a/topics/basics/testing_plugins/light_and_heavy_tests.md b/topics/basics/testing_plugins/light_and_heavy_tests.md index 401b45b86..70a309a8f 100644 --- a/topics/basics/testing_plugins/light_and_heavy_tests.md +++ b/topics/basics/testing_plugins/light_and_heavy_tests.md @@ -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) 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:** - [`JavaCopyrightTest`](%gh-ic%/java/java-tests/testSrc/com/intellij/copyright/JavaCopyrightTest.kt) - [`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) - [`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:** - [`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) @@ -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). -> 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:** - [`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) diff --git a/topics/basics/testing_plugins/test_project_and_testdata_directories.md b/topics/basics/testing_plugins/test_project_and_testdata_directories.md index 2abf2490d..95650fa83 100644 --- a/topics/basics/testing_plugins/test_project_and_testdata_directories.md +++ b/topics/basics/testing_plugins/test_project_and_testdata_directories.md @@ -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 src. 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 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). diff --git a/topics/basics/testing_plugins/tests_and_fixtures.md b/topics/basics/testing_plugins/tests_and_fixtures.md index 89bc06f35..4ca286552 100644 --- a/topics/basics/testing_plugins/tests_and_fixtures.md +++ b/topics/basics/testing_plugins/tests_and_fixtures.md @@ -1,4 +1,4 @@ - + # Tests and Fixtures @@ -20,7 +20,7 @@ When writing your tests, you have the choice between using a standard base class -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. You need to call the fixture creation and setup methods from the test setup method used by your test framework. diff --git a/topics/reference_guide/messaging_infrastructure.md b/topics/reference_guide/messaging_infrastructure.md index 5648b0438..1430d23b5 100644 --- a/topics/reference_guide/messaging_infrastructure.md +++ b/topics/reference_guide/messaging_infrastructure.md @@ -1,4 +1,4 @@ - + # Messaging Infrastructure @@ -165,7 +165,7 @@ endif @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"} diff --git a/topics/reference_guide/project_model/module.md b/topics/reference_guide/project_model/module.md index 0aadf2ea4..7489c5438 100644 --- a/topics/reference_guide/project_model/module.md +++ b/topics/reference_guide/project_model/module.md @@ -1,4 +1,4 @@ - + # 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. diff --git a/topics/reference_guide/project_model/project.md b/topics/reference_guide/project_model/project.md index f369f3aa0..ed627d2a1 100644 --- a/topics/reference_guide/project_model/project.md +++ b/topics/reference_guide/project_model/project.md @@ -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. diff --git a/topics/reference_guide/themes_metadata.md b/topics/reference_guide/themes_metadata.md index df55c8eee..9cfcfde85 100644 --- a/topics/reference_guide/themes_metadata.md +++ b/topics/reference_guide/themes_metadata.md @@ -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` * `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. > diff --git a/topics/tutorials/custom_language_support/annotator.md b/topics/tutorials/custom_language_support/annotator.md index e349dea77..60d83c719 100644 --- a/topics/tutorials/custom_language_support/annotator.md +++ b/topics/tutorials/custom_language_support/annotator.md @@ -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. 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: diff --git a/topics/user_interface_components/editor_components.md b/topics/user_interface_components/editor_components.md index 3d7fda45e..4c899c1ee 100644 --- a/topics/user_interface_components/editor_components.md +++ b/topics/user_interface_components/editor_components.md @@ -1,4 +1,4 @@ - + # Editor Components @@ -48,7 +48,7 @@ See [](code_completion.md) to learn more about completion. ### 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"}