前往小程序,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 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
解决鸡兔同笼问题
清晰的描述本文待解决的问题是什么,是全文的重点所在,开发者在搜索文章的时候,如果问题与他契合,则会更有兴趣并完成全文的阅读。
算法与编程之美
2024/03/07
1600
解决鸡兔同笼问题
算法-穷举算法-鸡兔同笼
/** * 穷举算法 * 穷举算法是最基本的算法思想,下面通过一个简单的例子来分析穷举算法的应用。 * 鸡兔同笼问题最早记载于1500年前的《孙子算经》,这是我国古代一个非常有名的问题。鸡兔同笼的原文如下: * 今有鸡兔同笼,上有三十五头,下有九十四足,问鸡兔各几何? * 这个问题的大致意思是: * 在一个笼子里关着若干只鸡和若干只兔,从上面数共有35个头;从下面数共有94只脚。问笼中鸡和兔的数量各是多少? */ import java.util.*; public class BruteFo
joshua317
2021/03/07
7730
Python_鸡兔同笼
''' 问题:鸡兔同笼 用户输入 h f 已知:同一个笼子里 鸡兔共h只 总脚数f只 1求解 2循环枚举 '''
瑞新
2020/07/08
8050
Python实现鸡兔同笼
翻译成:现在笼子里有鸡和兔子在一起。从上面数一共有三十五个头,从下面数一共有九十四只脚,问一共有多少只鸡、多少只兔子?
不惑
2024/02/18
5680
Python实现鸡兔同笼
用python解决鸡兔同笼问题
针对鸡兔同笼的问题,提出用python条件语句的方法,经过多次条件语句的运用,最终实现计算并得出结果。
算法与编程之美
2024/01/29
3630
用python解决鸡兔同笼问题
鸡兔同笼
public static void main(String[] args) {
算法与编程之美
2023/01/03
3840
鸡兔同笼
鸡兔同笼问题新解与Python实现
问题描述:鸡兔同笼问题。假设共有鸡、兔30只,脚90只,求鸡、兔各有多少只。 传统思路,使用暴力测试来枚举所有可能。 for ji in range(0, 31): if 2*ji + (30-ji)*4 == 90: print('ji:', ji, ' tu:', 30-ji) 但实际上不需要这么麻烦,我们换个角度来看这个问题:所有鸡、兔听口令,抬起一条腿!再抬起一条腿!现在所有的鸡都目瞪口呆地坐地上了(难道这就是传说中的呆若木鸡?),站着的都是还有两条腿站立的兔子(兔子表示压力也很大),这时站立着
Python小屋屋主
2018/04/16
1.2K0
99%的人都不知道的鸡兔同笼解法!
“鸡兔同笼问题”是我国古算书《孙子算经》中著名的数学问题,其内容是:“今有雉(鸡)兔同笼,上有三十五头,下有九十四足。问雉兔各几何。”
Python小屋屋主
2019/05/05
3.5K0
99%的人都不知道的鸡兔同笼解法!
【每周一坑】图像的指纹:数字水印 + 【解答】鸡兔同笼
曾经有过这样的新闻:某公司的员工将内网论坛上的言论截屏发布到互联网上,引发了热议。于是公司通过截图定位到了员工的身份,将其开除。
Crossin先生
2018/09/30
1.2K0
【每周一坑】图像的指纹:数字水印 + 【解答】鸡兔同笼
万字肝货 | 讲述Python在 "高中信息技术" 中的6大应用问题!
“鸡兔同笼”最早记载于1500多年前的中国古代数学著作《孙子算经》中的“卷下”第31题(后传至日本演变为“鹤龟算”),原题为:“今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?”意思是“鸡和兔的总头数是35,总脚数是94,鸡和兔各有几只?”。
快学Python
2021/08/09
3K0
【C语言程序设计——循环程序设计】鸡兔同笼问题(头歌实践教学平台习题)【合集】
基本原理:for循环是一种常用的循环结构,它允许您指定一个初始化表达式、一个循环条件和一个更新表达式。语法格式为for(初始化表达式; 循环条件; 更新表达式)。初始化表达式在循环开始时执行一次,用于初始化循环变量。循环条件在每次循环迭代开始时进行检查,如果为真,则执行循环体中的代码。更新表达式在每次循环体执行完后执行,用于更新循环变量。
Rossy Yan
2025/05/31
750
【C语言程序设计——循环程序设计】鸡兔同笼问题(头歌实践教学平台习题)【合集】
【每周一坑】鸡兔同笼 +【解答】房贷计算器
附加题:输入头数 m 和脚数 n,输出鸡的数量 c 和兔子的数量 r,或提示无解。
Crossin先生
2018/08/20
6770
【每周一坑】鸡兔同笼 +【解答】房贷计算器
原生JS | 当兔子遇到鸡
HTML5学堂-码匠:当兔子遇到鸡,会怎样呢?先别急,看个小视频~ 视频内容 当兔子遇到鸡 —— 不要害怕和别人不一样,在这个世界上,你就是独一无二的自己! 不知道有多少程序在看到这个小视频的时候,想到的不是“复活节”彩蛋,而是“鸡兔同笼问题”…… 如果你想到的是“鸡兔同笼”,那么恭喜你,至少你不是一个人……(表示看到兔子从蛋里钻出来的时候,竟然完全没有怀疑 )。 鸡兔同笼问题 鸡兔同笼-起源 “鸡兔同笼问题”是我国古算书《孙子算经》中著名的数学问题,其内容是:“今有雉(鸡)兔同笼,上有三十五头,下有九十四
HTML5学堂
2018/03/13
2.2K0
原生JS | 当兔子遇到鸡
Python之枚举法详解
要想遍历一串连续的数字,可以使用 for 变量 in range(): 的方式,在range()的括号中设置遍历的起始值和结束值。 【注意】 结束值是取不到的哦!
楚客追梦
2022/12/02
2.1K0
Python之枚举法详解
鸡兔同笼终于可以靠「猜」了!佐治亚理工学者求解新方法获顶会最佳论文奖
这是《孙子算经》中鸡兔同笼问题的经典描述。我们知道,二元一次方程组可以解决这个问题。求解线性系统有矩阵乘法等多种方法,但或许你不知道,靠「猜」也是可以的。
机器之心
2021/03/15
7140
鸡兔同笼终于可以靠「猜」了!佐治亚理工学者求解新方法获顶会最佳论文奖
Python学习-01-初始Python
编译型语言在程序执行之前,有一个单独的编译过程,将程序翻译成机器语言,以后执行这个程序的时候,就不用再进行翻译了。
全栈程序员站长
2022/09/08
6320
华人学者彭泱获顶会最佳论文奖:如何最快求解“诺亚方舟上的鸡兔同笼问题”?靠“猜”
但是,近日,来自佐治亚理工学院的华人学者彭泱(Richard Peng)却凭借“迭代猜测”策略,提出了一种能够更快求解线性方程组的方法,并因此获得 2021 年算法顶会 ACM-SIAM 的最佳论文奖!
AI科技评论
2021/03/11
8980
C#实例练习3:程序流程控制(2)
\frac{x^{2}-3 x}{x+1}+2 \pi+\sin x & x \geqslant 0 \
小孙同学
2022/01/17
4770
C#实例练习3:程序流程控制(2)
python题库刷题训练选择题_python值得学吗
学python嘻嘻,每题第一个是自己的代码,后面的是看见有些好的代码就顺手保存一波了~侵删
全栈程序员站长
2022/09/20
1K0
python题库刷题训练选择题_python值得学吗
谈一谈|什么是编程思维?
近日,小编听一朋友抱怨:编程太难了,写代码太难了,根本就看不懂。小编听了这话后呢,思考了几个问题,这会不会是一些人拒绝学习编程的原因呢?编程究竟又和代码是否有直接联系呢?什么又是编程思维呢?在解决这几个问题之前,先来了解几个概念。
算法与编程之美
2020/04/15
1.5K0
推荐阅读
相关推荐
解决鸡兔同笼问题
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验