"Settings/Preferences" is now "Settings" on all OSes

This commit is contained in:
Yann Cébron 2023-01-11 14:43:08 +01:00
parent 91772ef880
commit b969d17468
38 changed files with 139 additions and 141 deletions

View File

@ -14,7 +14,7 @@ Use [https://kroki.io/](https://kroki.io/).
* Get and install the [PlantUML Integration plugin](https://plugins.jetbrains.com/plugin/7017-plantuml-integration) for IntelliJ IDEA:
* Set the `GRAPHVIZ_DOT` system or environment property to point to the directory containing the Graphviz executable on your machine.
For example, `export GRAPHVIZ_DOT="/usr/local/Cellar/graphviz/2.42.3/bin/dot"`
* In the PlantUML plugin Settings (**Settings/Preferences \| Other Settings \| PlantUML**) set:
* In the PlantUML plugin Settings (**Settings \| Other Settings \| PlantUML**) set:
* The "Additional 'plantuml.include.path'" to be the absolute path to the directory containing the `jb-plantuml-theme.puml` file on your machine.
For example, `/<path to sdk root>/buildUML` or, if you have the IntelliJ-Community source code, `/<path to intellij-community root>/platform/docs/`.
* The "PlantUML config" to `!include jb-plantuml-theme.puml`

View File

@ -34,30 +34,29 @@ Please see [Code Samples][docs:code-samples] topic on how to import and run code
In the following table, you may find all available samples provided in the separated directories as stand-alone projects available for running with the Gradle [`runIde`](tools_gradle_intellij_plugin.md#tasks-runide) task.
| Code Sample | Description |
|------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [Action Basics](./action_basics) | Action and Action Group patterns implementation, adds entries to the Tools menu. |
| [Comparing References Inspection](./comparing_references_inspection) | Local Inspection Tool, adds entries to **Settings/Preferences &#124; Editor &#124; Inspections &#124; Java &#124; Probable Bugs**. |
| [Conditional Operator Intention](./conditional_operator_intention) | Intention action, suggests converting a ternary operator into an `if` block and adds entry to **Settings/Preferences &#124; Editor &#124; Intentions &#124; SDK Intentions**. |
| [Editor Basics](./editor_basics) | Basic Editor APIs example with editor popup menu with extra actions. |
| [Facet Basics](./facet_basics) | Custom Facet pattern, adds *SDK Facet* to the **Project Structure &#124; Project Settings &#124; Facets** menu. |
| [Framework Basics](./framework_basics) | Basic *SDK Demo Framework* support added to the **File &#124; New &#124; Project &#124; Java** wizard. |
| [Inspection Basics](./inspection_basics) | Code Inspection entry added to the **Settings/Preferences &#124; Editor &#124; Inspections &#124; SDK &#124; Example Tools**. |
| [Kotlin Demo](./kotlin_demo) | Kotlin example extending the *Main Menu* with a **Greeting** menu group. |
| [Live Templates](./live_templates) | Live templates for Markdown language, adds an entry to the **Settings/Preferences &#124; Editor &#124; Live Templates** dialog. |
| [Max Opened Projects](./max_opened_projects) | Application services and listeners, shows warning dialog when more than 3 open projects are opened. |
| [Module](./module) | *SDK Demo Module* module type added to the **File &#124; New &#124; Project...** wizard. |
| [Product Specific - PyCharm Sample](./product_specific/pycharm_basics) | Plugin project configuration for the PyCharm IDE. |
| [Project Model](./project_model) | Interacts with the project model, adds menu items to **Tools** and **Editor Context** menus. |
| [Project View Pane](./project_view_pane) | Project View Pane listing only image files. |
| [Project Wizard](./project_wizard) | Project Wizard example with demo steps. |
| [PSI Demo](./psi_demo) | PSI Navigation features presentation. |
| [Run Configuration](./run_configuration) | Run configuration implementation with factory, options and UI. |
| [Settings](./settings) | Custom settings panel, adds a settings panel to the **Settings/Preferences** panel under **Tools**. |
| [Simple Language Plugin](./simple_language_plugin) | Custom language support, defines a new *Simple language* with syntax highlighting, annotations, code completion, and other features. |
| [Theme Basics](./theme_basics) | Sample *theme* plugin with basic interface modifications. |
| [Tool Window](./tool_window) | Custom Tool Window example plugin. |
| [Tree Structure Provider](./tree_structure_provider) | Tree Structure Provider showing only plain text files. |
| Code Sample | Description |
|------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [Action Basics](./action_basics) | Action and Action Group patterns implementation, adds entries to the Tools menu. |
| [Comparing References Inspection](./comparing_references_inspection) | Local Inspection Tool, adds entries to **Settings &#124; Editor &#124; Inspections &#124; Java &#124; Probable Bugs**. |
| [Conditional Operator Intention](./conditional_operator_intention) | Intention action, suggests converting a ternary operator into an `if` block and adds entry to **Settings &#124; Editor &#124; Intentions &#124; SDK Intentions**. |
| [Editor Basics](./editor_basics) | Basic Editor APIs example with editor popup menu with extra actions. |
| [Framework Basics](./framework_basics) | Basic *SDK Demo Framework* support added to the **File &#124; New &#124; Project &#124; Java** wizard. |
| [Inspection Basics](./inspection_basics) | Code Inspection entry added to the **Settings &#124; Editor &#124; Inspections &#124; SDK &#124; Example Tools**. |
| [Kotlin Demo](./kotlin_demo) | Kotlin example extending the *Main Menu* with a **Greeting** menu group. |
| [Live Templates](./live_templates) | Live templates for Markdown language, adds an entry to the **Settings &#124; Editor &#124; Live Templates** dialog. |
| [Max Opened Projects](./max_opened_projects) | Application services and listeners, shows warning dialog when more than 3 open projects are opened. |
| [Module](./module) | *SDK Demo Module* module type added to the **File &#124; New &#124; Project...** wizard. |
| [Product Specific - PyCharm Sample](./product_specific/pycharm_basics) | Plugin project configuration for the PyCharm IDE. |
| [Project Model](./project_model) | Interacts with the project model, adds menu items to **Tools** and **Editor Context** menus. |
| [Project View Pane](./project_view_pane) | Project View Pane listing only image files. |
| [Project Wizard](./project_wizard) | Project Wizard example with demo steps. |
| [PSI Demo](./psi_demo) | PSI Navigation features presentation. |
| [Run Configuration](./run_configuration) | Run configuration implementation with factory, options and UI. |
| [Settings](./settings) | Custom settings panel, adds a settings panel to the **Settings** panel under **Tools**. |
| [Simple Language Plugin](./simple_language_plugin) | Custom language support, defines a new *Simple language* with syntax highlighting, annotations, code completion, and other features. |
| [Theme Basics](./theme_basics) | Sample *theme* plugin with basic interface modifications. |
| [Tool Window](./tool_window) | Custom Tool Window example plugin. |
| [Tree Structure Provider](./tree_structure_provider) | Tree Structure Provider showing only plain text files. |
[gh:workflow-code-samples]: https://github.com/JetBrains/intellij-sdk-docs/actions?query=workflow%3ACode%20Samples
[gh:template]: https://github.com/JetBrains/intellij-platform-plugin-template

View File

@ -1,4 +1,4 @@
<!-- Copyright 2000-2022 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-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. -->
<!-- Plugin Configuration File. Read more: https://plugins.jetbrains.com/docs/intellij/plugin-configuration-file.html -->
<idea-plugin>
@ -16,7 +16,7 @@
<!-- Text to display as description on Preferences/Settings | Plugin page -->
<description>
<![CDATA[
Demonstrates implementing a custom settings panel.<br>Adds a settings panel to the <b>Settings/Preferences</b>
Demonstrates implementing a custom settings panel.<br>Adds a settings panel to the <b>Settings</b>
panel under <b>Tools</b>.
]]>
</description>

View File

@ -1,6 +1,6 @@
[//]: # (title: Notable Changes in IntelliJ Platform and Plugins API 2019.*)
# Notable Changes in IntelliJ Platform and Plugins API 2019.*
<!-- Copyright 2000-2022 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-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. -->
## 2019.3
@ -22,7 +22,7 @@ Symbol completion in plain text editor (VCS Commit Message)
: Contribute symbol names (classes, methods, ..) via `com.intellij.completion.plainTextSymbol` extension point (`com.intellij.codeInsight.completion.PlainTextSymbolCompletionContributor`).
User-customizable date/time formatting
: Use `com.intellij.util.text.JBDateFormat#getFormatter()` to use configured format from <ui-path>Settings/Preferences | Appearance & Behavior | System Settings | Date Formats</ui-path>.
: Use `com.intellij.util.text.JBDateFormat#getFormatter()` to use configured format from <ui-path>Settings | Appearance & Behavior | System Settings | Date Formats</ui-path>.
### IntelliJ IDEA 2019.3
@ -44,7 +44,7 @@ Create HTML representation of code
: 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 <ui-path>Settings/Preferences | Editor | Inlay Hints</ui-path>. See `com.intellij.codeInsight.hints.InlayHintsProvider`.
: Allows a variety of presentations (incl. custom painting), mouse event handling, and exposing settings in <ui-path>Settings | Editor | Inlay Hints</ui-path>. See `com.intellij.codeInsight.hints.InlayHintsProvider`.
`com.intellij.openapi.vfs.AsyncFileListener`
: A non-blocking variant for `com.intellij.openapi.vfs.newvfs.BulkFileListener`.

View File

@ -1,6 +1,6 @@
[//]: # (title: Custom Plugin Repository)
# Custom Plugin Repository
<!-- Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -->
<!-- Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -->
> [Toolbox Enterprise](https://www.jetbrains.com/toolbox-enterprise/) (currently in Early Access) comes with a local built-in IntelliJ plugin repository that allows you to choose specific plugins to be approved within your organization. It also lets you upload and distribute your own plugins inside your company, as well as any publicly available plugin from the internet.
@ -12,7 +12,7 @@ If you intend to use a plugin repository _other than_ the [JetBrains Marketplace
This file describes all the plugins available in your custom repository and each plugin's download URL.
2. Upload your plugin JAR/ZIP file to an HTTPS web server.
This can be the same web server you are using for the custom repository or a different HTTPS web server.
3. Add the URL for the custom repository to the JetBrains IDE [Repository Settings/Preferences](https://www.jetbrains.com/help/idea/managing-plugins.html#repos).
3. Add the URL for the custom repository to the JetBrains IDE [Repository Settings](https://www.jetbrains.com/help/idea/managing-plugins.html#repos).
\* The <path>updatePlugin.xml</path> file name is not fixed and can be different.
@ -35,7 +35,7 @@ The description also tells the JetBrains IDE where to download the plugin itself
A custom plugin repository's <path>updatePlugins.xml</path> file is constructed and maintained by the repository administrator.
More than one <path>updatePlugins.xml</path> file may be required if the custom repository consumers are using more than one version of a JetBrains IDE.
For example, <path>updatePlugins-182.xml</path>, <path>updatePlugins-183.xml</path> for IntelliJ IDEA 2018.2 and 2018.3, respectively.
Each <path>updatePlugins-*.xml</path> file will have a unique URL that is added to the JetBrains IDE [Repository Settings/Preferences](https://www.jetbrains.com/help/idea/managing-plugins.html#repos).
Each <path>updatePlugins-*.xml</path> file will have a unique URL that is added to the JetBrains IDE [Repository Settings](https://www.jetbrains.com/help/idea/managing-plugins.html#repos).
### Format of updatePlugins.xml File

View File

@ -1,6 +1,6 @@
# Gradle IntelliJ Plugin
<!-- Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -->
<!-- Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -->
<tldr>
@ -63,7 +63,7 @@ plugins {
When upgrading to `1.x` version, please make sure to follow the [migration guide](https://lp.jetbrains.com/gradle-intellij-plugin) to adjust your existing build script.
> <control>Gradle JVM</control> must be set to Java 11 in <path>Settings/Preferences | Build, Execution, Deployment | Build Tools | Gradle</path>.
> <control>Gradle JVM</control> must be set to Java 11 in <ui-path>Settings | Build, Execution, Deployment | Build Tools | Gradle</ui-path>.
>
> If targeting 2022.3+, Java 17 is required instead.

View File

@ -1,6 +1,6 @@
# Gradle IntelliJ Plugin FAQ
<!-- Copyright 2000-2022 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-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. -->
<link-summary>FAQ for using Gradle IntelliJ Plugin</link-summary>
@ -118,7 +118,7 @@ buildSearchableOptions.enabled = false
</tab>
</tabs>
As a result of disabling building searchable options, the [Settings](settings.md) that your plugin provides won't be searchable in the <ui-path>Settings/Preferences</ui-path> dialog.
As a result of disabling building searchable options, the [Settings](settings.md) that your plugin provides won't be searchable in the <ui-path>Settings</ui-path> dialog.
Disabling of the task is suggested for plugins that are not intended to provide custom settings.
### How to show log file of sandbox instance

View File

@ -1,6 +1,6 @@
# Actions
<!-- Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -->
<!-- Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -->
<link-summary>Adding custom actions to IntelliJ Platform-based IDEs menus and toolbar.</link-summary>
@ -422,4 +422,4 @@ Use [`BackAction`](%gh-ic%/platform/platform-api/src/com/intellij/ui/navigation/
For actions registered at runtime (e.g., in a tool window toolbar), add an [`<action>`](plugin_configuration_file.md#idea-plugin__actions__action) entry with
[`EmptyAction`](%gh-ic%/platform/platform-api/src/com/intellij/openapi/actionSystem/EmptyAction.java)
to "reserve" Action ID so they become visible in <ui-path>Settings/Preferences | Keymap</ui-path>.
to "reserve" Action ID so they become visible in <ui-path>Settings | Keymap</ui-path>.

View File

@ -1,6 +1,6 @@
[//]: # (title: Themes - Editor Schemes and Background Images)
# Themes - Editor Schemes and Background Images
<!-- Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -->
<!-- Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -->
<link-summary>Customizing editor schemes and editor or application background images in a theme plugin.</link-summary>
@ -11,10 +11,10 @@ Themes can also provide custom color and font settings, as well as custom images
Users of IntelliJ Platform-based IDEs, such as Intellij IDEA, can set preferences to configure the colors and fonts used in the Editor.
These custom color and font settings are called _Editor Color Schemes_.
### Creating a Custom Editor Scheme Using Settings/Preferences
### Creating a Custom Editor Scheme Using Settings
Custom editor color schemes can be specified and exported using the IDE _Settings/Preferences_ dialog.
Note that editor [Colors and Fonts](https://www.jetbrains.com/help/idea/configuring-colors-and-fonts.html), and [Colors for Version Control File Status](https://www.jetbrains.com/help/idea/file-status-highlights.html) are customized in different sections of _Settings/Preferences_.
Custom editor color schemes can be specified and exported using the IDE <ui-path>Settings</ui-path> dialog.
Note that editor [Colors and Fonts](https://www.jetbrains.com/help/idea/configuring-colors-and-fonts.html), and [Colors for Version Control File Status](https://www.jetbrains.com/help/idea/file-status-highlights.html) are customized in different sections of <ui-path>Settings</ui-path>.
Use the following procedure to customize an editor color scheme for a theme:
* Create the desired custom editor color scheme using the IDE preferences.
@ -62,7 +62,7 @@ For additional examples of `name` and `value` attributes, review the editor colo
### Customizing Version Control File Status Colors
As [described above](#creating-a-custom-editor-scheme-using-settingspreferences), colors corresponding to the VCS status of files can be customized and exported via the [Settings/Preferences](https://www.jetbrains.com/help/idea/file-status-highlights.html).
As [described above](#creating-a-custom-editor-scheme-using-settingspreferences), colors corresponding to the VCS status of files can be customized and exported via the [Settings](https://www.jetbrains.com/help/idea/file-status-highlights.html).
No other procedure is necessary to customize these colors.
In the exported color scheme file the `name` is the VCS file status, and the `value` is the new color corresponding to that status.
For example, customized VCS colors for a subset of file statuses will appear in the editor scheme file as:

View File

@ -1,6 +1,6 @@
[//]: # (title: Persisting Sensitive Data)
# Persisting Sensitive Data
<!-- Copyright 2000-2022 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-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. -->
The Credentials Store API allows you to store sensitive user data securely, like passwords, server URLs, etc.
@ -57,4 +57,4 @@ The default storage format depends on the OS.
[linux]: https://specifications.freedesktop.org/secret-service/latest/
[linux2]: https://wiki.gnome.org/Projects/Libsecret
Users can override the default behavior in <ui-path>Settings/Preferences | Appearance & Behavior | System Settings | Passwords</ui-path>.
Users can override the default behavior in <ui-path>Settings | Appearance & Behavior | System Settings | Passwords</ui-path>.

View File

@ -1,6 +1,6 @@
[//]: # (title: Alternatives to Implementing a Plugin)
# Alternatives to Implementing a Plugin
<!-- Copyright 2000-2022 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-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. -->
<link-summary>Alternative strategies and tools to avoid building a "full" plugin.</link-summary>
@ -41,7 +41,7 @@ Flora extensions have access to all available IntelliJ Platform APIs, just like
Every extension is represented by a single file and stored directly in a project's <path>.plugins</path> directory.
Extensions can be easily shared with other team members by adding the <path>.plugins</path> directory to VCS.
Also, adding the Flora plugin in the <ui-path>Settings/Preferences | Build, Execution, Deployment | Required Plugins</ui-path> and sharing this configuration as part of a project makes it effortless to deliver additional IDE functionalities to your team without any manual setup.
Also, adding the Flora plugin in the <ui-path>Settings | Build, Execution, Deployment | Required Plugins</ui-path> and sharing this configuration as part of a project makes it effortless to deliver additional IDE functionalities to your team without any manual setup.
## LivePlugin

View File

@ -1,6 +1,6 @@
[//]: # (title: Plugin Signing)
# Plugin Signing
<!-- Copyright 2000-2022 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-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. -->
Plugin Signing is a mechanism introduced in the 2021.2 release cycle to increase security in [JetBrains Marketplace](https://plugins.jetbrains.com) and all of our IntelliJ-based IDEs.
@ -222,7 +222,7 @@ Instead, a trusted private CA or self-signed certificate can be used to sign and
### Verification
Before looking at how we can sign a plugin, let's first review how verification works when a non-JetBrains certificate is used.
As of 2021.2, during verification, IntelliJ-based IDEs check if the plugin was signed by the JetBrains CA certificate or any public key provided by the user via <ui-path>Settings/Preferences | Plugins | Manage Plugin Certificates</ui-path>. In 2021.2.1, a system property has been added: `intellij.plugins.truststore`, pointing to a trusted JKS TrustStore.
As of 2021.2, during verification, IntelliJ-based IDEs check if the plugin was signed by the JetBrains CA certificate or any public key provided by the user via <ui-path>Settings | Plugins | Manage Plugin Certificates</ui-path>. In 2021.2.1, a system property has been added: `intellij.plugins.truststore`, pointing to a trusted JKS TrustStore.
During verification, the plugin's public key is extracted from the signature.
The last certificate entry in the chain matched against the certificates stored in one of the storages from above.
@ -235,7 +235,7 @@ With this approach, existing internal TrustStores may exist and could be used.
Be sure when choosing a TrustStore that the CAs are limited to the internal CAs you trust.
Using a TrustStore with public CAs can expose the users to an attack vector.
If adding a TrustStore to a users environment is not possible, the user may also add the root CAs public key to <ui-path>Settings/Preferences | Plugins | Manage Plugin Certificates</ui-path>.
If adding a TrustStore to a users environment is not possible, the user may also add the root CAs public key to <ui-path>Settings | Plugins | Manage Plugin Certificates</ui-path>.
### Using Self-Signed Certificates
@ -249,4 +249,4 @@ keytool -import -alias IdeaPlugin -file chain.crt -keystore pluginKeystore.jks -
```
(note: the TrustStore password must remain `changeit`)
Otherwise, users may add the public key manually to <ui-path>Settings/Preferences | Plugins | Manage Plugin Certificates</ui-path>.
Otherwise, users may add the public key manually to <ui-path>Settings | Plugins | Manage Plugin Certificates</ui-path>.

View File

@ -1,6 +1,6 @@
[//]: # (title: Extensions)
# Extensions
<!-- Copyright 2000-2022 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-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. -->
<link-summary>Extensions are the most common way of customizing functionality in the IDE.</link-summary>
@ -9,7 +9,7 @@ _Extensions_ are the most common way for a plugin to extend the IntelliJ Platfor
The following are some of the most common tasks accomplished using extensions:
* The `com.intellij.toolWindow` extension point allows plugins to add [tool windows](tool_windows.md) (panels displayed at the sides of the IDE user interface);
* The `com.intellij.applicationConfigurable` and `com.intellij.projectConfigurable` extension points allow plugins to add pages to the [Settings/Preferences dialog](settings.md);
* The `com.intellij.applicationConfigurable` and `com.intellij.projectConfigurable` extension points allow plugins to add pages to the [Settings dialog](settings.md);
* [Custom language plugins](custom_language_support.md) use many extension points to extend various language support features in the IDE.
There are more than 1000 extension points available in the platform and the bundled plugins, allowing customizing different parts of the IDE behavior.

View File

@ -1,6 +1,6 @@
[//]: # (title: Plugin Logo)
# Plugin Logo
<!-- Copyright 2000-2022 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-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. -->
Beginning in version 2019.1, 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.
@ -10,7 +10,7 @@ See [Working with Icons and Images](work_with_icons_and_images.md) for more info
## Plugin Logo Usages
Plugin Logos are shown in the [JetBrains Marketplace](https://plugins.jetbrains.com).
They also appear in the Settings/Preferences [Plugin Manager](https://www.jetbrains.com/help/idea/managing-plugins.html) UI in IntelliJ Platform-based IDEs.
They also appear in the Settings [Plugin Manager](https://www.jetbrains.com/help/idea/managing-plugins.html) UI in IntelliJ Platform-based IDEs.
Whether online or in the product UI, a Plugin Logo helps users to identify a plugin more quickly in a list, as shown below:
![Example Product Plugin Preferences Dialog](plugin_prefs.png){width="800"}

View File

@ -1,6 +1,6 @@
# Plugin User Experience (UX)
<!-- Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -->
<!-- Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -->
_User Experience (UX)_ is a term describing the experience users feel when using a product.
It covers not only aspects like visual presentation, performance, stability, or ease of use, but anything that affects the user's satisfaction.
@ -28,7 +28,7 @@ Ideally, all the features should work out of the box after the installation, wit
Default settings should reflect the typical plugin usage in a standard project.
All the settings and actions should be easy to find and be placed in the proper [settings](settings.md) or [action group](grouping_action.md), e.g.:
* framework plugin settings should be placed under the <ui-path>Settings/Preferences | Languages & Frameworks</ui-path>
* framework plugin settings should be placed under the <ui-path>Settings | Languages & Frameworks</ui-path>
* action marking a directory as a plugin-specific root should be added to <ui-path>Mark Directory as...</ui-path> group
Plugins that are hard to configure with features that are hard to find may be quickly abandoned out of frustration.

View File

@ -1,12 +1,12 @@
# Settings
<!-- Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -->
<!-- Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -->
<link-summary>Settings mechanism allows users to configure and persist application- or project-level plugin preferences.</link-summary>
<tldr>
**Product Help:** [Settings/Preferences](https://www.jetbrains.com/help/idea/settings-preferences-dialog.html), [Configuring the IDE](https://www.jetbrains.com/help/idea/configuring-project-and-ide-settings.html)
**Product Help:** [Settings](https://www.jetbrains.com/help/idea/settings-preferences-dialog.html), [Configuring the IDE](https://www.jetbrains.com/help/idea/configuring-project-and-ide-settings.html)
</tldr>

View File

@ -1,6 +1,6 @@
# Virtual File System
<!-- Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -->
<!-- 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 to work with local or remote file storages and implement custom.</link-summary>
@ -38,7 +38,7 @@ The VFS will be updated during the next refresh operation, which includes the fi
IntelliJ Platform refreshes the entire project contents asynchronously on startup.
By default, it performs a refresh operation when the user switches to it from another app.
Still, users can turn this off via <ui-path>Settings/Preferences | Appearance & Behavior | System Settings | Synchronize external changes\[...]</ui-path>.
Still, users can turn this off via <ui-path>Settings | Appearance & Behavior | System Settings | Synchronize external changes\[...]</ui-path>.
On Windows, Mac, and Linux, a native file watcher process is started that receives file change notifications from the file system and reports them to the IntelliJ Platform.
If a file watcher is available, a refresh operation looks only at the files that have been reported as changed by the file watcher.
@ -53,7 +53,7 @@ If a file's contents were changed, but its timestamp remained the same, the Inte
There is currently no facility for removing files from the snapshot.
If a file was loaded there once, it remains there forever unless it was deleted from the disk, and a refresh operation was called on one of its parent directories.
The VFS itself does not honor ignored files listed in <ui-path>Settings/Preferences | Editor | File Types</ui-path> and folders to ignore and excluded folders listed in <ui-path>Project Structure | Modules | Sources | Excluded</ui-path>.
The VFS itself does not honor ignored files listed in <ui-path>Settings | Editor | File Types</ui-path> and folders to ignore and excluded folders listed in <ui-path>Project Structure | Modules | Sources | Excluded</ui-path>.
If the application code accesses them, the VFS will load and return their contents.
In most cases, the ignored files and excluded folders must be skipped from processing by higher-level code.

View File

@ -1,6 +1,6 @@
[//]: # (title: SDK Code Sample Guidelines)
# SDK Code Sample Guidelines
<!-- Copyright 2000-2022 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-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. -->
This document describes the coding guidelines used for authoring open-source IntelliJ Platform SDK code samples.
Before you begin, please read this page thoroughly, as well as the [Code of Conduct](intellij-sdk-docs-original_CODE_OF_CONDUCT.md) and [License](https://github.com/JetBrains/intellij-sdk-docs/blob/main/LICENSE.txt) documents.
@ -194,7 +194,7 @@ Code samples should build cleanly, with no warnings or errors, and new code samp
Testers should complete the following checklist.
Here the term "IDE" means the IntelliJ Platform-based IDE in which the plugin is designed to run:
* The plugin should load in the IDE.
* The correct information about the plugin should display in the <ui-path>Settings/Preferences | Plugins</ui-path> panel.
* The correct information about the plugin should display in the <ui-path>Settings | Plugins</ui-path> panel.
* If applicable, the plugin UI, such as tool windows, menu additions, etc. should display correctly.
* The functionality of the plugin should be tested with a sample file.
* If applicable, the plugin should pass unit tests.

View File

@ -1,6 +1,6 @@
# SDK Docs Style Guide
<!-- Copyright 2000-2022 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-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. -->
<link-summary>Writing and notation styleguide for SDK Docs.</link-summary>
@ -94,8 +94,7 @@ Very long [links](#links) should also be on a separate line.
Consistent text styles are used to standardize references and keywords:
* Menu paths are wrapped using `<ui-path>` with pipe characters separating each level: `<ui-path>Settings/Preferences | Editor</ui-path>`: <ui-path>Settings/Preferences | Editor</ui-path>
Menu paths to settings always start with "Settings/Preferences" to cover all platforms.
* Menu paths are wrapped using `<ui-path>` with pipe characters separating each level: `<ui-path>Settings | Editor</ui-path>`: <ui-path>Settings | Editor</ui-path>
Inside tables, use `&#124;` instead of `|` to prevent escaping problems.
* User interface element names like labels, buttons, checkboxes, etc. are wrapped using `<control>`: `Press <control>Continue</continue>`: Press <control>Continue</control>
* Non-code keywords and quotations, or the names of non-code files, are formatted as italic style: \_Theme\_ (_Theme_), \_README.md\_ (_README.md_.)

View File

@ -1,6 +1,6 @@
[//]: # (title: Language Injection)
# Language Injection
<!-- Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -->
<!-- Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -->
<tldr>
@ -55,7 +55,7 @@ In the following sections, we'll discuss these three options in more detail.
## IntelliLang
First, please read the available [documentation](https://www.jetbrains.com/help/idea/language-injections-settings.html) on IntelliLang.
A good point to start with is to inspect available language injections that you can find in the IntelliLang settings under <ui-path>Settings/Preferences | Editor | Language Injections</ui-path>.
A good point to start with is to inspect available language injections that you can find in the IntelliLang settings under <ui-path>Settings | Editor | Language Injections</ui-path>.
The injections shown are configured through XML files and loaded automatically.
### Example

View File

@ -1,4 +1,4 @@
[//]: # (title: References and Resolve)
# References and Resolve
<!-- Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -->
@ -71,4 +71,4 @@ The implementation of `multiResolve()` can be also based on [`PsiScopeProcessor`
## Additional Highlighting
Implement [`HighlightedReference`](%gh-ic%/platform/lang-impl/src/com/intellij/codeInsight/highlighting/HighlightedReference.java) to add additional highlighting for non-obvious places (e.g., String literal).
Such references will automatically be highlighted using <control>String | Highlighted reference</control> text attributes from <ui-path>Settings/Preferences | Editor | Color Scheme | Language Defaults</ui-path> (_2022.2_).
Such references will automatically be highlighted using <control>String | Highlighted reference</control> text attributes from <ui-path>Settings | Editor | Color Scheme | Language Defaults</ui-path> (_2022.2_).

View File

@ -1,6 +1,6 @@
[//]: # (title: External Builder API and Plugins)
# External Builder API and Plugins
<!-- Copyright 2000-2022 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-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. -->
> Adding JPS support to your plugin requires Java plugin to be present for it to work.
> Please see [Plugin Dependencies](plugin_dependencies.md) on how to set up your plugin with required dependency.
@ -88,7 +88,7 @@ The build process has built-in self-cpu-profiling capabilities.
To enable them do the following:
1. Copy <path>$IDE_HOME$/lib/yjp-controller-api-redist.jar</path> and <path>$IDE_HOME$/bin/yjpagent.*</path> files to <path>$IDE_SYSTEM_DIR$/compile-server</path>
2. In <ui-path>Settings/Preferences | Build, Execution, Deployment | Compiler | Java Compiler</ui-path> add `-Dprofiling.mode=true` in <control>Additional command line parameters</control>
2. In <ui-path>Settings | Build, Execution, Deployment | Compiler | Java Compiler</ui-path> add `-Dprofiling.mode=true` in <control>Additional command line parameters</control>
3. Make sure the automatic make is turned off
After this, every build process run should result in a CPU snapshot stored in <path>$USER_HOME$/Snapshots</path> directory.

View File

@ -1,6 +1,6 @@
[//]: # (title: External System Integration)
# External System Integration
<!-- Copyright 2000-2022 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-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. -->
This page provides a high-level overview of the *External System* sub-system.
There are multiple project management systems ([Apache Maven](https://maven.apache.org/), [Gradle](https://www.gradle.org/), [sbt](https://www.scala-sbt.org/), etc.) and IntelliJ Platform provides a mechanism to support them in IDEs.
@ -111,8 +111,8 @@ A particular external system settings UI contains the following items:
It's recommended to extend from [`AbstractExternalProjectSettingsControl`](%gh-ic%/platform/external-system-impl/src/com/intellij/openapi/externalSystem/service/settings/AbstractExternalProjectSettingsControl.java) for implementing project-level settings control as it already handles some of them.
**Examples**:
* [`GradleSystemSettingsControl`](%gh-ic%/plugins/gradle/src/org/jetbrains/plugins/gradle/service/settings/GradleSystemSettingsControl.java) handling the <control>General settings</control> in <ui-path>Settings/Preferences | Build, Execution, Deployment | Build Tools | Gradle</ui-path>
* [`GradleProjectSettingsControl`](%gh-ic%/plugins/gradle/src/org/jetbrains/plugins/gradle/service/settings/GradleProjectSettingsControl.java) handling the selected Gradle project settings in <ui-path>Settings/Preferences | Build, Execution, Deployment | Build Tools | Gradle</ui-path>
* [`GradleSystemSettingsControl`](%gh-ic%/plugins/gradle/src/org/jetbrains/plugins/gradle/service/settings/GradleSystemSettingsControl.java) handling the <control>General settings</control> in <ui-path>Settings | Build, Execution, Deployment | Build Tools | Gradle</ui-path>
* [`GradleProjectSettingsControl`](%gh-ic%/plugins/gradle/src/org/jetbrains/plugins/gradle/service/settings/GradleProjectSettingsControl.java) handling the selected Gradle project settings in <ui-path>Settings | Build, Execution, Deployment | Build Tools | Gradle</ui-path>
A similar approach is used for providing settings in importing external project UI.
Implementation is expected to extend [`AbstractImportFromExternalSystemControl`](%gh-ic%/java/idea-ui/src/com/intellij/openapi/externalSystem/service/settings/AbstractImportFromExternalSystemControl.java) and instead of linked external projects list it contains target external project path control.

View File

@ -1,8 +1,8 @@
[//]: # (title: Settings Guide)
# Settings Guide
<!-- Copyright 2000-2022 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-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. -->
<link-summary>Adding entries in Settings/Preferences.</link-summary>
<link-summary>Adding entries in Settings.</link-summary>
_Settings_ persistently store states that control the behavior and appearance of IntelliJ Platform-based IDEs.
On this page, the term "Settings" means the same as "Preferences" on some platforms.
@ -157,13 +157,13 @@ The following nested interfaces are markers, which convey information about the
So `NoScroll` interface should be used to remove the outer `JScrollPane`.
* `Configurable.NoMargin` - Notifies the Settings dialog not to add an empty border to the form.
By default, an empty border is added for a plugin's Settings component.
* `Configurable.Beta` _(2022.3)_ - Adds <control>Beta</control> label next to settings page title in <control>Settings/Preferences</control> tree.
* `Configurable.Beta` _(2022.3)_ - Adds <control>Beta</control> label next to settings page title in <control>Settings</control> tree.
#### Additional Interfaces Based on Configurable
There are classes in the IntelliJ Platform specialized in particular types of Settings.
These subtypes are based on `com.intellij.openapi.options.ConfigurableEP`.
For example, <ui-path>Settings/Preferences | Editor | General | Appearance</ui-path> allows adding Settings via [`EditorSmartKeysConfigurableEP`](%gh-ic%/platform/lang-impl/src/com/intellij/application/options/editor/EditorSmartKeysConfigurableEP.java) and `com.intellij.editorSmartKeysConfigurable` EP.
For example, <ui-path>Settings | Editor | General | Appearance</ui-path> allows adding Settings via [`EditorSmartKeysConfigurableEP`](%gh-ic%/platform/lang-impl/src/com/intellij/application/options/editor/EditorSmartKeysConfigurableEP.java) and `com.intellij.editorSmartKeysConfigurable` EP.
#### Examples

View File

@ -1,6 +1,6 @@
[//]: # (title: Creating Actions)
# Creating Actions
<!-- Copyright 2000-2022 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-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. -->
Plugins can add actions to existing IDE menus and toolbars, as well as add new menus and toolbars.
The IntelliJ Platform calls the actions of plugins in response to user interactions with the IDE.
@ -59,7 +59,7 @@ A more comprehensive explanation of action registration is available in the [](b
### Registering an Action with the New Action Form
IntelliJ IDEA has an embedded inspection that spots unregistered actions.
Verify the inspection is enabled at <ui-path>Settings/Preferences | Editor | Inspections | Plugin DevKit | Code | Component/Action not registered</ui-path>.
Verify the inspection is enabled at <ui-path>Settings | Editor | Inspections | Plugin DevKit | Code | Component/Action not registered</ui-path>.
Here is an example for this stage of the `PopupDialogAction` class:
!["Action never used" inspection](action_never_used.png){width="600"}

View File

@ -1,6 +1,6 @@
# Code Inspections
<!-- Copyright 2000-2022 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-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. -->
<tldr>
@ -35,7 +35,7 @@ It illustrates the components for a custom inspection plugin:
Although the IntelliJ Platform SDK code samples illustrate implementations of these components, it is often useful to see examples of inspections implemented in the _intellij_community_ code base.
This process can help find inspection descriptions and implementations based on what is visible in the IDE UI.
The overall approach works for inspections aimed at other languages as well.
* Find an existing inspection that is similar to the one you want to implement in the <ui-path>Settings/Preferences | Editor | Inspections</ui-path> panel.
* Find an existing inspection that is similar to the one you want to implement in the <ui-path>Settings | Editor | Inspections</ui-path> panel.
Note the display name of the inspection.
For example, the Java/Probable Bugs inspection <control>Object comparison using '==', instead of 'equals()'</control> is very similar to `comparing_references_inspection`.
* Use the display name text as the [target for a search](https://www.jetbrains.com/help/idea/finding-and-replacing-text-in-project.html) within the _intellij_community_ project.
@ -144,7 +144,7 @@ Implicit in using [`LocalInspectionTool`](%gh-ic%/platform/analysis-api/src/com/
> To open related [settings](settings.md) directly from the inspection description, add a link with `settings://$CONFIGURABLE_ID$`, optionally followed by `?$SEARCH_STRING$` to pre-select UI element:
>
> `See <em>Includes</em> tab in <a href="settings://fileTemplates">Settings/Preferences | Editor | File and Code Templates</a> to configure.`
> `See <em>Includes</em> tab in <a href="settings://fileTemplates">Settings | Editor | File and Code Templates</a> to configure.`
>
### Inspection Unit Test
@ -177,7 +177,7 @@ See [](code_samples.md) on how to set up and run the plugin.
Once the plugin is launched, you can set the plugin options.
You can specify the Java classes to participate in the code inspection and the severity level of the found probable bugs.
On the main menu, open the <ui-path>Settings/Preferences | Editor | Inspections</ui-path> dialog.
On the main menu, open the <ui-path>Settings | Editor | Inspections</ui-path> dialog.
In the list of the IntelliJ IDEA <control>Java</control> inspections, expand the <control>Probable bugs</control> node, and then click <control>SDK: '==' or '!=' instead of 'equals()'</control>.
![Comparing References inspection options](comparingReferences_options.png)

View File

@ -1,4 +1,4 @@
[//]: # (title: Intentions)
# Intentions
<!-- Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -->
@ -20,7 +20,7 @@ When a possible problem is suspected, the IDE suggests an appropriate intention
See [Inspections](https://jetbrains.design/intellij/text/inspections/) topic in the IntelliJ Platform UI Guidelines on naming, writing description, and message texts for inspections/intentions.
You can view a list of all available intention actions as well as enable/disable them using the [Intentions List](https://www.jetbrains.com/help/idea/intention-actions.html#intention-settings) in <ui-path>Settings/Preferences | Editor | Intentions</ui-path>.
You can view a list of all available intention actions as well as enable/disable them using the [Intentions List](https://www.jetbrains.com/help/idea/intention-actions.html#intention-settings) in <ui-path>Settings | Editor | Intentions</ui-path>.
## Techniques Used

View File

@ -1,6 +1,6 @@
[//]: # (title: 17. Code Style Settings)
# 17. Code Style Settings
<!-- Copyright 2000-2022 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-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. -->
<tldr>
@ -15,8 +15,8 @@
<include from="language_and_filetype.md" element-id="custom_language_tutorial_header"></include>
Code style settings enable defining formatting options.
A code style settings provider creates an instance of the settings and also creates an options page in settings/preferences.
This example creates a settings/preferences page that uses the default language code style settings, customized by a language code style settings provider.
A code style settings provider creates an instance of the settings and also creates an options page in Settings.
This example creates a Settings page that uses the default language code style settings, customized by a language code style settings provider.
## Define Code Style Settings
@ -72,6 +72,6 @@ The `SimpleLanguageCodeStyleSettingsProvider` implementation is registered with
Run the plugin by using the Gradle [`runIde`](creating_plugin_project.md#running-a-plugin-with-the-runide-gradle-task) task.
In the IDE Development Instance, open the Simple Language code formatting page: <ui-path>Settings/Preferences | Editor | Code Style | Simple</ui-path>.
In the IDE Development Instance, open the Simple Language code formatting page: <ui-path>Settings | Editor | Code Style | Simple</ui-path>.
![Code Style Settings](code_style_settings.png)

View File

@ -1,6 +1,6 @@
[//]: # (title: 8. Line Marker Provider)
# 8. Line Marker Provider
<!-- Copyright 2000-2022 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-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. -->
<tldr>
@ -25,7 +25,7 @@ For this example, override the `collectNavigationMarkers()` method to collect us
```
{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/SimpleLineMarkerProvider.java"}
Extending from [`GutterIconDescriptor`](%gh-ic%/platform/lang-api/src/com/intellij/codeInsight/daemon/GutterIconDescriptor.java) allows configuring gutter icons to be shown via <ui-path>Settings/Preferences | Editor | General | Gutter Icons</ui-path>.
Extending from [`GutterIconDescriptor`](%gh-ic%/platform/lang-api/src/com/intellij/codeInsight/daemon/GutterIconDescriptor.java) allows configuring gutter icons to be shown via <ui-path>Settings | Editor | General | Gutter Icons</ui-path>.
## Best Practices for Implementing Line Marker Providers

View File

@ -1,6 +1,6 @@
[//]: # (title: 5. Syntax Highlighter and Color Settings Page)
# 5. Syntax Highlighter and Color Settings Page
<!-- Copyright 2000-2022 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-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. -->
<tldr>
@ -93,7 +93,7 @@ Register the Simple Language color settings page with the IntelliJ Platform in t
Run the project by using the Gradle [`runIde`](creating_plugin_project.md#running-a-plugin-with-the-runide-gradle-task) task.
In the IDE Development Instance, open the Simple Language highlight settings page: <ui-path>Settings/Preferences | Editor | Color Scheme | Simple</ui-path>.
In the IDE Development Instance, open the Simple Language highlight settings page: <ui-path>Settings | Editor | Color Scheme | Simple</ui-path>.
Each color initially inherits from a <control>Language Defaults</control> value.
![Color Settings Page](color_settings_page.png)

View File

@ -1,6 +1,6 @@
[//]: # (title: 2. Editor Coordinates System. Positions and Offsets)
# 2. Editor Coordinates System. Positions and Offsets
<!-- Copyright 2000-2022 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-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. -->
The previous tutorial [Working with Text](working_with_text.md) demonstrated how to use actions to access a caret placed in a document open in an editor.
The examples replaced selected text in a document by using information about the caret.
@ -182,7 +182,7 @@ The caret Offset includes:
* The first (0th) character in a document.
* Whitespace characters, including newline and tabs.
* Any characters after end-of-line if the IDE settings permit them.
(<ui-path>Settings/Preferences | Editor | General | Virtual Space</ui-path>)
(<ui-path>Settings | Editor | General | Virtual Space</ui-path>)
* The character selected by the caret.
The example below demonstrates the Offset of a caret placed at the first character of Logical line one.

View File

@ -1,6 +1,6 @@
[//]: # (title: Providing File and Code Templates)
# Providing File and Code Templates
<!-- Copyright 2000-2022 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-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. -->
The IntelliJ Platform allows plugins to provide custom file templates specific to the plugin's functionalities.
In order to include custom templates in the plugin, a template file has to be created and placed in the specific place of plugin resources, depending on the template's purpose.
@ -57,7 +57,7 @@ The <control>Other</control> category contains other templates organized in grou
It includes templates located in the <path>fileTemplates/j2ee</path> directory and registered via the `com.intellij.fileTemplateGroup` extension point (EP).
Note that the <path>j2ee</path> directory name is historical and unrelated to the J2EE technology.
This category is intended for templates that are not used for creating core language entities or are used less frequently by users, e.g., a specific XML configuration file, a framework-specific class in Java language, etc.
To include file templates in the <control>Other</control> section of the <ui-path>Settings/Preferences | Editor | File and Code Templates</ui-path> settings page, provide an implementation of the
To include file templates in the <control>Other</control> section of the <ui-path>Settings | Editor | File and Code Templates</ui-path> settings page, provide an implementation of the
[`FileTemplateGroupDescriptorFactory`](%gh-ic%/platform/lang-api/src/com/intellij/ide/fileTemplates/FileTemplateGroupDescriptorFactory.java)
and register it via the `com.intellij.fileTemplateGroup` EP.

View File

@ -1,6 +1,6 @@
[//]: # (title: Using File Templates Programmatically)
# Using File Templates Programmatically
<!-- Copyright 2000-2022 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-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. -->
File templates provided by a plugin can be used during new file creation, in code intention actions, or other plugin features.
They can be accessed with the
@ -104,7 +104,7 @@ protected void buildDialog(Project project, PsiDirectory directory,
}
```
As file templates are placed in the <path>fileTemplates/internal</path> directory, they are not listed in the <ui-path>Settings/Preferences | Editor | File and Code Templates</ui-path> settings page, and users can't adjust them to their needs.
As file templates are placed in the <path>fileTemplates/internal</path> directory, they are not listed in the <ui-path>Settings | Editor | File and Code Templates</ui-path> settings page, and users can't adjust them to their needs.
Internal templates can be exposed in the <control>Files</control> category by additionally registering them via the `com.intellij.internalFileTemplate` EP, e.g.:
```xml

View File

@ -1,6 +1,6 @@
[//]: # (title: Providing Live Templates)
# Providing Live Templates
<!-- Copyright 2000-2022 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-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. -->
This tutorial illustrates how to add default Custom Live Templates to an IntelliJ Platform plugin, and assign valid contexts for these templates based on the surrounding code and file type.
In addition, the tutorial discusses how to export existing Live Templates, and bundle them within a plugin.
@ -169,6 +169,6 @@ Using the `com.intellij.defaultLiveTemplatesProvider` and `com.intellij.liveTemp
## Check Plugin
Now verify the plugin is working correctly.
Run the plugin in a Development Instance and verify there is a new entry under <ui-path>Settings/Preferences | Live Templates | Markdown | \{ (SDK: New link reference)</ui-path>.
Run the plugin in a Development Instance and verify there is a new entry under <ui-path>Settings | Live Templates | Markdown | \{ (SDK: New link reference)</ui-path>.
Finally, create a new file <path>test.md</path> and confirm that the Live Template works by entering a <shortcut>{</shortcut> character and then pressing <shortcut>Tab</shortcut>.

View File

@ -1,6 +1,6 @@
[//]: # (title: Postfix Templates)
# Postfix Templates
<!-- Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -->
<!-- Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -->
<link-summary>Postfix templates implement possibility to modify or wrap the existing code in additional constructs without navigating the caret back.</link-summary>
@ -48,7 +48,7 @@ Providing the code snippets showing the template in "before" and "after" expandi
The _$EXTENSION$_ placeholder should be replaced with the extension of the template language, e.g., <path>before.kt.template</path> for a Kotlin template.
The code snippets included in the example files can use the `<spot>` marker, which should surround the most important code parts, e.g., expression to expand and position of the caret after expanding.
Marked parts will be highlighted in the <ui-path>Settings/Preferences | Editor | General | Postfix Completion</ui-path> settings page, making it easier for users to understand how a template is expanded, e.g.:
Marked parts will be highlighted in the <ui-path>Settings | Editor | General | Postfix Completion</ui-path> settings page, making it easier for users to understand how a template is expanded, e.g.:
- <path>before.java.template</path>:
```java
<spot>cart.getProducts()</spot>.var

View File

@ -1,11 +1,11 @@
# Settings Tutorial
<!-- Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -->
<!-- Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -->
<link-summary>Implementing custom settings tutorial.</link-summary>
As discussed in the [](settings_guide.md), plugins can add Settings to IntelliJ Platform-based IDEs.
The IDE displays the Settings in response to a user choosing <ui-path>Settings/Preferences</ui-path>.
The IDE displays the Settings in response to a user choosing <ui-path>Settings</ui-path>.
Custom Settings are displayed and function just like those native to the IDE.
## Overview of Custom Settings Implementation
@ -131,7 +131,7 @@ Also review notes about [IntelliJ Platform Interactions](settings_guide.md#intel
## Testing the Custom Settings Plugin
After performing the steps described above, compile and run the plugin in a Development Instance to see the custom Settings available in the Settings Dialog.
Open the IDE Settings by selecting <ui-path>Settings/Preferences | Tools | SDK: Application Settings Example</ui-path>.
Open the IDE Settings by selecting <ui-path>Settings | Tools | SDK: Application Settings Example</ui-path>.
The settings are preloaded with the default values:
!["Settings Defaults"](settings_defaults.png){width="600"}

View File

@ -1,6 +1,6 @@
# Kotlin UI DSL Version 1
<!-- Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -->
<!-- Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -->
<link-summary>Kotlin DSL for creating UI forms with input components bound to state object.</link-summary>
@ -316,12 +316,12 @@ checkBox("Hide tabs if there is no space", uiSettings::hideTabsIfNeed)
Sample usages in IntelliJ Platform IDEs:
| User Interface | Implementation |
|-------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------|
| <ui-path>Settings/Preferences &#124; Editor &#124; Reader Mode</ui-path> | [`ReaderModeConfigurable`](%gh-ic%/platform/lang-impl/src/com/intellij/codeInsight/actions/ReaderModeConfigurable.kt) |
| User Interface | Implementation |
|-------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------|
| <ui-path>Settings &#124; Editor &#124; Reader Mode</ui-path> | [`ReaderModeConfigurable`](%gh-ic%/platform/lang-impl/src/com/intellij/codeInsight/actions/ReaderModeConfigurable.kt) |
| <control>New Branch</control> dialog in Git ([Manage Git branches](https://www.jetbrains.com/help/idea/manage-branches.html)) | [`GitNewBranchDialog`](%gh-ic%/plugins/git4idea/src/git4idea/branch/GitNewBranchDialog.kt) |
| <ui-path>Settings/Preferences &#124; Tools &#124; Diff & Merge</ui-path> | [`DiffSettingsConfigurable`](%gh-ic%/platform/diff-impl/src/com/intellij/diff/settings/DiffSettingsConfigurable.kt) |
| <ui-path>Settings/Preferences &#124; Editor &#124; General &#124; Editor Tabs</ui-path> | [`EditorTabsConfigurable`](%gh-ic%/platform/platform-impl/src/com/intellij/application/options/editor/EditorTabsConfigurable.kt) |
| <ui-path>Settings &#124; Tools &#124; Diff & Merge</ui-path> | [`DiffSettingsConfigurable`](%gh-ic%/platform/diff-impl/src/com/intellij/diff/settings/DiffSettingsConfigurable.kt) |
| <ui-path>Settings &#124; Editor &#124; General &#124; Editor Tabs</ui-path> | [`EditorTabsConfigurable`](%gh-ic%/platform/platform-impl/src/com/intellij/application/options/editor/EditorTabsConfigurable.kt) |
<include from="kotlin_ui_dsl_version_2.md" element-id="ui_inspector_added_at"></include>

View File

@ -1,6 +1,6 @@
# Notifications
<!-- Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -->
<!-- Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -->
<tldr>
@ -45,7 +45,7 @@ The most general way to display non-modal notifications is to use the [`Notifica
It has two main advantages:
* The user can control the way each notification type is displayed under <ui-path>Settings/Preferences | Appearance & Behavior | Notifications</ui-path>
* The user can control the way each notification type is displayed under <ui-path>Settings | Appearance & Behavior | Notifications</ui-path>
* All displayed notifications are gathered in the <control>Event Log</control> tool window and can be reviewed later
For UI reference, see [Balloon](https://jetbrains.design/intellij/controls/balloon/) in the IntelliJ Platform UI Guidelines.
@ -58,7 +58,7 @@ The text of the notification can include HTML tags.
Use `Notification.addAction(AnAction)` to add links below the content, use [`NotificationAction`](%gh-ic%/platform/ide-core/src/com/intellij/notification/NotificationAction.java) for convenience.
The `groupId` parameter of the [`Notification`](%gh-ic%/platform/ide-core/src/com/intellij/notification/Notification.java) constructor specifies a notification type.
The user can choose the display type corresponding to each notification type under <ui-path>Settings/Preferences | Appearance & Behavior | Notifications</ui-path>.
The user can choose the display type corresponding to each notification type under <ui-path>Settings | Appearance & Behavior | Notifications</ui-path>.
To specify the preferred display type, you need to use [`NotificationGroup`](%gh-ic%/platform/ide-core/src/com/intellij/notification/NotificationGroup.kt) to create notifications.