前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >让live-templet活起来

让live-templet活起来

原创
作者头像
黄希彤
修改于 2022-09-02 07:17:39
修改于 2022-09-02 07:17:39
54400
代码可运行
举报
文章被收录于专栏:黄希彤的专栏黄希彤的专栏
运行总次数:0
代码可运行

众所周知Jetbrains的代码片段live-templet其实并不怎么live,编写完了以后就一直放在那儿,直到下次更新它。

虽然官方说可以用“Add Read-Only source”功能让live-templet与远程的只读源同步,实际上只读源的功能一直都不稳定,官方论坛吐槽也很多,然后file-templet和live-templet的远程同步功能似乎也并不可用。

所以如果需要一个可以更服务器同步,团队内组织内共享的活的live-templet库,要么去买一些收费的插件比如cacher,要么就要自己通过Completion Contributor来模拟lve-templet。扒拉了一下文档,简单来说大概要这么做:

1 到github上下载插件模板工程到本地,用IDEA打开。readme里面要求安装的plugins也都安装上。

2 在src/main/kotlin下面创建自己的package和kotlin class,比如 com.github.myname.myplugin.completion.contributors 和 MyCompletionContributor.kt

3 到 src/main/resources/META-INF/plugin.xml 里的extensions里面添加completion.contributor段,把上一步的class注册到IDE里面,比如

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<completion.contributor language="any" implementationClass="com.github.myname.myplugin.completion.contributors.MyCompletionContributor"></completion.contributor>

4 在MyCompletionContributor里面override 掉 fillCompletionVariants 方法,大概像这样

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
package com.github.myname.myplugin.completion.contributors
import com.intellij.codeInsight.completion.*
import com.intellij.codeInsight.lookup.LookupElementBuilder

open class MyCompletionContributor() : CompletionContributor() {
    override fun fillCompletionVariants(parameters: CompletionParameters, result: CompletionResultSet) {
        println(parameters.editor.document.text)
        result.addElement(LookupElementBuilder.create("random suggestion1 " + Math.random().toString()))
        result.addElement(LookupElementBuilder.create("random suggestion2 " + Math.random().toString()))
        result.addElement(LookupElementBuilder.create("random suggestion3 " + Math.random().toString()))
        result.addLookupAdvertisement("只是一个测试而已")
    }
}

5 拉下 help 菜单搜索 gradle,打开gradle窗口,选择 Run Plugin

新开一个文件验证一下,已经可以实时动态生成随机推荐了。

在这个功能的基础上做了一个IDEA插件,可以按需生成推荐代码模板:

