diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index 8ff7ea61d..1009fb520 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -1,6 +1,7 @@ --- title: Code of Conduct --- + ## Code of Conduct diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 56b4bb922..447d39d75 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,6 +1,7 @@ --- title: Contributing to the IntelliJ Platform SDK --- + This document describes our contribution guidelines for the open source IntelliJ Platform SDK documentation and sample code. Before you begin contributing content to the SDK, please read this page thoroughly as well as the [Code of Conduct](/CODE_OF_CONDUCT.md) and [License](https://github.com/JetBrains/intellij-sdk-docs/blob/master/LICENSE.txt) documents. diff --git a/appendix/resources/consulting.md b/appendix/resources/consulting.md index 40c6be8c5..76df6b43d 100644 --- a/appendix/resources/consulting.md +++ b/appendix/resources/consulting.md @@ -1,6 +1,7 @@ --- title: Consulting --- + The following independent companies and individuals provide paid plugin consulting and development services. diff --git a/appendix/resources/useful_links.md b/appendix/resources/useful_links.md index 19db1f5e7..69c01210b 100644 --- a/appendix/resources/useful_links.md +++ b/appendix/resources/useful_links.md @@ -3,6 +3,7 @@ title: Useful Links redirect_from: - /resources.html --- + The following links represent useful resources for working with the _IntelliJ Platform_ and creating plugins. diff --git a/basics.md b/basics.md index 4d58c8b7f..896179e4a 100644 --- a/basics.md +++ b/basics.md @@ -1,6 +1,7 @@ --- title: Quick Start Guide --- + This section covers the basics of working with *IntelliJ Platform*. It will familiarize you with the working environment, project structure, and frequently used API components. diff --git a/basics/action_system.md b/basics/action_system.md index aac36964e..7334d82f2 100644 --- a/basics/action_system.md +++ b/basics/action_system.md @@ -1,6 +1,7 @@ --- title: Action System --- + ## Introduction The actions system is an extension point that allows plugins to add their items to IntelliJ Platform-based IDE menus and toolbars. diff --git a/basics/architectural_overview/documents.md b/basics/architectural_overview/documents.md index dd6a383bf..d394c10bb 100644 --- a/basics/architectural_overview/documents.md +++ b/basics/architectural_overview/documents.md @@ -1,6 +1,7 @@ --- title: Documents --- + A document is an editable sequence of Unicode characters, which typically corresponds to the text contents of a virtual file. Line breaks in a document are _always_ normalized to `\n`. The *IntelliJ Platform* handles encoding and line break conversions when loading and saving documents transparently. diff --git a/basics/architectural_overview/file_view_providers.md b/basics/architectural_overview/file_view_providers.md index 1600272c1..d87dc3d00 100644 --- a/basics/architectural_overview/file_view_providers.md +++ b/basics/architectural_overview/file_view_providers.md @@ -1,6 +1,7 @@ --- title: File View Providers --- + A file view provider ([`FileViewProvider`](upsource:///platform/core-api/src/com/intellij/psi/FileViewProvider.java)) manages access to multiple PSI trees within a single file. diff --git a/basics/architectural_overview/files.md b/basics/architectural_overview/files.md index fbe4da2e4..ba06722a5 100644 --- a/basics/architectural_overview/files.md +++ b/basics/architectural_overview/files.md @@ -1,6 +1,7 @@ --- title: Files --- + * [Virtual File System](/basics/virtual_file_system.md) * [Virtual Files](virtual_file.md) diff --git a/basics/architectural_overview/general_threading_rules.md b/basics/architectural_overview/general_threading_rules.md index ec6323a4d..43655618d 100644 --- a/basics/architectural_overview/general_threading_rules.md +++ b/basics/architectural_overview/general_threading_rules.md @@ -1,6 +1,7 @@ --- title: General Threading Rules --- + ## Read/write lock diff --git a/basics/architectural_overview/modifying_psi.md b/basics/architectural_overview/modifying_psi.md index 15e4913d2..0fedf4763 100644 --- a/basics/architectural_overview/modifying_psi.md +++ b/basics/architectural_overview/modifying_psi.md @@ -1,6 +1,7 @@ --- title: Modifying the PSI --- + The PSI is a read-write representation of the source code as a tree of elements corresponding to the structure of a source file. You can modify the PSI by *adding*, *replacing*, and *deleting* PSI elements. diff --git a/basics/architectural_overview/navigating_psi.md b/basics/architectural_overview/navigating_psi.md index 229dc706b..2bd7f0f0c 100644 --- a/basics/architectural_overview/navigating_psi.md +++ b/basics/architectural_overview/navigating_psi.md @@ -1,6 +1,7 @@ --- title: Navigating the PSI --- + There are three main ways to navigate the PSI: *top-down*, *bottom-up*, and using *references*. In the first scenario, you have a PSI file or another higher-level element (for example, a method), and you need to find all elements that match a diff --git a/basics/architectural_overview/psi.md b/basics/architectural_overview/psi.md index 758dc5c3f..41aa5e69d 100644 --- a/basics/architectural_overview/psi.md +++ b/basics/architectural_overview/psi.md @@ -1,6 +1,7 @@ --- title: Program Structure Interface (PSI) --- + The Program Structure Interface, commonly referred to as just PSI, is the layer in the _IntelliJ Platform_ that is responsible for parsing files and creating the syntactic and semantic code model that powers so many of the platform's features. diff --git a/basics/architectural_overview/psi_elements.md b/basics/architectural_overview/psi_elements.md index 9581e0637..a41a13ded 100644 --- a/basics/architectural_overview/psi_elements.md +++ b/basics/architectural_overview/psi_elements.md @@ -1,6 +1,7 @@ --- title: PSI Elements --- + A PSI (Program Structure Interface) file represents a hierarchy of PSI elements (so-called _PSI trees_). A single PSI file (itself being a PSI element) may contain several PSI trees in specific programming languages. A PSI element, in its turn, can have child PSI elements. diff --git a/basics/architectural_overview/psi_files.md b/basics/architectural_overview/psi_files.md index 870a6b4cb..aacabeb3e 100644 --- a/basics/architectural_overview/psi_files.md +++ b/basics/architectural_overview/psi_files.md @@ -1,6 +1,7 @@ --- title: PSI Files --- + A PSI (Program Structure Interface) file is the root of a structure representing the contents of a file as a hierarchy of elements in a particular programming language. diff --git a/basics/architectural_overview/psi_references.md b/basics/architectural_overview/psi_references.md index 69ca99f6c..7e22d8837 100644 --- a/basics/architectural_overview/psi_references.md +++ b/basics/architectural_overview/psi_references.md @@ -1,6 +1,7 @@ --- title: PSI References --- + A *reference* in a PSI tree is an object that represents a link from a *usage* of a certain element in the code to the corresponding *declaration*. *Resolving* a reference means locating the declaration to which a specific usage diff --git a/basics/architectural_overview/virtual_file.md b/basics/architectural_overview/virtual_file.md index 941a8b3f9..942146cee 100644 --- a/basics/architectural_overview/virtual_file.md +++ b/basics/architectural_overview/virtual_file.md @@ -1,6 +1,7 @@ --- title: Virtual Files --- + A virtual file [`VirtualFile`](upsource:///platform/core-api/src/com/intellij/openapi/vfs/VirtualFile.java) is the *IntelliJ Platform's* representation of a file in a file system (VFS). Most commonly, a virtual file is a file in your local file system. However, the *IntelliJ Platform* supports multiple pluggable file system implementations, so virtual files can also represent classes in a JAR file, old revisions of files loaded from a version control repository, and so on. diff --git a/basics/getting_started.md b/basics/getting_started.md index 2a259a6bf..54107821b 100644 --- a/basics/getting_started.md +++ b/basics/getting_started.md @@ -1,6 +1,7 @@ --- title: Creating Your First Plugin --- + This documentation section will help you get started with developing plugins for the *IntelliJ Platform*. You can use either [IntelliJ IDEA Community Edition](https://www.jetbrains.com/idea/download/) or [IntelliJ IDEA Ultimate](https://www.jetbrains.com/idea/download/) as your IDE (it is highly recommended to use the latest available version). Both include the complete set of plugin development tools. To become more familiar with *IntelliJ IDEA*, please refer to the [IntelliJ IDEA Web Help](https://www.jetbrains.com/idea/help/). diff --git a/basics/getting_started/creating_plugin_project.md b/basics/getting_started/creating_plugin_project.md index 602823d33..35355b42b 100644 --- a/basics/getting_started/creating_plugin_project.md +++ b/basics/getting_started/creating_plugin_project.md @@ -3,6 +3,7 @@ title: Creating a Plugin Project redirect_from: - /basics/getting_started/creating_an_action.html --- + > **NOTE** For new projects, it is recommend to use [Gradle](/tutorials/build_system.md). diff --git a/basics/getting_started/deploying_plugin.md b/basics/getting_started/deploying_plugin.md index ee5fe4366..cf86e9da1 100644 --- a/basics/getting_started/deploying_plugin.md +++ b/basics/getting_started/deploying_plugin.md @@ -1,6 +1,7 @@ --- title: Deploying a Plugin --- + Before your custom plugin can be used, it must be deployed: built, installed, and then enabled using Plugin Manager. diff --git a/basics/getting_started/plugin_compatibility.md b/basics/getting_started/plugin_compatibility.md index 4e135b8af..8da97da4a 100644 --- a/basics/getting_started/plugin_compatibility.md +++ b/basics/getting_started/plugin_compatibility.md @@ -1,6 +1,7 @@ --- title: Plugin Compatibility with IntelliJ Platform Products --- +