idea插件开发-自定义语言00-开发导航

news/2024/5/20 1:39:27 标签: intellij-idea, java, ide, gradle

 源码

Initial Setup(初始化设置)

  • ​​Registering a File Type​​​ :注册文件类型要实现一个自定义的语言必须要实现的,​​示例代码​​
  • ​​Implementing Lexer实现​​ :实现编程语言的语法分析器,​​示例代码​​
  • ​​Implementing Parser and PSI​​​:实现一个词法分析器,​​示例代码 ​​​​示例代码工具类​​
  • ​​Syntax and Error Highlighting​​:语法和高亮显示提供功能,​​示例代码​​

Resolving and Completion(解决和代码完成)

  • ​​References and Resolve​​:元素引用相关,​​示例代码​​
  • ​​Symbols​​:符号,主要实现的是html相关的符号,用处不大,示例代码
  • ​​Declarations and References​​:声明和引用,比较重要是重构的基础,示例代码
  • ​​Navigation​​:最上面的面包屑功能,示例代码
  • ​​Code Completion​​:代码自动完成

Refactoring(重构)

  • ​​Find Usages​​,查找元素被引用的地方,​​示例代码​​
  • ​​Rename Refactoring​​,重命名,​​示例代码​​
  • ​​Safe Delete Refactoring​​,安全删除元素,

Editor and IDE Features(IDE和编码功能)

  • ​​Code Formatter​​,代码格式化,​​示例代码​​
  • ​​Code Inspections and Intentions​​,快速修复等功能的实现,​​示例代码​​
  • ​​Structure View​​:代码结构视图,​​示例代码​​
  • ​​Navigation Bar​​:导航栏,​​代码示例​​
  • Code Hierarchy
  • ​​Surround With​​
  • ​​Go to Class and Go to Symbol​​:转到变量的声明处,​​示例代码​​
  • ​​Documentation​​:代码中提示文档,​​示例代码​​
  • ​​Parameter Info​​:编程时提示参数信息,
  • ​​Inlay Hints​​
  • ​​Spell Checking​​:代码拼写检查功能,​​示例代码​​
  • ​​Additional Minor Features​​:其它功能


http://www.niftyadmin.cn/n/4941973.html

相关文章

RocketMQ双主双从同步集群部署

🎈 作者:互联网-小啊宇 🎈 简介: CSDN 运维领域创作者、阿里云专家博主。目前从事 Kubernetes运维相关工作,擅长Linux系统运维、开源监控软件维护、Kubernetes容器技术、CI/CD持续集成、自动化运维、开源软件部署维护…

飞天使-jenkins进行远程linux机器修改某个文件的思路

文章目录 jenkins配置的方式jenkins中执行shell的思路 jenkins配置的方式 jenkins中执行shell的思路 下面的脚本别照抄,只是一个思路 ipall"$ips"# 将文本参数按行输出为变量 while IFS read -r line; doecho "$line" if [[ ! -z $line ]] &…

vue3.0组件通信

1、props 没有加TS限制类型的时候 1. 数组写法 defineProps([count, changCount]) 2. 对象写法 defineProps({count: Number,changCount: Function }) 3. 配置对象 defineProps({count: {type: Number,default: 2},changCount: {type: Function,required: true} })注意: defi…

Android 广播发送流程分析

在上一篇文章中Android 广播阻塞、延迟问题分析方法讲了广播阻塞的分析方法,但是分析完这个问题,自己还是有一些疑问: 广播为啥会阻塞呢?发送给接收器就行了,为啥还要等着接收器处理完才处理下一个?由普通…

linux安装mysql-8.0.33正确方式及常见问题

目录 获取mysql下载地址链接 解压安装包 复制文件到安装目录 添加用户和用户属组修改权限 创建存储数据的文件夹/usr/local/mysql 初始化安装 修改配置文件 创建日志文件并赋予对应权限 启动成功​编辑 创建软链接 之前安装过mysql,时间比较长忘记安装步骤了今天…

使用插件实现pdf,word预览功能

效果 代码&#xff1a; 插件地址&#xff1a; https://github.com/501351981/vue-office <a-modalv-model:visible"visible":title"title"ok"handleOk":bodyStyle"bodyStyle":width"1200":maskClosable"false"…

get与post如何拼接url与数据的灵活处理,循环的重要性。

get与post拼接url地址不同&#xff1a; let postData {method: "post",data: {op: "/api/setting/maintenanceperiod?period"this.authorizationCode,loadingConfig: {},data: {period:this.authorizationCode}}}; if(this.editData.id){let postData …

mysql-5.5.62-win32安装与使用

1.为啥是这个版本而不是当前最新的8.0&#xff1f; 因为我要用32位。目前mysql支持win32的版本最新只到5.7.33。 首先&#xff0c;到官网MySQL :: MySQL Downloads 然后选 选一个自己喜欢的版本就好。我这里是如标题版本。下载32位的zip。然后回来解压。 完了创建系统环境变…