VSCode神仙插件——Codeium (AI编程助手)
1、安装&登录插件
安装过程中会让你登录Codeium账户,可以通过Google账户登录,或者可以注册一个Codeium账户(如果没有弹出让你登录账户的界面,可以等安装结束后在右下角找到登录的地方)
右下角显示如下图所示,即登录成功
2、使用
(1)代码自动补全
灰色的部分是Codeium是结合上下文给出的代码提示,使用Tab键就可以使用提示自动补全了。
(2)AI助手
就是当作Copilot使用进行Chat
(3)选中代码右键可以进行Refactor和Explain
Explain:会把选中的代码直接丢到Chat界面并给出代码的解释
Refactor功能比较多:(其实常用的就几个)
- 向代码中添加注释和文档字符串
给代码添加注释和相关的说明
- 添加打印语句,以便易于调试
给代码添加相关的打印语句,如果有变量的话会打印变量,没有的话就是一些描述语句
- 向代码中添加类型注释
- 清理这段代码
可以使代码看起来更精简清晰(绿色是清理后的,红色是清理前的)
- 检查错误和空指针
检查代码是否能够成功运行,否则抛出异常
- 实现TODO注释的代码
这个就是根据TODO里的注释实现对应功能的代码
实现前:
实现后:
- 修复mypy和pilint错误和警告
这个还没研究......
- 生成单元测试
这个还没研究..
- 将此代码设置为强类型
在Python中,要使代码具有强类型,你需要确保所有变量都有明确定义的类型,并且这些类型在使用过程中不会改变。这通常意味着你需要显式地将数据转换为特定的类型,如使用 int()
, float()
, str()
等内置函数。以下是一个简单的Python函数,它接受两个参数,并返回它们的和,展示了如何在Python中写出具有强类型的代码:
在这个例子中,我们定义了一个函数 add_numbers
,它有两个参数 x
和 y
,它们都被指定为整数类型 (int
),并且函数返回它们的和,返回类型也是整数。这样的函数就是强类型的,因为所有的变量类型都是明确且不会改变的。
注意,Python是动态类型语言,这意味着你不必事先声明变量的类型。但是通过类型注解,你可以在代码中添加类型信息,以帮助开发者理解代码的意图,并通过类型检查工具(如mypy)来确保代码的类型安全。
- 让它更快更有效
使代码更高效地实现(绿色是处理后的,红色是处理前的)
- 详细地注释这段代码,以便我能理解发生了什么
就是加详细的注释,没什么需要解释的🧐
(4)Ctrl+I快捷键可以实现在编辑器中某代码处输入你的需求,例如:
你可以选择接收或者拒绝这个代码,或者通过Follow-up继续输入你的需求
codeium是英文界面,不知道有没有什么办法可以将其设置为中文界面.
通过下图的设置,可以在问答的时候,使其用中文回复,但是界面其他地方仍然都是英文.
相关文章:
![](https://i-blog.csdnimg.cn/direct/db3a3cf7aeaa49f5a57478aed9994682.png)
VSCode神仙插件——Codeium (AI编程助手)
1、安装&登录插件 安装过程中会让你登录Codeium账户,可以通过Google账户登录,或者可以注册一个Codeium账户(如果没有弹出让你登录账户的界面,可以等安装结束后在右下角找到登录的地方) 右下角显示如下图所示&#…...
![](https://i-blog.csdnimg.cn/direct/44f1f0d2e32e4d2a927c7e65053ad7ba.png)
css文本划线效果(text-decoration相关属性详解)
/* 样式类型*/text-decoration: underline;/* 下划线颜色 */text-decoration-color: #ffcb15;/* 超出基线的字符不会被截断 */text-decoration-skip-ink: none;/*下划线厚度 */text-decoration-thickness: 5px;/* 与其原始位置的偏移距离 */text-underline-offset: 0;1. text-u…...
![](https://i-blog.csdnimg.cn/direct/41e4f975dfa44d95a1520dc19314e8c7.png)
《Windows API每日一练》8.5 listbox控件
列表框是将一批文本字符串显示在一个具有滚动功能的方框中的控件。通过发送消息到列表框的窗口过程,程序可以添加或删除列表中的字符串。当列表框中的一个项目被选中时,列表框控件便发送 WM_COMMAND消息到其父窗口。然后父窗口确定哪个项目被选中。 本节…...
![](https://www.ngui.cc/images/no-images.jpg)
使用Node.js 框架( Express.js)来创建一个简单的 API 端点
文章目录 使用Node.js 框架( Express.js)来创建一个简单的 API 端点什么是express安装修改代码 express 自动刷新 使用Node.js 框架( Express.js)来创建一个简单的 API 端点 什么是express Express 是一个保持最小规模的灵活的 …...
![](https://i-blog.csdnimg.cn/direct/fe189940720a4334a7615887601fbcb3.png)
企业服务行业CRM解决方案
企业服务行业CRM解决方案 强大的功能满足企业服务行业对客户管理、业务管理等方面的真实需求; 细分企业服务行业的不同领域,为不同业务场景提供个性化配置; 打通钉钉、企业微信等平台,降低企业使用CRM门槛,提供高性…...
![](https://www.ngui.cc/images/no-images.jpg)
服务器怎么进PE系统?
服务器进PE是指将服务器的操作系统切换到预安装环境(Pre-Installation Environment)的状态。在PE环境下,可以进行一些系统管理和故障排除的操作。在进入PE(Preinstall Environment)之前,首先需要确保你的服…...
![](https://www.ngui.cc/images/no-images.jpg)
Linux内核编译与调试menuos-linux-3.18.6-在ubuntu20.04环境
1 具体操作 下载 linux-3.18.6内核 wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.18.6.tar.xz解压进入linux-3.18.6文件夹 tar -xvf linux-3.18.6.tar.xz cd linux-3.18.6/编译 #make x86_64_defconfig # 为x86_64生成配置 #make alldefconfig make i3…...
![](https://www.ngui.cc/images/no-images.jpg)
java-mysql 三层架构
在 Java 应用程序中,三层架构(Three-Tier Architecture)是一种常见的设计模式,用于分离应用程序的表示层、业务逻辑层和数据访问层。这种架构有助于提高代码的可维护性、可扩展性和可重用性。以下是详细解释 Java 应用程序中使用 …...
![](https://www.ngui.cc/images/no-images.jpg)
打工人如何应对AI对工作岗位的风险
面对AI对工作岗位的潜在取代,我们可以从多个层面制定应对策略,以确保劳动力市场的平稳过渡和社会的可持续发展。以下是一些具体的应对策略: 一、加强教育与培训 提升STEM教育:增加科学、技术、工程和数学(STEM&#…...
![](https://i-blog.csdnimg.cn/direct/afd5cc002d0540dcaf1675221ff82b14.png)
C++:从C语言过渡到C++
在这篇博客中,我将会介绍从C语言过渡到C的一些基础知识。 目录 C起源 C的关键字 输出hello,world 编辑 命名空间 1.什么是命名空间 2.namespace的作用 3.域作用限定符 4.命名空间的使用 IO流 缺省参数 函数重载 引用 1.引用的定义 2.引…...
![](https://www.ngui.cc/images/no-images.jpg)
在安卓中使用FFmpeg录制摄像头的视频并保存到本地MP4文件
在移动应用开发中,有时需要利用设备的摄像头录制视频,并且希望在录制过程中能够精确控制视频的质量、格式和时长。FFmpeg作为一个强大的多媒体处理工具,提供了广泛的功能和选项,能够帮助我们实现这样的需求。 添加依赖 在安卓平台…...
![](https://i-blog.csdnimg.cn/direct/c5da5fff2816463981af4698a2cb53ad.gif)
Vue从零到实战第一天
💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 非常期待和您一起在这个小…...
![](https://img-blog.csdnimg.cn/direct/3a3173fc7c7646fb962d29ef4163637c.png)
BUUCTF - Basic
文章目录 1. Linux Labs 【SSH连接漏洞】2. BUU LFI COURSE【文件包含漏洞】3. BUU BRUTE【暴力破解用户名密码】4. BUU SQL COURSE【SQL注入-当前数据库】5. Upload-Labs-Linux 1【文件上传漏洞】7. Buu Upload Course 1【文件上传包含漏洞】8. sqli-labs 1【SQL注入-服务器上…...
![](https://www.ngui.cc/images/no-images.jpg)
如何理解Node.js?NPM?Yarn?Vue?React?
一、背景 对后端技术栈更熟悉,对前端技术栈不了解,希望通过前后端的技术栈进行对比,可以更直观地了解前端技术栈。 二、Node.js Node.js 是一个基于 Chrome V8 JavaScript 引擎的 JavaScript 运行环境。它使得 JavaScript 可以在服务器端运…...
![](https://img-blog.csdnimg.cn/img_convert/b24da1bb2028a048bd669714bad6c435.jpeg)
苹果入局,AI手机或将实现“真智能”?
【潮汐商业评论/原创】 “AI应用智能手机不就是现在的AI手机。” 当被问到现阶段对AI手机的看法时,John如是说。“术业有专攻,那么多APP在做AI功能,下载用就是了,也用不着现在换个AI手机啊。” 对于AI手机,或许大多…...
![](https://i-blog.csdnimg.cn/direct/33c6feb29ad040c2843413d4791964f4.png)
AI网络爬虫019:搜狗图片的时间戳反爬虫应对策略
文章目录 一、介绍二、输入内容三、输出内容一、介绍 如何批量爬取下载搜狗图片搜索结果页面的图片?以孙允珠这个关键词的搜索结果为例: https://pic.sogou.com/pics? 翻页规律如下: https://pic.sogou.com/napi/pc/searchList?mode=2&start=384&xml_len=48&am…...
Windows 网络重置及重置网络可能出现的问题( WIFI 没有了 / WLAN 图标消失)
当 Windows 网络出现本机故障时,一般从以下两个方面解决:网络栈和使用网络栈的组件或程序。 1、Winsock 组件问题 以管理身份运行 cmd,输入以下命令 netsh winsock reset重置 Winsock 组件以修复网络连接问题。 Winsock 是 Windows 操作系…...
![](https://img-blog.csdnimg.cn/direct/ab386bb77e46451aa8e7ac96752a60b9.jpeg)
100 个网络基础知识普及,看完成半个网络高手!
1)什么是链接? 链接是指两个设备之间的连接。它包括用于一个设备能够与另一个设备通信的电缆类型和协议。 2)OSI 参考模型的层次是什么? 有 7 个 OSI 层:物理层,数据链路层,网络层࿰…...
![](https://csdnimg.cn/release/blog_editor_html/release2.3.6/ckeditor/plugins/CsdnLink/icons/icon-default.png?t=N7T8)
高盛开源的量化金融 Python 库
GS Quant GS Quant是用于量化金融的Python工具包,建立在世界上最强大的风险转移平台之一之上。旨在加速量化交易策略和风险管理解决方案的开发,凭借25年的全球市场经验精心打造。 它由高盛的定量开发人员(定量)创建和维护&#…...
![](https://www.ngui.cc/images/no-images.jpg)
【Linux】docker和docker-compose 区别是什么
Docker 和 Docker Compose 是用于容器化应用的工具,它们在开发、部署和管理容器化应用程序时有不同的作用。以下是对它们的简要介绍和功能描述: Docker 定义: Docker 是一个开源的平台,允许开发者自动化地部署、扩展和管理应用程序容器。容器是一种轻量级、可移植、独立的软…...
![](https://i-blog.csdnimg.cn/direct/98b90c7697764deda22b571b501e1071.gif)
Qt图片缩放显示
在Qt中,如果你想显示图片的像素或者对图片进行缩放显示,可以使用 QImage 类来处理图片数据,并使用 QLabel 或自定义的 QWidget 来显示图片,但是很难通过鼠标进行缩放显示 QGraphicsView可以实现此功能 在Qt中,QGraphi…...
![](https://i-blog.csdnimg.cn/direct/fcc14d8ee26549d78ccaac71da8f6f14.png)
47、lvs之DR
1、DR模式: 1.1、lvs三种模式: nat 地址转换 DR 直接路由模式 tun 隧道模式 1.2、DR模式的特点: 调度器在整个lvs集群当中是最重要的,在nat模式下,即负载接收请求,同时根据负载均衡的算法转发流量&…...
![](https://i-blog.csdnimg.cn/direct/7d20ccf7ea6842a0a3a58a798bac8b8e.png)
分布式技术栈、微服务架构 区分
1.分布式技术栈 这些技术栈都是为了更好的开发分布式架构的项目。 (大营销平台的系统框架如下图,扩展的分布式技术栈) (1)Dubbo——分布式技术栈 DubboNacos注册中心是应用可以分布式部署,并且提供RPC接…...
![](https://i-blog.csdnimg.cn/direct/490586dfd90644b8bdda7b9dd4c058b3.png#pic_center#pic_center)
【JavaEE精炼宝库】文件操作(2)——文件内容读写 | IO流
文章目录 一、输入流1.1 InputStream 概述:1.2 read 方法详解:1.3 close 方法:1.4 利用 Scanner 进行读操作:1.5 Reader: 二、输出流2.1 OutputStream 概述:2.2 write 方法详解:2.3 利用 PrintW…...
![](https://www.ngui.cc/images/no-images.jpg)
C++ 指针变量做参数传递时的情况分析
前言 指针变量作为参数传递时,很容易混淆指针本身和指针指向的内容,实际应用中可能会导致无法预料的问题,所以做一下详细分析。 注意,在测试过程中为了看测试效果,有些指针变量分配了空间,但是未做回收&am…...
![](https://i-blog.csdnimg.cn/direct/32579eed840845d9bedc6f91708d6a1e.png)
Linux环境下Oracle 11g的离线安装与配置历程
在成功体验了 Windows 版本的Oracle 11g 后,这几天心血来潮,决定再挑战一下Linux 环境下的安装,特别是在考虑到部门内部虚拟机无法联网的情况下,我选择了在CentOS 7上进行离线安装。这次安装之旅,主要参考了下面大佬的…...
![](https://i-blog.csdnimg.cn/direct/00042dac9e7747d1a618791ae52286f4.png)
上位机图像处理和嵌入式模块部署(mcu项目2:串口日志记录器)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 淘宝上面有一个商品蛮好玩的,那就是日志记录器。说是记录器,其实就是一个模块,这个模块的输入是一个ttl串口&am…...
![](https://i-blog.csdnimg.cn/direct/192882a287474e92a5c0704278b970fc.png)
容器是线程不安全的,如果多线程下不加锁直接使用容器会发什么
可能存在的问题 数据竞争 当两个或多个线程同时读写同一个容器且至少有一个线程在写时,会导致数据竞争。这种情况下,容器的内部状态可能会被破坏,从而导致未定义行为。这些未定义的行为包括数据损坏,程序崩溃,以及无…...
![](https://i-blog.csdnimg.cn/direct/bcfa366086234530ac0f3d194d428cdc.png)
配置光源——笔记
一、灯光的类型 (一)Directional Light(定向光) 1、只改变方向变化,不记录位置变化 2、相当于太阳光 3、室外一般使用 (二)Spot 聚光灯:昏暗(凌晨或傍晚),有一个光斑…...
![](https://i-blog.csdnimg.cn/direct/713e71309cfd44e2a463c84f568af313.png)
Java---SpringBoot详解一
人性本善亦本恶, 喜怒哀乐显真情。 寒冬暖夏皆有道, 善恶终归一念间。 善念慈悲天下广, 恶行自缚梦难安。 人心如镜自省照, 善恶分明照乾坤。 目录 一,入门程序 ①,创建springboot工程&#…...
![](/images/no-images.jpg)
网站优化电话/竞价被恶意点击怎么办
https://blog.csdn.net/lu2631605872/article/details/78226486...
![](/images/no-images.jpg)
做谷歌网站使用什么统计代码/网站推广公司大家好
导读:本文主要介绍 CentOS 系统二进制安装 MySQL 5.7.23 版本的安装步骤,其他版本安装过程相似。1.前置准备卸载旧版MySQL查看rpm包rpm -qa|grep mysql 若有可用rpm -e卸载查找mysql残留包,有则删除,没有则忽略find / -name mysql…...
![](/images/no-images.jpg)
网站建设技术列表/技能培训班有哪些课程
Java实现文件操作方式有很多,这里写了几个小工具,需要的话可以直接拷贝使用,或者优化后使用。基本概念FileChannel是一个用读写,映射和操作一个文件的通道,也是Java NIO对应于磁盘等存储设备文件操作的通道。除了读写操…...
![](/images/no-images.jpg)
郑州做网站哪家便宜/安卓神级系统优化工具
问题 最近服务器上面出现如下安全问题: 允许Traceroute探测ICMP timestamp请求响应漏洞 解决 允许Traceroute探测 firewall-cmd --get-icmptypes firewall-cmd --add-icmp-blocktime-exceeded --permanentICMP timestamp请求响应漏洞 firewall-cmd --add-icmp…...
![](https://images2018.cnblogs.com/blog/1459131/201808/1459131-20180827113237506-2033944124.png)
整人关不掉的网站怎么做/外贸营销型网站设计
calendar是与日历相关的模块,calendar模块文件里定义了很多类型,主要有Calendar,TextCalendar以及HTMLCalendar类型。其中,Calendar是TextCalendar与HTMLCalendar的基类。该模块文件还对外提供了很多方法,例如…...
![](/images/no-images.jpg)
山东网站建设报价/长春seo网站管理
在js、jquery中存在这大量的对象遍历,但是存在条件判断时传统的 break和continue 不一定能够使用。 在jQuery的 $.(selected).each({ }); 、$.each() 和 js的 obj.forEach函数体内不能使用break和continue。 所以代替方案就是在判断条件中使用 return true; 代替 c…...