mirror of
https://github.com/JetBrains/intellij-sdk-code-samples.git
synced 2025-07-30 02:07:50 +08:00
* [webhelp] Fixes for TXP00152, TXP00002, test build 27 Jul 22:26 * [webhelp] Fixes for Part #4 TXP00010, EXCEPT decimal numbers in section titles * [webhelp] Fixes for Part #5 TXP00017 * [webhelp] Fixes for Part #4 TXP00010 - removed numbers from page section titles in "Custom Language Support Tutorial" and "Testing a Custom Language Plugin". * [webhelp] Removed numbers from page section titles in rest of project *.md files. * [new webhelp] Build #44 changes * [new webhelp] Maintenance merge from master * [new webhelp] Add placeholder file for webhelp import. * [webhelp] Correct redirects for file name changes * [webhelp] TOC not needed in webhelp * [format] {:toc} not needed for webhelp * add {:disable-links} to ensure demo links are not interpreted as real links. * Put all badges on the same line to simplify composition. * formatter.md: fix upsource link * fix some links * api_changes_list.md: remove note * migrate to webhelp - initial * fix GH edit URL * remove sdkdocs-template setup in VCS config * remove recently_updated.md * restore COC/CONTRIBUTING.md * api_changes_list.md: remove note * useful_links.md: IPE Co-authored-by: JohnHake <john.hake@jetbrains.com> Co-authored-by: Yann Cébron <yann.cebron@jetbrains.com>
31 lines
1.9 KiB
Markdown
31 lines
1.9 KiB
Markdown
[//]: # (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 extensive 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.
|
|
|
|
## Essential Concepts
|
|
|
|
- [Creating Your First Plugin](getting_started.md).
|
|
- [Testing plugins](testing_plugins.md).
|
|
- Component model - the _IntelliJ Platform_ is a component-based application and is responsible for creating components and injecting dependencies.
|
|
Understanding this is necessary for building plugins.
|
|
- [Extension points](plugin_extensions.md) - how to register components with extension points, and how to find out what extension points are available.
|
|
- [Virtual files](virtual_file.md) - all file access should go through the Virtual File System, which abstracts and caches the file system.
|
|
It means you can work with files that are on the local file system, in a zip file or are old versions from version control.
|
|
|
|
## Code Model
|
|
|
|
The _IntelliJ Platform_'s code model is called the PSI - the [Program Structure Interface](psi.md).
|
|
The PSI parses code, builds indexes, and creates a semantic model.
|
|
|
|
## Common Extension Points
|
|
|
|
The _IntelliJ Platform_ is extremely exceptionally, and most features and services can be extended.
|
|
Some of the common extension points are:
|
|
|
|
* [Actions](action_system.md) - menu and toolbar items
|
|
* [Code inspections](code_inspections.md) - code analysis that looks at the syntax trees and semantic models and highlight issues in the editor.
|
|
* [Intentions](code_intentions.md) - context-specific actions that are available in the <kbd>Alt</kbd>+<kbd>Enter</kbd> menu when the text caret is at a particular location.
|
|
* [Code completion](code_completion.md). |