https://snippets.sou.ac.cn/plugin/idea_plugin.html

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Centos7安装k8s集群1.15.0版本
apiVersion: v1 kind: ServiceAccount metadata: name: dashboard namespace: kube-system --- kind: ClusterRoleBinding apiVersion: rbac.authorization.k8s.io/v1beta1 metadata: name: dashboard subjects: - kind: ServiceAccount name: dashboard namespace: kube-system roleRef: kind: ClusterRole name: cluster-admin apiGroup: rbac.authorization.k8s.io
kinnylee
2020/10/15
1.9K0
Centos7安装k8s集群1.15.0版本
CentOS7系统上Kubernetes集群搭建
在自己的Mac系统里面利用Parallels Desktop创建3台虚拟机,具体信息如下:
chengcheng222e
2021/11/04
1.8K0
手把手教你在CentOS上搭建Kubernetes集群
作者:ChamPly 安装CentOS 1.安装net-tools [root@localhost ~]# yum install -y net-tools 2.关闭firewalld [root@localhost ~]# systemctl stop firewalld && systemctl disable firewalld Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service. Removed
小小科
2018/05/04
1.9K1
kubernetes炼气期之k8s平台快速搭建
环境说明 功能名称 IP 配置 k8s-master 192.168.10.231 4c8g k8s-node1 192.168.10.232 8c16g K8s-node2 192.168.10.233 8c16g k8s-node3 192.168.10.234 8c16g k8s-node4 192.168.10.235 8c16g 环境初始化 更新环境 yum update -y yum install -y wget vim net-tools epel-release 关闭filewal
公众号: 云原生生态圈
2020/06/15
5380
ASP.NET Core on K8S深入学习(1)K8S基础知识与集群搭建
在上一个小系列文章《ASP.NET Core on K8S学习初探》中,通过在Windows上通过Docker for Windows搭建了一个单节点的K8S环境,并初步尝试将ASP.NET Core WebAPI项目部署到了K8S,把玩了一下快速部署和实例伸缩。这个系列开始,会继续学习K8S以及在Linux上搭建集群来深入把玩。本篇会回顾一下K8S的基本概念以及架构组成,然后会通过Kubeadm快速地搭建一个K8S集群供后续学习把玩之用。
Edison Zhou
2019/08/01
9610
ASP.NET Core on K8S深入学习(1)K8S基础知识与集群搭建
Step By Step To Learn Kubernetes Series
flannel借助etcd内的路由表实现k8s集群节点上的每个Pod能相互的通信。
公众号: 云原生生态圈
2021/11/15
4280
附016.Kubernetes_v1.17.4高可用部署
Kubernetes的高可用主要指的是控制平面的高可用,即指多套Master节点组件和Etcd组件,工作节点通过负载均衡连接到各Master。HA有通常有如下两种架构:
木二
2020/06/18
9510
附016.Kubernetes_v1.17.4高可用部署
kubernetes v1.16.0 部署实践
和以往一样,记录一下kubernetes的部署过程;环境采用Centos7.6版本
公众号: 云原生生态圈
2021/11/15
2590
企业实战(19)基于Kubeadm工具从零开始快速部署K8S集群
1.Cluster 集群   计算、存储和网络资源的集合,Kubernetes利用这些资源运行各种基于容器的应用。
非著名运维
2022/06/22
6260
企业实战(19)基于Kubeadm工具从零开始快速部署K8S集群
部署k8s集群(k8s集群搭建详细实践版)
Kubeadm是一个K8s部署工具,提供kubeadm init和kubeadm join,用于快速部署Kubernetes集群。
zjiekou
2022/11/12
23.2K5
K8S 之 kubeadm 安装
Kubeadm 是一个工具,它提供了 kubeadm init 以及 kubeadm join 这两个命令作为快速创建 kubernetes 集群的最佳实践。
YP小站
2020/06/04
1.6K0
【Kubernetes】10分钟部署一套K8S集群(kubeadm)
TIPS:需要在所有集群机器上执行的命令,可以用XSHELL的发送命令到所有会话,提高部署效率
Hanzo
2020/08/05
16.6K4
【Kubernetes】10分钟部署一套K8S集群(kubeadm)
kubeadm安装kubernetes V1.11.1 集群
如果想要用二进制方法安装最新版本的Docker,可以参考我之前的文章在Redhat 7.3中采用离线方式安装Docker
大江小浪
2018/07/25
1.5K0
kubeadm安装kubernetes V1.11.1 集群
战士上战场,还不会部署kubernetes集群?
想要告诉你,kubernetes的搭建并不难,动手试试!战士上战场,还不会部署kubernetes集群怎么行!本文用kubeadm进行集群初始化。
酒馆丁老师
2020/09/08
1.3K2
Create you course K8s cluster-创建课程所需的k8s集群
线上跑的是自建的集群搭建方式详见:https://duiniwukenaihe.github.io/2020/07/22/tencent-slb-kubeadm-ha/(跑了两个集群,其实还是跑的1.16版本,只进行了小版本升级现为1.16.15版本)
对你无可奈何
2021/02/01
7021
【Kubernetes】10分钟部署一套K8S集群(kubeadm)
TIPS:需要在所有集群机器上执行的命令,可以用XSHELL的发送命令到所有会话,提高部署效率
用户4473763
2022/09/25
6710
kubeadm快速部署kubernetes集群
Kubernetes默认CRI(容器运行时)为Docker,因此先安装Docker。
Cyylog
2020/08/19
4860
k8s集群搭建
访问:https://集群任意 IP:端口 (https://139.198.165.238:32323)
OY
2023/02/23
1.1K0
k8s集群搭建
不背锅运维:搭不起来我赔钱给你:分享Ubuntu20和Centos7中使用kubeadm搭建k8s集群。
取消注释,并修改成与前面kubeadm init的 --pod-network-cidr(10.244.0.0/16)指定的一样。
不背锅运维
2022/12/20
9730
搭建Kubernetes集群基于calico网络插件
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/101822.html原文链接:
全栈程序员站长
2021/06/10
1.1K0
搭建Kubernetes集群基于calico网络插件
推荐阅读
相关推荐
Centos7安装k8s集群1.15.0版本
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验