mirror of
https://github.com/JetBrains/intellij-sdk-code-samples.git
synced 2025-07-30 18:27:49 +08:00
More GH/US link migration
This commit is contained in:
parent
f51b5e5ef9
commit
0abbdf9597
@ -60,7 +60,7 @@ class MyService implements PersistentStateComponent<MyService> {
|
||||
|
||||
### Implementing the state class
|
||||
|
||||
The implementation of `PersistentStateComponent` works by serializing public fields, [annotated](https://github.com/JetBrains/intellij-community/tree/master/platform/util/src/com/intellij/util/xmlb/annotations) private fields and bean properties into an XML format. The following types of values can be persisted:
|
||||
The implementation of `PersistentStateComponent` works by serializing public fields, [annotated](upsource:///platform/util/src/com/intellij/util/xmlb/annotations) private fields and bean properties into an XML format. The following types of values can be persisted:
|
||||
|
||||
* numbers (both primitive types, such as `int`, and boxed types, such as `Integer`)
|
||||
* booleans
|
||||
|
@ -29,7 +29,7 @@ The interface can return the prefix for the line comment, and the prefix and suf
|
||||
|
||||
**Example:**
|
||||
[Commenter](upsource:///plugins/properties/properties-psi-impl/src/com/intellij/lang/properties/PropertiesCommenter.java)
|
||||
for [Properties language plugin](https://github.com/JetBrains/intellij-community/tree/master/plugins/properties/)
|
||||
for [Properties language plugin](upsource:///plugins/properties/)
|
||||
|
||||
|
||||
To support smart/semantic *Join Lines* see
|
||||
|
@ -21,7 +21,7 @@ provides better performance (because of its support for incremental analysis) an
|
||||
A
|
||||
[simple inspection](upsource:///plugins/properties/properties-psi-impl/src/com/intellij/codeInspection/TrailingSpacesInPropertyInspection.java)
|
||||
for
|
||||
[Properties language plugin](https://github.com/JetBrains/intellij-community/tree/master/plugins/properties/)
|
||||
[Properties language plugin](upsource:///plugins/properties/)
|
||||
|
||||
|
||||
The code intentions for custom languages also use the regular API for intentions.
|
||||
|
@ -11,7 +11,7 @@ A standard base class for such implementations is available in the class
|
||||
**Example**:
|
||||
[DocumentationProvider](upsource:///plugins/properties/src/com/intellij/lang/properties/PropertiesDocumentationProvider.java)
|
||||
for
|
||||
[Properties language plugin](https://github.com/JetBrains/intellij-community/tree/master/plugins/properties/)
|
||||
[Properties language plugin](upsource:///plugins/properties/)
|
||||
|
||||
|
||||
The `getQuickNavigateInfo()` method returns the text to be displayed when the user holds the mouse over an element with `Ctrl` pressed.
|
||||
|
@ -15,7 +15,7 @@ interfaces.
|
||||
Implementation of
|
||||
[FindUsagesProvider](upsource:///plugins/properties/properties-psi-impl/src/com/intellij/lang/properties/findUsages/PropertiesFindUsagesProvider.java)
|
||||
in
|
||||
[Properties language plugin](https://github.com/JetBrains/intellij-community/tree/master/plugins/properties/)
|
||||
[Properties language plugin](upsource:///plugins/properties/)
|
||||
|
||||
|
||||
The steps of the `Find Usages` action are the following:
|
||||
@ -83,4 +83,4 @@ passed to the provider in this case will be an instance of
|
||||
**Example:**
|
||||
[ElementDescriptionProvider](upsource:///plugins/properties/src/com/intellij/lang/properties/PropertiesDescriptionProvider.java)
|
||||
for
|
||||
[Properties language plugin](https://github.com/JetBrains/intellij-community/tree/master/plugins/properties/)
|
||||
[Properties language plugin](upsource:///plugins/properties/)
|
||||
|
@ -69,7 +69,7 @@ Lexers must never abort prematurely because of an invalid character.
|
||||
**Example**:
|
||||
[Lexer](upsource:///plugins/properties/src/com/intellij/lang/properties/parsing/Properties.flex)
|
||||
definition for
|
||||
[Properties language plugin](https://github.com/JetBrains/intellij-community/tree/master/plugins/properties)
|
||||
[Properties language plugin](upsource:///plugins/properties)
|
||||
|
||||
|
||||
Types of tokens for lexers are defined by instances of
|
||||
@ -88,7 +88,7 @@ instance should be returned every time a particular token type is encountered by
|
||||
**Example:**
|
||||
[Token types](upsource:///plugins/properties/properties-psi-api/src/com/intellij/lang/properties/parsing/PropertiesTokenTypes.java)
|
||||
for
|
||||
[Properties language plugin](https://github.com/JetBrains/intellij-community/tree/master/plugins/properties)
|
||||
[Properties language plugin](upsource:///plugins/properties)
|
||||
|
||||
|
||||
An important feature which can be implemented at lexer level is mixing languages within a file, for example, embedding fragments of Java code in some template language.
|
||||
|
@ -33,7 +33,7 @@ method.
|
||||
**Example**:
|
||||
[ParserDefinition](upsource:///plugins/properties/properties-psi-impl/src/com/intellij/lang/properties/parsing/PropertiesParserDefinition.java)
|
||||
for
|
||||
[Properties language plugin](https://github.com/JetBrains/intellij-community/tree/master/plugins/properties)
|
||||
[Properties language plugin](upsource:///plugins/properties)
|
||||
|
||||
|
||||
The lifecycle of the PSI is described in more detail in
|
||||
|
@ -28,7 +28,7 @@ The latter method can be implemented by calling `resolve()` and comparing the re
|
||||
**Example**:
|
||||
[Reference](upsource:///plugins/properties/src/com/intellij/lang/properties/ResourceBundleReference.java)
|
||||
to a ResourceBundle in the
|
||||
[Properties language plugin](https://github.com/JetBrains/intellij-community/tree/master/plugins/properties)
|
||||
[Properties language plugin](upsource:///plugins/properties)
|
||||
|
||||
|
||||
There's a set of interfaces which can be used as a base for implementing resolve support, namely the
|
||||
|
@ -18,7 +18,7 @@ Thus, surprisingly, the easiest way to get the replacement node is to create a d
|
||||
**Example:**
|
||||
[setName()](upsource:///plugins/properties/properties-psi-impl/src/com/intellij/lang/properties/psi/impl/PropertyImpl.java)<!--#L58-->
|
||||
implementation for a
|
||||
[Properties language plugin](https://github.com/JetBrains/intellij-community/tree/master/plugins/properties)
|
||||
[Properties language plugin](upsource:///plugins/properties)
|
||||
|
||||
|
||||
Another interface related to the Rename refactoring is
|
||||
@ -32,7 +32,7 @@ are registered in the `com.intellij.lang.namesValidator` extension point.
|
||||
**Example**:
|
||||
[NamesValidator](upsource:///plugins/properties/src/com/intellij/lang/properties/PropertiesNamesValidator.java)
|
||||
for
|
||||
[Properties language plugin](https://github.com/JetBrains/intellij-community/tree/master/plugins/properties)
|
||||
[Properties language plugin](upsource:///plugins/properties)
|
||||
|
||||
|
||||
Further customization of the Rename refactoring processing is possible on multiple levels.
|
||||
@ -45,7 +45,7 @@ at all.
|
||||
**Example**:
|
||||
[RenameHandler](upsource:///plugins/properties/src/com/intellij/lang/properties/refactoring/rename/ResourceBundleFromEditorRenameHandler.java)
|
||||
for renaming a resource bundle in the
|
||||
[Properties language plugin](https://github.com/JetBrains/intellij-community/tree/master/plugins/properties)
|
||||
[Properties language plugin](upsource:///plugins/properties)
|
||||
|
||||
|
||||
If you're fine with the standard UI but need to extend the default logic of renaming, you can provide an implementation of the
|
||||
@ -66,4 +66,4 @@ This allows you to:
|
||||
**Example**:
|
||||
[RenamePsiElementProcessor](upsource:///plugins/properties/src/com/intellij/lang/properties/refactoring/rename/RenamePropertyProcessor.java)
|
||||
for renaming a property in
|
||||
[Properties plugin language](https://github.com/JetBrains/intellij-community/tree/master/plugins/properties)
|
||||
[Properties plugin language](upsource:///plugins/properties)
|
||||
|
@ -21,7 +21,7 @@ In addition to that, in order to support `Safe Delete`, a plugin needs to implem
|
||||
**Example:**
|
||||
[delete()](upsource:///plugins/properties/properties-psi-impl/src/com/intellij/lang/properties/psi/impl/PropertyImpl.java)<!--#L363-->
|
||||
implementation for a
|
||||
[Property language plugin](https://github.com/JetBrains/intellij-community/tree/master/plugins/properties/)
|
||||
[Property language plugin](upsource:///plugins/properties/)
|
||||
|
||||
|
||||
If needed, it's possible to further customize how Safe Delete is performed for a particular type of element (how references are searched, etc).
|
||||
@ -31,4 +31,4 @@ This is done by implementing the `SafeDeleteProcessorDelegate` interface.
|
||||
**Example**:
|
||||
[SafeDeleteProcessorDelegate](upsource:///plugins/properties/src/com/intellij/lang/properties/refactoring/PropertiesFilesSafeDeleteProcessor.java)
|
||||
implementation for
|
||||
[Properties language plugin](https://github.com/JetBrains/intellij-community/tree/master/plugins/properties)
|
||||
[Properties language plugin](upsource:///plugins/properties)
|
||||
|
@ -17,7 +17,7 @@ interface, which is registered in the `com.intellij.lang.psiStructureViewFactory
|
||||
**Example:**
|
||||
[PsiStructureViewFactory](upsource:///plugins/properties/src/com/intellij/lang/properties/structureView/PropertiesStructureViewBuilderFactory.java)
|
||||
for
|
||||
[Properties language plugin](https://github.com/JetBrains/intellij-community/tree/master/plugins/properties)
|
||||
[Properties language plugin](upsource:///plugins/properties)
|
||||
|
||||
|
||||
To reuse the *IntelliJ Platform* implementation of the
|
||||
@ -34,7 +34,7 @@ and by overriding methods of this subclass it customizes the structure view for
|
||||
**Example**:
|
||||
[StructureViewModel](upsource:///plugins/properties/properties-psi-impl/src/com/intellij/lang/properties/structureView/PropertiesFileStructureViewModel.java)
|
||||
for
|
||||
[Properties language plugin](https://github.com/JetBrains/intellij-community/tree/master/plugins/properties)
|
||||
[Properties language plugin](upsource:///plugins/properties)
|
||||
|
||||
|
||||
The main method to override is `getRoot()`, which returns the instance of a class implementing the
|
||||
@ -54,4 +54,4 @@ The latter method returns an array of `PsiElement`\-derived classes which can be
|
||||
**Example:**
|
||||
[StructureViewElement](upsource:///plugins/properties/properties-psi-impl/src/com/intellij/lang/properties/structureView/PropertiesStructureViewElement.java)
|
||||
for
|
||||
[Properties language plugin](https://github.com/JetBrains/intellij-community/tree/master/plugins/properties/)
|
||||
[Properties language plugin](upsource:///plugins/properties/)
|
||||
|
@ -40,7 +40,7 @@ can be used.
|
||||
**Example:**
|
||||
[SyntaxHighlighter](upsource:///plugins/properties/properties-psi-api/src/com/intellij/lang/properties/PropertiesHighlighter.java)
|
||||
implementation for
|
||||
[Properties language plugin](https://github.com/JetBrains/intellij-community/tree/master/plugins/properties/)
|
||||
[Properties language plugin](upsource:///plugins/properties/)
|
||||
|
||||
|
||||
### Parser
|
||||
@ -75,7 +75,7 @@ to specify the text attributes key for the highlighting.
|
||||
**Example:**
|
||||
[Annotator](upsource:///plugins/properties/properties-psi-impl/src/com/intellij/lang/properties/PropertiesAnnotator.java)
|
||||
for
|
||||
[Properties language plugin](https://github.com/JetBrains/intellij-community/tree/master/plugins/properties/)
|
||||
[Properties language plugin](upsource:///plugins/properties/)
|
||||
|
||||
|
||||
### External tool
|
||||
@ -100,6 +100,6 @@ and register it in the `com.intellij.colorSettingsPage` extension point.
|
||||
**Example**:
|
||||
[ColorSettingsPage](upsource:///plugins/properties/src/com/intellij/openapi/options/colors/pages/PropertiesColorsPage.java)
|
||||
for
|
||||
[Properties language plugin](https://github.com/JetBrains/intellij-community/tree/master/plugins/properties/)
|
||||
[Properties language plugin](upsource:///plugins/properties/)
|
||||
|
||||
The `Export to HTML` feature uses the same syntax highlighting mechanism as the editor, so it will work automatically for custom languages which provide a syntax highlighter.
|
||||
|
@ -532,8 +532,8 @@ Thank you for your time and attention. We hope you've found this article really
|
||||
The following bundled open source plugins make (heavy) use of DOM:
|
||||
|
||||
- [Android](http://git.jetbrains.org/?p=idea/android.git;a=tree;f=android;;hb=HEAD)
|
||||
- [Ant](https://github.com/JetBrains/intellij-community/tree/master/plugins/ant)
|
||||
- [Plugin DevKit](https://github.com/JetBrains/intellij-community/tree/master/plugins/devkit)
|
||||
- [Maven](https://github.com/JetBrains/intellij-community/tree/master/plugins/maven)
|
||||
- [Ant](upsource:///plugins/ant)
|
||||
- [Plugin DevKit](upsource:///plugins/devkit)
|
||||
- [Maven](upsource:///plugins/maven)
|
||||
- [Struts 2](https://github.com/JetBrains/intellij-plugins/tree/master/struts2) (Ultimate Edition)
|
||||
|
||||
|
@ -15,7 +15,7 @@ For more information about libraries, refer to
|
||||
## Accessing Libraries and Jars
|
||||
|
||||
Package
|
||||
[libraries](https://github.com/JetBrains/intellij-community/tree/master/platform/projectModel-api/src/com/intellij/openapi/roots/libraries)
|
||||
[libraries](upsource:///platform/projectModel-api/src/com/intellij/openapi/roots/libraries)
|
||||
provides functionality for working with project libraries and jars.
|
||||
Libraries and jars can be retrieved like the following snippet shows
|
||||
|
||||
|
@ -12,7 +12,7 @@ For file based format projects, the information core to the project itself (e.g.
|
||||
|
||||
For directory based format projects, the project and workspace settings are stored in a number of XML files under the `%project_home_directory%/.idea` directory. Each XML file is responsible for its own set of settings and can be recognized by its name: `projectCodeStyle.xml`, `encodings.xml`, `vcs.xml` etc. As for the file-based format projects, `.iml` files describe modules.
|
||||
|
||||
Main classes providing work with the project model are located in the package [projectModel-api.openapi](https://github.com/JetBrains/intellij-community/tree/master/platform/projectModel-api/src/com/intellij/openapi). Basic API classes and interfaces for the concepts of [project](upsource:///platform/core-api/src/com/intellij/openapi/project/Project.java), [module](upsource:///platform/core-api/src/com/intellij/openapi/module/Module.java), [application](upsource:///platform/core-api/src/com/intellij/openapi/application/Application.java), and [component](upsource:///platform/core-api/src/com/intellij/openapi/components/ProjectComponent.java) are placed in the [core-api.openapi](https://github.com/JetBrains/intellij-community/tree/master/platform/core-api/src/com/intellij/openapi) package.
|
||||
Main classes providing work with the project model are located in the package [projectModel-api.openapi](upsource:///platform/projectModel-api/src/com/intellij/openapi). Basic API classes and interfaces for the concepts of [project](upsource:///platform/core-api/src/com/intellij/openapi/project/Project.java), [module](upsource:///platform/core-api/src/com/intellij/openapi/module/Module.java), [application](upsource:///platform/core-api/src/com/intellij/openapi/application/Application.java), and [component](upsource:///platform/core-api/src/com/intellij/openapi/components/ProjectComponent.java) are placed in the [core-api.openapi](upsource:///platform/core-api/src/com/intellij/openapi) package.
|
||||
|
||||
### Finding source roots
|
||||
|
||||
@ -42,6 +42,6 @@ VirtualFile moduleContentRoot = ProjectRootManager.getInstance(project).getFileI
|
||||
|
||||
## Changing the project structure
|
||||
|
||||
Utility classes which can be used for modifying a project structure can be found in the package [projectModel-impl.openapi](https://github.com/JetBrains/intellij-community/tree/master/platform/projectModel-impl/src/com/intellij/openapi). It's [roots](https://github.com/JetBrains/intellij-community/tree/master/platform/projectModel-impl/src/com/intellij/openapi/roots/) subpackage contains instances and utilities meant to work with project and module source roots, including [ModuleRootModificationUtil.java](upsource:///platform/projectModel-api/src/com/intellij/openapi/roots/ModuleRootModificationUtil.java) and [ProjectRootUtil.java](upsource:///platform/projectModel-impl/src/com/intellij/openapi/projectRoots/impl/ProjectRootUtil.java).
|
||||
Utility classes which can be used for modifying a project structure can be found in the package [projectModel-impl.openapi](upsource:///platform/projectModel-impl/src/com/intellij/openapi). It's [roots](upsource:///platform/projectModel-impl/src/com/intellij/openapi/roots/) subpackage contains instances and utilities meant to work with project and module source roots, including [ModuleRootModificationUtil.java](upsource:///platform/projectModel-api/src/com/intellij/openapi/roots/ModuleRootModificationUtil.java) and [ProjectRootUtil.java](upsource:///platform/projectModel-impl/src/com/intellij/openapi/projectRoots/impl/ProjectRootUtil.java).
|
||||
|
||||
Refer to the [basic example](https://github.com/JetBrains/intellij-sdk-docs/blob/master/code_samples/project_model/src/com/intellij/tutorials/project/model/ModificationAction.java) of on-the-fly project structure modification to learn how it can be implemented.
|
||||
|
@ -17,7 +17,7 @@ New module type should be derived from the class
|
||||
## Project Wizard
|
||||
|
||||
Main utilities to configure a custom project wizard can be found in the package
|
||||
[lang-api.ide.util.projectWizard](https://github.com/JetBrains/intellij-community/tree/master/platform/lang-api/src/com/intellij/ide/util/projectWizard).
|
||||
[lang-api.ide.util.projectWizard](upsource:///platform/lang-api/src/com/intellij/ide/util/projectWizard).
|
||||
These classes and interfaces serve the following purposes:
|
||||
|
||||
* Modification of the configuration wizard view
|
||||
|
@ -20,7 +20,7 @@ If you need to access PSI please see
|
||||
section.
|
||||
|
||||
**See also:**
|
||||
[editor-ui-api package](https://github.com/JetBrains/intellij-community/tree/master/platform/editor-ui-api),
|
||||
[editor-ui-api package](upsource:///platform/editor-ui-api),
|
||||
[Editor.java](upsource:///platform/editor-ui-api/src/com/intellij/openapi/editor/Editor.java),
|
||||
[EditorImpl.java](upsource:///platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorImpl.java).
|
||||
[CommonDataKeys.java](upsource:///platform/editor-ui-api/src/com/intellij/openapi/actionSystem/CommonDataKeys.java),
|
||||
|
@ -116,9 +116,9 @@ public class EditorIllustration extends AnAction {
|
||||
**Note:**
|
||||
Editor allows to access different models of text representation.
|
||||
Model classes are located in
|
||||
[editor](https://github.com/JetBrains/intellij-community/tree/master/platform/editor-ui-api/src/com/intellij/openapi/editor)
|
||||
[editor](upsource:///platform/editor-ui-api/src/com/intellij/openapi/editor)
|
||||
subpackage of the
|
||||
[editor-ui-api](https://github.com/JetBrains/intellij-community/tree/master/platform/editor-ui-api)
|
||||
[editor-ui-api](upsource:///platform/editor-ui-api)
|
||||
package and include:
|
||||
|
||||
* [CaretModel.java](upsource:///platform/editor-ui-api/src/com/intellij/openapi/editor/CaretModel.java),
|
||||
|
@ -14,4 +14,4 @@ Configuring Project Wizard automatically allows you to do the following:
|
||||
**Note:**
|
||||
|
||||
Main utilities to configure a custom project wizard can be found in the package
|
||||
[lang-api.ide.util.projectWizard](https://github.com/JetBrains/intellij-community/tree/master/platform/lang-api/src/com/intellij/ide/util/projectWizard).
|
||||
[lang-api.ide.util.projectWizard](upsource:///platform/lang-api/src/com/intellij/ide/util/projectWizard).
|
||||
|
Loading…
x
Reference in New Issue
Block a user