New Copyright in markdown files

This commit is contained in:
JohnHake 2020-02-19 22:25:03 -08:00
parent bb86791741
commit 80129a7641
204 changed files with 205 additions and 19 deletions

View File

@ -1,6 +1,7 @@
---
title: Code of Conduct
---
<!-- Copyright 2000-2020 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. -->
## Code of Conduct

View File

@ -1,6 +1,7 @@
---
title: Contributing to the IntelliJ Platform SDK
---
<!-- Copyright 2000-2020 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 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.

View File

@ -1,6 +1,7 @@
---
title: Consulting
---
<!-- Copyright 2000-2020 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 following independent companies and individuals provide paid plugin consulting and development services.

View File

@ -3,6 +3,7 @@ title: Useful Links
redirect_from:
- /resources.html
---
<!-- Copyright 2000-2020 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 following links represent useful resources for working with the _IntelliJ Platform_ and creating plugins.

View File

@ -1,6 +1,7 @@
---
title: Quick Start Guide
---
<!-- Copyright 2000-2020 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 section covers the basics of working with *IntelliJ Platform*.
It will familiarize you with the working environment, project structure, and frequently used API components.

View File

@ -1,6 +1,7 @@
---
title: Action System
---
<!-- Copyright 2000-2020 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. -->
## Introduction
The actions system is an extension point that allows plugins to add their items to IntelliJ Platform-based IDE menus and toolbars.

View File

@ -1,6 +1,7 @@
---
title: Documents
---
<!-- Copyright 2000-2020 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. -->
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.

View File

@ -1,6 +1,7 @@
---
title: File View Providers
---
<!-- Copyright 2000-2020 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. -->
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.

View File

@ -1,6 +1,7 @@
---
title: Files
---
<!-- Copyright 2000-2020 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. -->
* [Virtual File System](/basics/virtual_file_system.md)
* [Virtual Files](virtual_file.md)

View File

@ -1,6 +1,7 @@
---
title: General Threading Rules
---
<!-- Copyright 2000-2020 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. -->
## Read/write lock

View File

@ -1,6 +1,7 @@
---
title: Modifying the PSI
---
<!-- Copyright 2000-2020 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 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.

View File

@ -1,6 +1,7 @@
---
title: Navigating the PSI
---
<!-- Copyright 2000-2020 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. -->
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

View File

@ -1,6 +1,7 @@
---
title: Program Structure Interface (PSI)
---
<!-- Copyright 2000-2020 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 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.

View File

@ -1,6 +1,7 @@
---
title: PSI Elements
---
<!-- Copyright 2000-2020 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. -->
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.

View File

@ -1,6 +1,7 @@
---
title: PSI Files
---
<!-- Copyright 2000-2020 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. -->
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.

View File

@ -1,6 +1,7 @@
---
title: PSI References
---
<!-- Copyright 2000-2020 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. -->
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

View File

@ -1,6 +1,7 @@
---
title: Virtual Files
---
<!-- Copyright 2000-2020 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. -->
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.

View File

@ -1,6 +1,7 @@
---
title: Creating Your First Plugin
---
<!-- Copyright 2000-2020 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 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/).

View File

@ -3,6 +3,7 @@ title: Creating a Plugin Project
redirect_from:
- /basics/getting_started/creating_an_action.html
---
<!-- Copyright 2000-2020 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. -->
> **NOTE** For new projects, it is recommend to use [Gradle](/tutorials/build_system.md).

View File

@ -1,6 +1,7 @@
---
title: Deploying a Plugin
---
<!-- Copyright 2000-2020 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. -->
Before your custom plugin can be used, it must be deployed: built, installed, and then enabled using Plugin Manager.

View File

