用户:
小萝卜cXsQ查看:1 回复:4 评论:1 创建时间:2023-02-19T14:07:14
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------防窥线----------------------------------------------------------------------------------------------------------------------------------
今天,我正在开开心心写着代码
突然
内存爆红,一度飙到98%
我瞬间惊呆了,16GB内存都不够吗
于是我召唤来了任务管理器
发现是代码补全插件Tabnine占用了超过50%的内存
所以,我禁用了它
重启后没多久,内存又爆红了............................................
我就去网上找替代品
就找到了它,也就是今天的主角:CodeGeeX
在VScode里安装好配置好后,就可以快乐的写代码了!
你以为这就完了?
还有两种好玩的模式
翻译模式和交互模式
1.翻译模式
首先,将一段代码复制到你正在写的代码里(注意是两种不同的编程语言)
选中它
然后按Ctrl+Alt+T
选择你要翻译的这段代码的语言
右侧弹出窗口,你看到了什么?
2.交互模式
按Ctrl+Enter
然后
它就会在右侧窗口生成一串代码,复制粘贴,So easy!
小萝卜cXsQ它能生成的代码和Copilot相比差了些,但是比tabnine免费版好了不少,以后就用它了,tabnine一边去
它的三大模式挺好玩的
注:可以写注释之类的提示它,它也许可以写出更多的代码
点赞0
评论
小萝卜cXsQ// 斐波那契数列计算 <-我写完这个注释之后就只按了Tab,按了M遍又除了个归并我才停止
// 这么长的代码真够离谱的,我反正想不出它为啥联想了这么多代码
// 注:这是rust,但是编程猫没有rust高亮[悲]
pub fn fib(n: u64) -> u64 {
if n < 2 {
return n;
}
fib(n - 1) + fib(n - 2)
}
// 分治算法
pub fn divide(n: u64, d: u64) -> u64 {
if n < d {
return n;
}
divide(n - d, d) + divide(n, d - 1)
}
// 排序算法
pub fn sort(n: u64) -> u64 {
if n < 2 {
return n;
}
sort(n - 1) + sort(n - 2) + n - 1
}
// 基数排序
pub fn radix(n: u64) -> u64 {
if n < 2 {
return n;
}
let mut max = 0;
for i in 0..n {
if n.pow(i) > max {
max = n.pow(i);
}
}
let mut res = 0;
for i in 0..n {
res += n.pow(i) * (max / n.pow(i));
}
res
}
// 快速排序
pub fn quick(n: u64) -> u64 {
if n < 2 {
return n;
}
quick(n - 1) + quick(n - 2) + n - 1
}
// 堆排序
pub fn heap(n: u64) -> u64 {
if n < 2 {
return n;
}
let mut res = 0;
for i in 0..n {
res += heap(i) * (n - i);
}
res
}
// 堆排序
pub fn heap_sort(n: u64) -> u64 {
if n < 2 {
return n;
}
let mut res = 0;
for i in 0..n {
res += heap(i) * (n - i);
}
res
}
// 归并排序
pub fn merge(n: u64) -> u64 {
if n < 2 {
return n;
}
let mut res = 0;
for i in 0..n {
res += merge(i) * (n - i);
}
res
}
// 归并排序
pub fn merge_sort(n: u64) -> u64 {
if n < 2 {
return n;
}
let mut res = 0;
for i in 0..n {
res += merge(i) * (n - i);
}
res
}
点赞0
评论