mirror of
https://github.com/JetBrains/intellij-sdk-code-samples.git
synced 2025-07-28 01:07:49 +08:00
markdown: table cleanup
This commit is contained in:
parent
6ab54c55b1
commit
cd55ae8e7e
@ -11,7 +11,7 @@ Also, consider posting requests in _#jobs_ channel on [JetBrains Platform Slack]
|
||||
{type="note"}
|
||||
|
||||
| Name | Contact | Notes |
|
||||
| ------------------ | ------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
|--------------------|---------------------------------------------------------|---------------------------------------------|
|
||||
| Joachim Ansorg | [www.plugin-dev.com][ja] | -/- |
|
||||
| Daniel Espendiller | [daniel@espendiller.net][de] | -/- |
|
||||
| Robert Ekendahl | [www.edaphic.studio][re] | Custom Language support |
|
||||
|
@ -39,7 +39,7 @@
|
||||
### Tags
|
||||
|
||||
| Icon | Description | Details |
|
||||
|---|---|---|
|
||||
|-----------------------------------|-------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| ![Deprecated][deprecated] | Deprecated API | Please see code documentation for replacement |
|
||||
| ![Experimental API][experimental] | Experimental API | Implementation annotated with [`@ApiStatus.Experimental`](https://github.com/JetBrains/java-annotations/blob/master/common/src/main/java/org/jetbrains/annotations/ApiStatus.java), API might be altered or removed without prior notice |
|
||||
| ![Internal API][internal] | Internal API | Implementation annotated with [`@ApiStatus.Internal`](https://github.com/JetBrains/java-annotations/blob/master/common/src/main/java/org/jetbrains/annotations/ApiStatus.java), should not be used by 3rd party |
|
||||
|
@ -11,7 +11,7 @@ However, plugin authors rarely implement the [`ElementPattern`](upsource:///plat
|
||||
Instead, we recommend using the high-level pattern classes provided by the IntelliJ Platform:
|
||||
|
||||
| Class | Main Contents | Notable Examples |
|
||||
| ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
|---------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| [`StandardPatterns`](upsource:///platform/core-api/src/com/intellij/patterns/StandardPatterns.java) | Factory for string and char pattern (see below); Logical operations like and, or, not | [`LogbackReferenceContributor`](upsource:///plugins/groovy/src/org/jetbrains/plugins/groovy/ext/logback/LogbackReferenceContributor.kt), [`RegExpCompletionContributor`](upsource:///RegExpSupport/src/org/intellij/lang/regexp/RegExpCompletionContributor.java) |
|
||||
| [`PlatformPatterns`](upsource:///platform/core-api/src/com/intellij/patterns/PlatformPatterns.java) | Factory for PSI-, IElement-, and VirtualFile-patterns | [`FxmlReferencesContributor`](upsource:///plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/refs/FxmlReferencesContributor.java), [`PyDataclassCompletionContributor`](upsource:///python/python-psi-impl/src/com/jetbrains/python/codeInsight/completion/PyDataclassCompletionContributor.kt) |
|
||||
| [`PsiElementPattern`](upsource:///platform/core-api/src/com/intellij/patterns/PsiElementPattern.java) | Patterns for PSI; Checks for children, parents, or neighboring leaves | [`XmlCompletionContributor`](upsource:///xml/impl/src/com/intellij/codeInsight/completion/XmlCompletionContributor.java) |
|
||||
|
@ -132,7 +132,7 @@ In contrast, if the `compact` attribute is `false`, an action in the menu appear
|
||||
Some menus like **Tools** have the `compact` attribute set, so there isn't a way to show an action on the tools menu if it is not enabled.
|
||||
|
||||
| Host Menu<br/>`compact` Setting | Action Enabled | Visibility Enabled | Menu Item Visible? | Menu Item Appears Gray? |
|
||||
| :-----: | :------------: | :----------------: | :----------------: | :---------------------: |
|
||||
|:-------------------------------:|:--------------:|:------------------:|:------------------:|:-----------------------:|
|
||||
| T | **F** | T | **F** | N/A |
|
||||
| T | T | T | T | F |
|
||||
| F | **F** | T | **T** | **T** |
|
||||
|
@ -44,7 +44,7 @@ The following table lists modules that are currently available in all products.
|
||||
{type="note"}
|
||||
|
||||
| Module for `<depends>` Element<br/>Declaration in <path>plugin.xml</path> File | <br/>Functionality |
|
||||
| ------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------- |
|
||||
|--------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------|
|
||||
| **`com.intellij.modules.platform`** | Messaging, UI Themes, UI Components, Files, Documents, Actions, Components, Services, Extensions, Editors |
|
||||
| `com.intellij.modules.lang` | File Type, Lexer, Parser, Highlighting, References, Code Completion, Find, Rename, Formatter, Code Navigation |
|
||||
| `com.intellij.modules.xml` | XML, XML DOM, XSD/DTD, DOM Model |
|
||||
@ -70,7 +70,7 @@ A plugin project is compatible with PHP functionality if it declares a dependenc
|
||||
The following table lists **(1)** modules or built-in plugins that provide specific functionality, and the products currently shipping with them.
|
||||
|
||||
| Module or Plugin for `<depends>` Element<br/>Declaration in <path>plugin.xml</path> File | <br/>Functionality | IntelliJ Platform-Based<br/>Product Compatibility |
|
||||
| ---------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
|------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| `com.intellij.modules.java` See **(2)** below. <br/>`com.intellij.java` | **Java** language PSI Model, Inspections, Intentions, Completion, Refactoring, Test Framework | IntelliJ IDEA, Android Studio |
|
||||
| `com.intellij.modules.androidstudio` | Android SDK Platform, Build Tools, Platform Tools, SDK Tools | Android Studio |
|
||||
| `com.intellij.modules.appcode` | CocoaPods, Core Data Objects, Device & Simulator Support | AppCode |
|
||||
|
@ -68,7 +68,7 @@ What additional information might help a user select a plugin when [browsing the
|
||||
Here are the candidate elements:
|
||||
|
||||
| Element | Effects & Requirements |
|
||||
|:-------------------------------------------------------------|:----------------------------|
|
||||
|:--------------------------------------------------------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| `<name>`<br/>My Plugin Name<br/>`</name>` | By default the name of the plugin JAR/ZIP file is displayed before installation. <br/>Using the `<name>` element displays the name of the plugin. <br/>Contents should match the `<name>` element contents in the plugins's `plugin.xml` file to avoid confusion. |
|
||||
| `<description>`<br/>My plugin is awesome<br/>`</description>` | By default no description for the plugin is displayed before installation. <br/>Using the `<description>` element will cause a description to be displayed before installation. <br/>Contents should match the `<description>` element contents in the plugins's `plugin.xml` file to avoid confusion. <br/>Optionally, an enclosing `<![CDATA[ ]]>` element can be used if the description needs to contain HTML tags. |
|
||||
| `<change-notes>`<br/>Added cool feature<br/>`</change-notes>` | By default no change notes for the plugin are displayed before installation. <br/>Using the `<change-notes>` element will cause a description of changes to be displayed before installation. <br/>Contents should match the `<change-notes>` element contents in the plugin's `plugin.xml` file to avoid confusion. <br/>Optionally, an enclosing `<![CDATA[ ]]>` element can be used if the change notes need to contain HTML tags. |
|
@ -47,7 +47,7 @@ To remove stored credentials, pass `null` for the `credentials` parameter.
|
||||
The default storage format depends on the OS.
|
||||
|
||||
| OS | Storage |
|
||||
| ------- | ----------------------------------------------------- |
|
||||
|---------|-------------------------------------------------------|
|
||||
| Windows | File in [KeePass][Windows] format |
|
||||
| macOS | Keychain using [Security Framework][macOS] |
|
||||
| Linux | [Secret Service API][linux] using [libsecret][linux2] |
|
||||
|
@ -50,7 +50,7 @@ For basic shapes, use the following sizes.
|
||||
Note the different areas of transparent padding used for each shape:
|
||||
|
||||
| {width="225"} | {:width="225"} |
|
||||
|:---:|:---:|
|
||||
|:---------------------------------------------------------------------------:|:------------------------------------------------------------------------:|
|
||||
| _Square logo 32px by 32px_ | _Circular logo 36px in diameter_ |
|
||||
| {width="225"} | {:width="225"} |
|
||||
| _Horizontal rectangular logo 36px by 26px_ | _Vertical rectangular logo 26px by 36px_ |
|
||||
@ -62,7 +62,7 @@ Check the license terms before using the logo.
|
||||
If there is no existing logo, or its use is prohibited, create a custom logo based on the [Action Colors Palette](https://jetbrains.design/intellij/principles/icons/#action-icons) in the IntelliJ Platform UI Guidelines for Icons.
|
||||
|
||||
| {height="200" width="200"} | {:height="200" width="200"} |
|
||||
|:---:|:---:|
|
||||
|:--------------------------------------------------------------------------------------------------:|:-----------------------------------------------------------------------------------------------------------------:|
|
||||
| _The YouTrack Plugin Logo uses<br/>the YouTrack product logo_ | _The Keymap Plugin Logo uses a color<br/>from the Action Colors Palette_ |
|
||||
|
||||
Ensure a Plugin Logo is visible on both light and dark backgrounds.
|
||||
@ -71,7 +71,7 @@ The examples below illustrate how a Plugin Logo design may work well for a light
|
||||
Consequently, a separate Plugin Logo for dark backgrounds is needed.
|
||||
|
||||
| {width="225"} | {:width="225"} | {:width="225"} |
|
||||
|:---:|:---:|:---:|
|
||||
|:----------------------------------------------------------------:|:------------------------------------------------------------------------:|:---------------------------------------------------------------------:|
|
||||
| _The light Plugin Logo design<br/>works well on light UI Theme_ | _The light Plugin Logo design does<br/>not work well on a dark UI Theme_ | _A separate, dark Plugin Logo design<br/>works well on dark UI Theme_ |
|
||||
|
||||
### Plugin Logo File Format
|
||||
|
@ -26,7 +26,7 @@ The table below summarizes the `gradle-intellij-plugin` attributes to set in the
|
||||
Click on an entry in the table's *Attribute* column to go to the documentation about that attribute.
|
||||
|
||||
| `gradle-intellij-plugin` Attribute | Attribute Value |
|
||||
| ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
|------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| [`intellij.localPath`][properties] | Path to locally installed target version of AppCode. For example, for macOS:<br/><path>/Users/$USERNAME$/Library/Application Support/JetBrains/Toolbox/apps/AppCode/ch-0/193.5662.55/AppCode.app/Contents</path>. |
|
||||
| [`runIde.ideDir`][dsl] | Path to locally installed target version of AppCode. For example, for macOS:<br/><path>/Users/$USERNAME$/Library/Application Support/JetBrains/Toolbox/apps/AppCode/ch-0/193.5662.55/AppCode.app/Contents</path>. |
|
||||
|
||||
|
@ -22,7 +22,7 @@ The table below summarizes the `gradle-intellij-plugin` attributes to set in the
|
||||
Click on an entry in the table's *Attribute* column to go to the documentation about that attribute.
|
||||
|
||||
| `gradle-intellij-plugin` Attribute | Attribute Value |
|
||||
| ---------------------------------------- | ------------------------------------------------------------------------------ |
|
||||
|------------------------------------------|--------------------------------------------------------------------------------|
|
||||
| [`intellij.type`][properties] | `CL` for the product CLion. |
|
||||
| [`intellij.version`][properties] | Set to the targeted CLion version, e.g. `2019.3.1`. |
|
||||
| [`intellij.plugins`][properties] | No specific declaration is needed. |
|
||||
|
@ -22,7 +22,7 @@ Click on an entry in the table's *Attribute* column to go to the documentation a
|
||||
To see how these attributes appear in a similar <path>build.gradle</path> file for PhpStorm, see [Configuring build.gradle using the IntelliJ IDEA Product Attribute](dev_alternate_products.md#configuring-buildgradle-using-the-intellij-idea-product-attribute).
|
||||
|
||||
| `gradle-intellij-plugin` Attribute | Attribute Value |
|
||||
| ---------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
|------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| [`intellij.type`][properties] | `IU` for IntelliJ IDEA Ultimate.<br/>(`IC` is incompatible with the required `DatabaseTools` plugin.) |
|
||||
| [`intellij.version`][properties] | `2019.3` Set to the same version as the DataGrip target version, as set by `runIde.ideDir`. |
|
||||
| [`intellij.plugins`][properties] | `plugins 'DatabaseTools'` Dependency on the bundled `DatabaseTools` plugin. |
|
||||
|
@ -42,7 +42,7 @@ The Go plugin version is explicitly declared because it isn't bundled with Intel
|
||||
Select a [version](https://plugins.jetbrains.com/plugin/9568-go/versions) of the Go plugin compatible with the IntelliJ Idea Ultimate version.
|
||||
|
||||
| `gradle-intellij-plugin` Attribute | Attribute Value |
|
||||
| ---------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
|------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| [`intellij.type`][properties] | `IU` for IntelliJ IDEA Ultimate. The Go plugin isn't compatible with IntelliJ IDEA Community Edition. |
|
||||
| [`intellij.version`][properties] | Set to the same `IU` BRANCH.BUILD as the GoLand target version, e.g. `193.5233.102`. |
|
||||
| [`intellij.plugins`][properties] | `org.jetbrains.plugins.go:193.5233.102.83` for the Go plugin.<br/>See below for Go plugin version information. |
|
||||
|
@ -58,7 +58,7 @@ Nette is a family of mature and stand-alone components for PHP that create a fra
|
||||
* [Official Nette web site](https://nette.org/en/)
|
||||
|
||||
| Name | Description | Website | GitHub | Plugin |
|
||||
| ----------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------- | -------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- |
|
||||
|-------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------|----------------------------------------------------------------------------------|-----------------------------------------------------------------------------------|
|
||||
| Nette framework helpers | Nette framework helpers make application development in Nette easier. The plugin provides code completion and navigation for Nette components, annotations, and DI service methods in PHP code. It also implements PHP type by `PhpTypeProvider`. | [Nette web](https://nette.org/en) | [intellij-nette](https://github.com/nette-intellij/intellij-nette) | [Nette plugin](https://plugins.jetbrains.com/plugin/7231-nette-framework-helpers) |
|
||||
| Latte | Nette Latte plugin supports Latte language – the safest & truly intuitive templates for PHP. The plugin implements custom language. Partially support PHP like in .php files (code completion, inspections, references to classes, methods, properties, etc.). Supports load config from XML files located in the project. It implements Stub indexes and more around custom language. | [Latte web](https://latte.nette.org/en) | [intellij-latte](https://github.com/nette-intellij/intellij-latte) | [Latte plugin](https://plugins.jetbrains.com/plugin/7457-latte) |
|
||||
| Neon | Nette Neon is commonly used for any structured data, such as settings, language translations, etc. It is very similar to YAML. The plugin implements custom language. Easy implementation for Go to PHP classes and completion for classes. | [Neon web](https://ne-on.org) | [intellij-neon](https://github.com/nette-intellij/intellij-neon) | [Neon plugin](https://plugins.jetbrains.com/plugin/7060-neon-support) |
|
||||
|
@ -25,7 +25,7 @@ Click on an entry in the table's *Attribute* column to go to the documentation a
|
||||
To see how these attributes appear in the <path>build.gradle</path> file for PhpStorm, see [Configuring build.gradle using the IntelliJ IDEA Product Attribute](dev_alternate_products.md#configuring-buildgradle-using-the-intellij-idea-product-attribute).
|
||||
|
||||
| `gradle-intellij-plugin` Attribute | Attribute Value |
|
||||
| ---------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
|------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| [`intellij.type`][properties] | `IU` for IntelliJ IDEA Ultimate. The required PHP plugin isn't compatible with IntelliJ IDEA Community Edition. |
|
||||
| [`intellij.version`][properties] | Set to the same `IU` BRANCH.BUILD as the PhpStorm target version, e.g. `193.5233.102`. |
|
||||
| [`intellij.plugins`][properties] | `com.jetbrains.php:193.5233.102` for the PHP plugin.<br/>See below for PHP plugin version information. |
|
||||
|
@ -16,7 +16,7 @@ The table below summarizes the `gradle-intellij-plugin` attributes to set in the
|
||||
Click on an entry in the table's *Attribute* column to go to the documentation about that attribute.
|
||||
|
||||
| `gradle-intellij-plugin` Attribute | Attribute Value |
|
||||
| ---------------------------------------- | ------------------------------------------------------------------------------ |
|
||||
|------------------------------------------|--------------------------------------------------------------------------------|
|
||||
| [`intellij.type`][properties] | `PY` for PyCharm Professional Edition, or `PC` for PyCharm Community Edition. |
|
||||
| [`intellij.version`][properties] | Set to the targeted `PY` or `PC` version. |
|
||||
| [`intellij.plugins`][properties] | No specific declaration is needed to use `PY` or `PC` APIs. |
|
||||
|
@ -18,7 +18,7 @@ Click on an entry in the table's *Attribute* column to go to the documentation a
|
||||
To see how these attributes appear in a similar <path>build.gradle</path> file for PhpStorm, see [Configuring build.gradle using the IntelliJ IDEA Product Attribute](dev_alternate_products.md#configuring-buildgradle-using-the-intellij-idea-product-attribute).
|
||||
|
||||
| `gradle-intellij-plugin` Attribute | Attribute Value |
|
||||
| ---------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
|------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| [`intellij.type`][properties] | `IU` for IntelliJ IDEA Ultimate. |
|
||||
| [`intellij.version`][properties] | Set to the same `IU` BRANCH.BUILD as the RubyMine target version, e.g. `192.7142.36`. |
|
||||
| [`intellij.plugins`][properties] | `org.jetbrains.plugins.ruby:2019.2.20191029` for the Ruby plugin.<br/>See below for Ruby plugin version information. |
|
||||
|
@ -22,7 +22,7 @@ Click on an entry in the table's *Attribute* column to go to the documentation a
|
||||
To see how these attributes appear in a similar <path>build.gradle</path> file for PhpStorm, see [Configuring build.gradle using the IntelliJ IDEA Product Attribute](dev_alternate_products.md#configuring-buildgradle-using-the-intellij-idea-product-attribute).
|
||||
|
||||
| `gradle-intellij-plugin` Attribute | Attribute Value |
|
||||
| ---------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
|------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| [`intellij.type`][properties] | `IU` for IntelliJ IDEA Ultimate.<br/>(`IC` is incompatible with the required `JavaScriptLanguage` plugin) |
|
||||
| [`intellij.version`][properties] | `192.7142.36` Set to the same BRANCH.BUILD as the WebStorm target version. |
|
||||
| [`intellij.plugins`][properties] | Dependency on the `JavaScriptLanguage` plugin. |
|
||||
|
@ -61,7 +61,7 @@ Portions of the module name expressed in `camelCase` format are divided and used
|
||||
The table below shows some example module names and their corresponding groupId and artifactId.
|
||||
|
||||
| Module Name | groupId | artifactId |
|
||||
| ------------------------------- | ------------------------------- | ----------------------- |
|
||||
|---------------------------------|---------------------------------|-------------------------|
|
||||
| intellij.java.compiler.antTasks | com.jetbrains.intellij.java | java-compiler-ant-tasks |
|
||||
| intellij.java.debugger | com.jetbrains.intellij.java | java-debugger |
|
||||
| intellij.platform.util | com.jetbrains.intellij.platform | util |
|
||||
|
@ -25,7 +25,7 @@ Various components used in the IntelliJ Platform expose additional properties.
|
||||
These can be useful to locate the underlying implementation, related Action, etc.
|
||||
|
||||
| Type | Place | Properties |
|
||||
| ----------------------------------------------- | -------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
|
||||
|-------------------------------------------------|-----------------------------|--------------------------------------------------------------------------------------------------------------------------------|
|
||||
| [`AnAction`][ActionSystem] | Action Button<br/>Menu Item | `Action` - [`AnAction`][us:AnAction] implementation<br/>`Action ID` - Action `id`<br/>`Action Plugin ID` - contributing plugin |
|
||||
| [`ActionToolbar`][ActionSystem] | Action Toolbar | `Toolbar Group` - Action Group ID<br/>`All Groups` - contained Action Group IDs |
|
||||
| [`DialogWrapper`][DialogWrapper] | Modal Dialog | `dialogWrapperClass` - [`DialogWrapper`][us:DialogWrapper] implementation |
|
||||
|
@ -76,7 +76,7 @@ The other attributes are the same as discussed in [Settings EP Attributes](setti
|
||||
For the child of a parent, the `id` attribute becomes compound:
|
||||
|
||||
| Attribute | Required | Value |
|
||||
|:--- | :---: |:--- |
|
||||
|:----------|:--------:|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| `id` | Y | Compound FQN of implementation based on `com.intellij.openapi.options.Configurable` in the form: `XX.YY` where:<br/>`XX` is the parent Settings component FQN-based id.<br/>`YY` is unique to the child among other siblings. |
|
||||
|
||||
> All children share the parent's `id` as the basis of their own `id`.
|
||||
|
@ -58,7 +58,7 @@ This section provides some additional clarification of those comments.
|
||||
The attributes supported by `com.intellij.applicationConfigurable` and `com.intellij.projectConfigurable` EPs are in the table below:
|
||||
|
||||
| Attribute | Implementation<br/>Basis | Required   | Attribute<br/>Value |
|
||||
| :---------- | :----- | :--------: |:------ |
|
||||
|:-----------------------|:------------------------------------------|:--------------------:|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| `instance` | `Configurable` | (1) | FQN of implementation. See [The Configurable Interface](#the-configurable-interface) for more information. |
|
||||
| `provider` | `ConfigurableProvider` | (1) | FQN of implementation. See [The ConfigurableProvider Class](#the-configurableprovider-class) for more information. |
|
||||
| `nonDefaultProject` | `Configurable` | Y | Applicable _only_ to the `com.intellij.projectConfigurable` (project Settings) EP.<br/>`true` = show Settings for all projects _except_ the [default project](https://www.jetbrains.com/help/idea/configure-project-settings.html#new-default-settings).<br/>`false` = show Settings for all projects. |
|
||||
@ -80,7 +80,7 @@ The table below shows the allowed values for the `parentId` attribute.
|
||||
See the [previous section](#table-of-attributes) for all supported attributes.
|
||||
|
||||
| `parentId` Value | Group | Details |
|
||||
| :--------------- | :---- | :------ |
|
||||
|:-----------------|:-----------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| _default_ | `other` | If neither `parentId` nor `groupId` attribute is set, the component is added to the `other` Settings group. This is undesirable; see `other` group description. |
|
||||
| `appearance` | Appearance & Behavior | This child group contains Settings to personalize IDE appearance, such as: changing themes and font size. Also, it covers Settings to customize behavior such as keymaps, configuring plugins, and system Settings such as password policies, HTTP proxy, updates, and more. |
|
||||
| `build` | Build, Execution, Deployment | Child group containing Settings to configure project integration with different build tools, modify the default compiler Settings, manage server access configurations, customize the debugger behavior, etc. |
|
||||
|
@ -197,7 +197,7 @@ The control keys for UI Tabs were expanded from release 2019.1 to 2019.2 of the
|
||||
The 2019.1 release control keys are compatible with release 2019.2 and later versions of the IntelliJ Platform.
|
||||
|
||||
| Release 2019.1 Element | Release 2019.2 Element | Description of Release 2019.2 Element |
|
||||
| -------------------------- | -------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
|
||||
|----------------------------|----------------------------|------------------------------------------------------------------------------------------------------------------------|
|
||||
| N/A | **`DefaultTabs`** | Applied to all tabs except `TabbedPane`, _unless_ overridden by a more specific Tab control element. |
|
||||
| **`EditorTabs`** | **`EditorTabs`** | Applied only to Editor tabs. Overrides any `DefaultTab` settings. 192 has many more `property` settings than 191. |
|
||||
| **`ToolWindow.HeaderTab`** | **`ToolWindow.HeaderTab`** | Applied only to Tool Window tabs. Overrides any `DefaultTab` settings. 192 has many more `property` settings than 191. |
|
||||
|
@ -78,7 +78,7 @@ All keys must follow this Naming Pattern:
|
||||
#### Property
|
||||
|
||||
| Word | Use for | Example |
|
||||
| ----------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------ |
|
||||
|-------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------|
|
||||
| **`foreground`** | Text color. | `Label.foreground` |
|
||||
| **`background`** | Background color for objects with text. | `Label.background` |
|
||||
| **`<part>Color`** | Objects with a single color (do not have foreground/background). Do not use the word “Color” separately, always use with the “part” word. <br/><br/>_The word “Color” shows that this is a color property. Otherwise, it can be confused with a property of another type._ | `Popup.borderColor` <br/> `Group.separatorColor` |
|
||||
@ -86,7 +86,7 @@ All keys must follow this Naming Pattern:
|
||||
#### State
|
||||
|
||||
| Word | Use for | Example |
|
||||
| --------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
|
||||
|-----------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------|
|
||||
| ~~**`Active`**~~ | Enabled components, default state. Omit this word. The default state does not need explicit naming. | `Notification.background` |
|
||||
| **`Inactive`** | Enabled components that might be perceived as interactive but are actually not. Example: a tree with visible selection but not in focus. Goes after other state words. | `Tree.inactiveBackground` <br/> `ToolWindow.HeaderTab.hoverInactiveBackground` |
|
||||
| **`Focused`** | The current focused component. | `Button.focusedBorderColor` |
|
||||
@ -102,7 +102,7 @@ A part is an internal element of a component, e.g., an arrow button in a combo b
|
||||
If a part is common among several components, use the same name for it. Notable examples of common parts:
|
||||
|
||||
| Common parts | Use for | Example |
|
||||
| -------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
|
||||
|----------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------|
|
||||
| **`Accelerator`** <br/> **`Shortcut`** | Shortcut foreground. | `Menu.acceleratorForeground` <br/> `Editor.shortcutForeground` |
|
||||
| **`Border`** | A line around a component. | `NavBar.borderColor` |
|
||||
| **`Caret`** | The vertical line that denotes typing place. | `TextField.caretForeground` |
|
||||
@ -134,7 +134,7 @@ Capitalize Object and SubObject. Use lowerCamelCase for property.
|
||||
#### Do Not Use
|
||||
|
||||
| Do not use | Use instead |
|
||||
| ----------------------------------------- | ------------- |
|
||||
|-------------------------------------------|---------------|
|
||||
| `Color` _as a separate word_ | `<Part>Color` |
|
||||
| `Outline` | `borderColor` |
|
||||
| `Text` | `Foreground` |
|
||||
|
@ -94,7 +94,7 @@ In some cases, you can skip dark variants if the original icon looks good under
|
||||
Required icon sizes depend on the usage as listed in the following table:
|
||||
|
||||
| Usage | Icon Size (pixels) |
|
||||
| ---------------------- | ------------------ |
|
||||
|------------------------|--------------------|
|
||||
| Node, Action, Filetype | 16x16 |
|
||||
| Tool window | 13x13 |
|
||||
| Editor gutter | 12x12 |
|
||||
@ -144,7 +144,7 @@ The `IconLoader` class will load the icon that matches the best depending on the
|
||||
Here are examples of <path>toolWindowStructure.png</path> icon representations:
|
||||
|
||||
| Theme/Resolution | File name | Image |
|
||||
| ---------------- | -------------------------------------------- | --------------------------------------------------------------------------- |
|
||||
|------------------|----------------------------------------------|-------------------------------------------------------------------------|
|
||||
| Default | <path>toolWindowStructure.png</path> |  |
|
||||
| Darcula | <path>toolWindowStructure_dark.png</path> |  |
|
||||
| Default + Retina | <path>toolWindowStructure@2x.png</path> |  |
|
||||
|
@ -301,7 +301,7 @@ checkBox("Hide tabs if there is no space", uiSettings::hideTabsIfNeed)
|
||||
Sample usages in IntelliJ Platform IDEs:
|
||||
|
||||
| User Interface | Implementation |
|
||||
|----------------|----------------|
|
||||
|-------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| <menupath>Settings/Preferences | Editor | Reader Mode</menupath> | [`ReaderModeConfigurable`](upsource:///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`](upsource:///plugins/git4idea/src/git4idea/branch/GitNewBranchDialog.kt) |
|
||||
| <menupath>Settings/Preferences | Tools | Diff & Merge</menupath> | [`DiffSettingsConfigurable`](upsource:///platform/diff-impl/src/com/intellij/diff/settings/DiffSettingsConfigurable.kt) |
|
||||
|
@ -13,7 +13,7 @@ The [`JBPopupFactory`](upsource:///platform/platform-api/src/com/intellij/openap
|
||||
The most commonly used methods are:
|
||||
|
||||
| Method | Description |
|
||||
|--------|-------------|
|
||||
|---------------------------------|------------------------------------------------------------------------------------------------------------------|
|
||||
| `createComponentPopupBuilder()` | Generic, allows showing any [Swing](https://docs.oracle.com/javase/tutorial/uiswing/start/index.html) component. |
|
||||
| `createPopupChooserBuilder()` | For choosing one or more items from a plain `java.util.List`. |
|
||||
| `createConfirmation()` | For choosing between two options, and performing different actions depending on which option is selected. |
|
||||
|
Loading…
x
Reference in New Issue
Block a user