@ -1,6 +1,7 @@
---
title: Plugin Compatibility with IntelliJ Platform Products
---
<!-- Copyright 2000-2020 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. -->
<style>
table {

View File

@ -1,6 +1,7 @@
---
title: Publishing a plugin
---
<!-- Copyright 2000-2020 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. -->
When your plugin is ready you can publish it to a plugin repository so that other users can install it.
You can choose to publish it on the [JetBrains Plugin Repository](https://plugins.jetbrains.com)

View File

@ -1,6 +1,7 @@
---
title: Running and Debugging a Plugin
---
<!-- Copyright 2000-2020 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. -->
It's possible to run and debug a plugin directly from the *IntelliJ IDEA*. You need a configured special profile (a *Plugin* Run/Debug configuration) that specifies the plugin module, VM parameters and other specific options. When you run such profile, it launches the IDE with your plugin installed.

View File

@ -1,6 +1,7 @@
---
title: Setting Up a Development Environment
---
<!-- Copyright 2000-2020 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. -->
### Preliminary Steps

View File

@ -1,6 +1,7 @@
---
title: Publishing a Plugin to a Custom Plugin Repository
---
<!-- Copyright 2000-2020 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. -->
If you intend to use a plugin repository _other than_ the [JetBrains Plugin Repository](https://plugins.jetbrains.com),
you will need to:

View File

@ -1,6 +1,7 @@
---
title: Using DevKit
---
<!-- Copyright 2000-2020 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. -->
> **NOTE** For new projects, it is recommend to use [Gradle](/tutorials/build_system.md).

View File

@ -3,6 +3,7 @@ title: IDE Development Instances
redirect_from:
- /basics/settings_caches_logs.html
---
<!-- Copyright 2000-2020 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. -->
A JetBrains feature for developing plugins is running or debugging a plugin project from within an IntelliJ Platform-based IDE such as IntelliJ IDEA.
Selecting the [**Run**](getting_started/running_and_debugging_a_plugin.md) menu for a DevKit-based project, or the [**runIde**](/tutorials/build_system/prerequisites.md#running-a-simple-gradle-based-intellij-platform-plugin) task for a Gradle-based project will launch a _Development Instance_ of the IDE with the plugin enabled.

View File

@ -1,6 +1,7 @@
---
title: Indexing and PSI Stubs
---
<!-- Copyright 2000-2020 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. -->
## Indices

View File

@ -1,6 +1,7 @@
---
title: File-based Indexes
---
<!-- Copyright 2000-2020 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-based indexes are based on a Map/Reduce architecture. Each index has a certain type of key and a certain type of value.

View File

@ -1,6 +1,7 @@
---
title: Stub Indexes
---
<!-- Copyright 2000-2020 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. -->
## Stub Trees

View File

@ -1,6 +1,7 @@
---
title: IntelliJ Platform Coding Guidelines
---
<!-- Copyright 2000-2020 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. -->
If you are writing code that you would like to contribute to the IntelliJ Platform (either as a patch or as a plugin), following these guidelines will make it easier for the JetBrains development team to review and accept your changes.

View File

@ -1,6 +1,7 @@
---
title: Persisting Sensitive Data
---
<!-- Copyright 2000-2020 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 securely store sensitive user data, like passwords, server URLs, etc.

View File

@ -1,6 +1,7 @@
---
title: Persisting State of Components
---
<!-- Copyright 2000-2020 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* provides an API that allows components or services to persist their state between restarts of the IDE. You can use either a simple API to persist a few values, or persist the state of more complicated components using the [`PersistentStateComponent`](upsource:///platform/core-api/src/com/intellij/openapi/components/PersistentStateComponent.java) interface.

View File

@ -1,6 +1,7 @@
---
title: Contributing to the IntelliJ Platform
---
<!-- Copyright 2000-2020 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. -->
Please make sure to read the [Code of Conduct](../CODE_OF_CONDUCT.md).

View File

@ -1,6 +1,7 @@
---
title: Plugin Structure
---
<!-- Copyright 2000-2020 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. -->
Click the following topics to learn more about the plugin system structure and plugin lifecycles:

View File

@ -1,6 +1,7 @@
---
title: Dynamic Plugins
---
<!-- Copyright 2000-2020 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. -->
> **WARNING** Please note that the information on this page is preliminary and might change.

View File

@ -1,6 +1,7 @@
---
title: Plugin Actions
---
<!-- Copyright 2000-2020 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* provides the concept of _actions_. An action is a class, derived from the [`AnAction`](upsource:///platform/editor-ui-api/src/com/intellij/openapi/actionSystem/AnAction.java) class, whose `actionPerformed()` method is called when the menu item or toolbar button is selected.

View File

@ -1,6 +1,7 @@
---
title: Plugin Class Loaders
---
<!-- Copyright 2000-2020 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. -->
A separate class loader is used to load the classes of each plugin. This allows each plugin to use a different version of a library, even if the same library is used by the IDE itself or by another plugin.

View File

@ -1,6 +1,7 @@
---
title: Plugin Components
---
<!-- Copyright 2000-2020 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. -->
> **WARNING** When writing new plugins, you should avoid creating components, and you should migrate existing components in your plugins to services, extensions or listeners (see below).

View File

@ -1,6 +1,7 @@
---
title: Plugin Configuration File - plugin.xml
---
<!-- Copyright 2000-2020 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 following is a sample plugin configuration file. This sample showcases and describes all elements that can be used in the `plugin.xml` file.
Additional information about configuring `<actions>` is available in the [Actions](/basics/action_system.md#registering-actions) section in Part II.

View File

@ -1,6 +1,7 @@
---
title: Plugin Content
---
<!-- Copyright 2000-2020 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 plugin `jar` file must contain:
- the configuration file (`META-INF/plugin.xml`) ([Plugin Configuration File](plugin_configuration_file.md))

View File

@ -1,6 +1,7 @@
---
title: Plugin Dependencies
---
<!-- Copyright 2000-2020 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. -->
A plugin may depend on classes from other plugins, either bundled, third-party, or by the same author.
This document describes the syntax for declaring plugin dependencies and optional plugin dependencies.

View File

@ -1,6 +1,7 @@
---
title: Plugin Extension Points
---
<!-- Copyright 2000-2020 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. -->
> **NOTE** See [Plugin Extensions](plugin_extensions.md) for _using_ extension points in your plugin.

View File

@ -3,6 +3,7 @@ title: Plugin Extensions
redirect_from:
/basics/plugin_structure/plugin_extensions_and_extension_points.html
---
<!-- Copyright 2000-2020 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. -->
_Extensions_ are the most common way for a plugin to extend the functionality of the IntelliJ Platform in a way
that is not as straightforward as adding an action to a menu or toolbar. The following are some of the most common

View File

@ -1,6 +1,7 @@
---
title: Plugin Logo
---
<!-- Copyright 2000-2020 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.

View File

@ -1,6 +1,7 @@
---
title: Plugin Listeners
---
<!-- Copyright 2000-2020 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. -->
> **NOTE** Defining listeners in `plugin.xml` is supported starting with version 2019.3 of the platform.

View File

@ -1,6 +1,7 @@
---
title: Plugin Services
---
<!-- Copyright 2000-2020 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. -->
A _service_ is a plugin component loaded on demand when your plugin calls the `getService()` method of the [`ServiceManager`](upsource:///platform/core-api/src/com/intellij/openapi/components/ServiceManager.java) class.

View File

@ -1,6 +1,7 @@
---
title: Project Structure
---
<!-- Copyright 2000-2020 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. -->
<!--TODO split into parts accordingly to the table of contents-->

View File

@ -1,6 +1,7 @@
---
title: PSI Cookbook
---
<!-- Copyright 2000-2020 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 gives a list of recipes for the most common operations for working with the PSI (Program Structure Interface). Unlike [Developing Custom Language Plugins](/reference_guide/custom_language_support.md), it talks about working with the PSI of existing languages (such as Java).

View File

@ -1,6 +1,7 @@
---
title: Run Configurations
---
<!-- Copyright 2000-2020 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. -->
*Run Configurations* allow users to run a certain type of external processes from within the IDE, e.g. a script, an application, a server, etc. You can provide UI for the user to specify execution options, as well as an option to create a run configuration based on a specific location in the source code.

View File

@ -1,6 +1,7 @@
---
title: Execution
---
<!-- Copyright 2000-2020 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 standard execution of a run action goes through the following steps:

View File

@ -1,6 +1,7 @@
---
title: Run Configuration Management
---
<!-- Copyright 2000-2020 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 main classes to work with run configurations and common use case.

View File

@ -1,6 +1,7 @@
---
title: Light and Heavy Tests
---
<!-- Copyright 2000-2020 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 tests run in a real, rather than mocked, *IntelliJ Platform* environment and use real implementations for most of the application and project components/services.

View File

@ -1,6 +1,7 @@
---
title: Test Project and Testdata Directories
---
<!-- Copyright 2000-2020 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 test fixture creates a *test project* environment. Unless you customize the project creation, the test project will have one module with one source root called `src`. The files for the test project exist either in a temporary directory or in an in-memory file system, depending on which implementation of [`TempDirTestFixture`](upsource:///platform/testFramework/src/com/intellij/testFramework/fixtures/TempDirTestFixture.java) is used.

View File

@ -1,6 +1,7 @@
---
title: Testing Highlighting
---
<!-- Copyright 2000-2020 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. -->
A common task when writing plugin tests is testing various kinds of highlighting (inspections, annotators, parser error highlighting, etc.). The *IntelliJ Platform* provides a dedicated utility and markup format for this task.

View File

@ -3,6 +3,7 @@ title: Testing Plugins
redirect_from:
- /basics/testing_plugins.html
---
<!-- Copyright 2000-2020 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. -->
Most of the tests in the *IntelliJ Platform* codebase are *model level functional tests*. What this means is the following:

View File

@ -1,6 +1,7 @@
---
title: Tests and Fixtures
---
<!-- Copyright 2000-2020 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* testing infrastructure is not tied to any specific test framework. In fact, the IntelliJ IDEA Team uses JUnit, TestNG and Cucumber for testing different parts of the project. However, most of the tests are written using JUnit 3.

View File

@ -1,6 +1,7 @@
---
title: Writing Tests
---
<!-- Copyright 2000-2020 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. -->
In most cases, once you have the necessary files copied to the test project and loaded into the in-memory editor, writing the test itself involves invoking your plugin code and has few dependencies on the test framework.

View File

@ -1,6 +1,7 @@
---
title: Main Types of Plugins
---
<!-- Copyright 2000-2020 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. -->
Products based on the *IntelliJ Platform* can be modified and adjusted for custom purposes by adding plugins. All downloadable plugins are available at the [JetBrains Plugin Repository](https://plugins.jetbrains.com/).

View File

@ -1,6 +1,7 @@
---
title: Virtual File System
---
<!-- Copyright 2000-2020 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 virtual file system (VFS) is a component of *IntelliJ Platform* that encapsulates most of its activity for working with files. It serves the following main purposes:

2
faq.md
View File

@ -1,7 +1,7 @@
---
title: Plugin Development FAQ
---
<!-- Copyright 2000-2020 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 FAQ is a topical index of questions that have been asked (and answered) on our
[IntelliJ IDEA Open API and Plugin Development forum](https://intellij-support.jetbrains.com/hc/en-us/community/topics/200366979-IntelliJ-IDEA-Open-API-and-Plugin-Development).

View File

@ -1,6 +1,7 @@
---
title: About this Guide
---
<!-- Copyright 2000-2020 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 guide is split into several parts, similar to a text book. Each part builds on the content of the previous part, but it is not necessary to read the guide in order. The [Key Topics](key_topics.md) page aims to link to the pages that are necessary to be able to understand the architecture and get started building plugins.

View File

@ -1,6 +1,7 @@
---
title: Getting Help
---
<!-- Copyright 2000-2020 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. -->
## Problems with the guide

View File

@ -1,6 +1,7 @@
---
title: What is the IntelliJ Platform?
---
<!-- Copyright 2000-2020 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_ is not a product in and of itself but provides a platform for building IDEs. It is used to power JetBrains products such as [IntelliJ IDEA](https://www.jetbrains.com/idea/). It is also Open Source and can be used by third parties to build IDEs, such as [Android Studio](https://developer.android.com/studio/index.html) from Google.

View File

@ -1,6 +1,7 @@
---
title: Key Topics
---
<!-- Copyright 2000-2020 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_ is very large, and very capable, and its size and scope can initially be very daunting. This page is intended to list the key topics that a plugin author would be interested in, and provide quick links to the most common extension points.

View File

@ -1,6 +1,7 @@
---
title: Guidelines for Creating IntelliJ Platform SDK Code Samples
---
<!-- Copyright 2000-2020 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](/CODE_OF_CONDUCT.md) and [License](https://github.com/JetBrains/intellij-sdk-docs/blob/master/LICENSE.txt) documents.

View File

@ -1,6 +1,7 @@
---
title: Style Guide for SDK Documents
---
<!-- Copyright 2000-2020 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 writing style used in authoring open source IntelliJ Platform SDK documentation.
Before you begin, 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.
@ -29,6 +30,7 @@ In other words, to convert a `.md` file to HTML, it should look like this:
```yaml
---
---
<!-- Copyright 2000-2020 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. -->
Lorem ipsum...
```

View File

@ -4,6 +4,7 @@ redirect_from:
- /reference_guide.html
- /basics/architectural_overview.html
---
<!-- Copyright 2000-2020 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 section describes the low level fundamental building blocks of the _IntelliJ Platform_:

View File

@ -12,6 +12,7 @@ redirect_from:
- /plugin_repository/custom_channels.html
---
<!-- Copyright 2000-2020 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. -->
JetBrains provides an official plugins repository [plugins.jetbrains.com](https://plugins.jetbrains.com) for all IntelliJ Platform-based IDEs,
as well as TeamCity (limited functionality).

View File

@ -1,6 +1,7 @@
---
title: Android Studio Plugin Development
---
<!-- Copyright 2000-2020 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. -->
## Introduction
Android Studio plugins extend or add functionality to the [Android Studio IDE](https://developer.android.com/studio).

View File

@ -1,6 +1,7 @@
---
title: AppCode Plugin Development
---
<!-- Copyright 2000-2020 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. -->
## Introduction
Plugin projects targeting [AppCode](https://www.jetbrains.com/objc/) can be developed using IntelliJ IDEA with the `gradle-intellij-plugin`.

View File

@ -1,6 +1,7 @@
---
title: CLion Plugin Development
---
<!-- Copyright 2000-2020 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. -->
## Introduction
[CLion](https://www.jetbrains.com/clion/) is an IntelliJ Platform-based product.

View File

@ -1,6 +1,7 @@
---
title: DataGrip Plugin Development
---
<!-- Copyright 2000-2020 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. -->
## Introduction
[DataGrip](https://www.jetbrains.com/datagrip/) is an IntelliJ Platform-based product.

View File

@ -1,6 +1,7 @@
---
title: Plugins Targeting IntelliJ Platform-Based IDEs
---
<!-- Copyright 2000-2020 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. -->
## Introduction
Plugin projects can target IDEs other than IntelliJ IDEA, as long as the products are based on the [IntelliJ Platform](/intro/intellij_platform.md).

View File

@ -1,6 +1,7 @@
---
title: GoLand Plugin Development
---
<!-- Copyright 2000-2020 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. -->
## Introduction
[GoLand](https://www.jetbrains.com/go/) is an IntelliJ Platform-based product.

View File

@ -1,6 +1,7 @@
---
title: IntelliJ IDEA
---
<!-- Copyright 2000-2020 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. -->
* [Tomcat Integration](../reference_guide/tomcat_integration.md)
* [Spring API](../reference_guide/frameworks_and_external_apis/spring_api.md)

View File

@ -3,6 +3,7 @@ title: Example PhpStorm Third Party Plugins
redirect_from:
- /phpstorm/existing_plugins.html
---
<!-- Copyright 2000-2020 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 lists some example PhpStorm plugins created by third party developers.

View File

@ -3,6 +3,7 @@ title: PHP Open API
redirect_from:
- /phpstorm/php_open_api.html
---
<!-- Copyright 2000-2020 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. -->
## Using php-openapi

View File

@ -5,6 +5,7 @@ redirect_from:
- /phpstorm/setting_up_environment.html
- /products/phpstorm/setting_up_environment.html
---
<!-- Copyright 2000-2020 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. -->
## Introduction
[PhpStorm](https://www.jetbrains.com/phpstorm/) is an IntelliJ Platform-based product.

View File

@ -1,6 +1,7 @@
---
title: PyCharm Plugin Development
---
<!-- Copyright 2000-2020 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. -->
## Introduction
[PyCharm](https://www.jetbrains.com/pycharm/) is an IntelliJ Platform-based product.

View File

@ -1,6 +1,7 @@
---
title: Rider Plugin Development
---
<!-- Copyright 2000-2020 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. -->
## Introduction
Rider plugins are generally used to expose the functionality of a ReSharper plugin.

View File

@ -1,6 +1,7 @@
---
title: RubyMine Plugin Development
---
<!-- Copyright 2000-2020 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. -->
## Introduction
[RubyMine](https://www.jetbrains.com/ruby/) is an IntelliJ Platform-based product.

View File

@ -1,6 +1,7 @@
---
title: WebStorm Plugin Development
---
<!-- Copyright 2000-2020 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. -->
## Introduction
[WebStorm](https://www.jetbrains.com/webstorm/) is an IntelliJ Platform-based product.

View File

@ -1,6 +1,7 @@
---
title: Incompatible Changes in IntelliJ Platform and Plugins API 2016.*
---
<!-- Copyright 2000-2020 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. -->
<!--
See the note on how to document new problems on the main page reference_guide/api_changes_list.md

View File

@ -1,6 +1,7 @@
---
title: Incompatible Changes in IntelliJ Platform and Plugins API 2017.*
---
<!-- Copyright 2000-2020 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. -->
<!--
See the note on how to document new problems on the main page reference_guide/api_changes_list.md

View File

@ -1,6 +1,7 @@
---
title: Incompatible Changes in IntelliJ Platform and Plugins API 2018.*
---
<!-- Copyright 2000-2020 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. -->
<!--

View File

@ -1,6 +1,7 @@
---
title: Incompatible Changes in IntelliJ Platform and Plugins API 2019.*
---
<!-- Copyright 2000-2020 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. -->
<!--
Before documenting a breaking API change, please, make sure that the change cannot be avoided

View File

@ -1,6 +1,7 @@
---
title: Incompatible Changes in IntelliJ Platform and Plugins API 2020.*
---
<!-- Copyright 2000-2020 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. -->
<!--
Before documenting a breaking API change, please, make sure that the change cannot be avoided

View File

@ -1,6 +1,7 @@
---
title: Incompatible Changes in IntelliJ Platform and Plugins API
---
<!-- Copyright 2000-2020 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. -->
<!--
=============== DO NOT RENAME OR MOVE THIS FILE ===============

View File

@ -1,6 +1,7 @@
---
title: Notable Changes and Features in IntelliJ Platform and Plugins API
---
<!-- Copyright 2000-2020 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 following pages list notable changes and new features in IDE releases.

View File

@ -1,6 +1,7 @@
---
title: Notable Changes in IntelliJ Platform and Plugins API 2018.*
---
<!-- Copyright 2000-2020 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. -->
# 2018.3

View File

@ -1,6 +1,7 @@
---
title: Notable Changes in IntelliJ Platform and Plugins API 2019.*
---
<!-- Copyright 2000-2020 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

View File

@ -1,6 +1,7 @@
---
title: Notable Changes in IntelliJ Platform and Plugins API 2020.*
---
<!-- Copyright 2000-2020 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. -->
We've published our roadmap for the IntelliJ Platform for 2020: [Part I](https://blog.jetbrains.com/idea/2019/12/intellij-platform-roadmap-for-2020/) [Part II](https://blog.jetbrains.com/idea/2020/01/intellij-based-ide-features-roadmap-for-2020/)

View File

@ -1,6 +1,7 @@
---
title: Color Scheme Management
---
<!-- Copyright 2000-2020 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. -->
# Preface

View File

@ -1,7 +1,7 @@
---
title: Custom Language Support
---
<!-- Copyright 2000-2020 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. -->
*IntelliJ Platform* is a powerful platform for building development tools targeting *any* language.
Most of IDE features consist of language-independent and language-specific parts, and you can support a particular feature for your language with a small amount of effort:

View File

@ -1,6 +1,7 @@
---
title: Additional Minor Features
---
<!-- Copyright 2000-2020 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. -->
A number of minor features are listed in the following format:

View File

@ -1,6 +1,7 @@
---
title: Code Completion
---
<!-- Copyright 2000-2020 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. -->
There are two main types of code completion that can be provided by custom language plugins: reference completion and contributor-based completion.

View File

@ -1,6 +1,7 @@
---
title: Code Formatter
---
<!-- Copyright 2000-2020 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 includes a powerful framework for implementing custom language formatters.
In this framework, the plugin specifies the *constraints* on the spacing between different syntax elements, and the formatting engine, provided by the IDE, calculates the smallest number of whitespace modifications that need to be performed on the file to make it match the constraints.

View File

@ -1,6 +1,7 @@
---
title: Code Inspections and Intentions
---
<!-- Copyright 2000-2020 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. -->
### Inspections

View File

@ -1,6 +1,7 @@
---
title: Documentation
---
<!-- Copyright 2000-2020 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. -->
To provide different kinds of documentation support (tooltips on **Ctrl-hover**, quick documentation popup etc.), the plugin needs to provide an implementation of the
[`DocumentationProvider`](upsource:///platform/analysis-api/src/com/intellij/lang/documentation/DocumentationProvider.java)

Some files were not shown because too many files have changed in this diff Show More