个人简介

Echo Blog


江湖无名 安心练剑
  • Idea Plugin Dev-19-01-Product Specific
    Plugins Targeting IntelliJ Platform-Based IDEs 只要产品基于 IntelliJ 平台,插件项目就可以针对 IntelliJ IDEA 以外的 IDE。 此类插件的开发很像针对 IntelliJ IDEA 的插件项目。 它们可以用 Kotlin 或 Java 或两者的混合编写。 完成后,插件可以打包并在 JetBrains Marketpl...
    2017-10-13 02:24:52 | Java
  • Idea Plugin Dev-18-01-Custom Language Support
    Custom Language Support IntelliJ Platform 是一个强大的平台,用于构建针对任何语言的开发工具。 大多数 IDE 功能由语言无关(由平台提供)和语言特定部分组成。 支持一种新语言的特定功能可以通过少量的努力来实现:插件必须只实现特定于语言的部分。 参考 文档的这一部分解释了语言 API 的主要概念,并指导您完成开发自定义语言插件通常需要的一系列...
    2017-10-13 02:24:52 | Java
  • Idea Plugin Dev-17-01-Testing Overview
    Testing Overview IntelliJ 平台代码库中的大多数测试都是模型级功能测试。 这意味着以下内容: 测试在无头环境中运行,该环境对大多数组件(许多 UI 组件除外)使用实际生产实现。 这些测试通常将功能作为一个整体进行测试,而不是对构成其实现的各个功能进行测试。 这些测试不测试 Swing UI,而是直接使用底层模型(另请参阅 UI 测试)。 大多数测试将一个源...
    2017-10-13 02:24:52 | Java
  • Idea Plugin Dev-16-04-Build System
    外部构建流程工作流程 当用户调用涉及执行外部构建(Make、Build Artifacts 等)的操作时,会发生以下步骤: 编译前任务在 IDE 进程中执行。 一些依赖于 PSI 的源代码生成任务(例如,UI 设计器表单到源代码编译)在 IDE 进程中执行。 调用 BuildTargetScopeProvider 扩展来计算外部构建的范围(根据要进行的目标模块和已知的更改集进行编译的...
    2017-10-13 02:24:52 | Java
  • Idea Plugin Dev-16-03-Project View
    装饰项目视图节点-Decorating Project View Nodes 插件作者可以修改项目视图中节点的表示。 例如,这用于更改模块节点的图标以反映模块类型或将 URL 和服务器路径添加到 Python Jupyter 目录作为位置字符串。 要修改项目视图节点表示,请实施 ProjectViewNodeDecorator 并将其注册为 com.intellij.projectVi...
    2017-10-13 02:24:52 | Java
  • Idea Plugin Dev-16-02-Analyzing
    Syntax Errors IntelliJ 平台提供了一种用于分析 PSI 树和突出显示开箱即用的语法错误的机制。 在构建代码的 PSI 树时,解析器会尝试根据语言语法使用标记。 当它遇到语法错误时,如意外标记,将创建一个 PsiErrorElement 并将其添加到 PSI 树中,并附上适当的错误描述。 在代码分析守护进程中,IDE 访问树中的每个 PSI 元素,当遇到 PsiE...
    2017-10-13 02:24:52 | Java
  • Idea Plugin Dev-15-01-PsiMethod 中进一步学习
    详细介绍一下 PsiCodeBlock PsiCodeBlock 是 IDEA 插件开发中的一个接口,表示 Java 代码中的代码块,即由大括号 {} 包围的一组语句。 它是 PsiElement 接口的子接口之一,用于表示方法、构造函数、初始化块等中的代码块。 PsiCodeBlock 接口提供了许多方法来访问和处理代码块中的语句和元素。以下是一些常用的方法: PsiCode...
    2017-10-13 02:24:52 | Java
  • Idea Plugin Dev-16-01-Editing
    Postfix Completion Postfix Completion 功能允许开发人员通过在要包装、扩展或修改的表达式后键入模板缩写来使用预定义模板包装代码片段。 它使开发人员免于键入重复或重要的代码,或者有助于更快地创建代码,例如,编写代码部分并用所需的块将其包围而不向后导航插入符号通常很方便。 考虑这样一种情况,开发人员对当前的 Java 项目 API 不是很熟悉,并且不知道...
    2017-10-13 02:24:52 | Java