前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Baidu Comate智能代码助手-高效代码编程体验

Baidu Comate智能代码助手-高效代码编程体验

作者头像
用户2225445
发布2024-05-07 08:45:06
2160
发布2024-05-07 08:45:06
举报
文章被收录于专栏:IT从业者张某某

关于Baidu Comate智能代码助手

智能代码助手简介

代码助手可以快速的帮我们补充代码,修改代码,添加注释,翻译中英文,起变量函数名字等操作,十分的友好,这类代码助手现阶段有较多的产品,比如:

Baidu Comate智能代码助手 GitHub Copilot 通义灵码 Bito

本文主要基于Baidu Comate智能代码助手进行高效代码编程体验,let’s go!!!

Baidu Comate智能代码助手简介

Baidu Comate智能代码助手 支持 100 多种语言和多种 IDE(集成开发环境)平台,可以推荐代码、生成代码注释、查找代码缺陷、给出优化方案,还能 深度解读企业与个人私域代码库 等。Baidu Comate智能代码助手,是基于文心大模型,打造的新一代编码辅助工具,具备代码智能、场景丰富、创造价值、广泛应用等多重优势,实现“帮你想、帮你写、帮你改”。 目前,面向个人开发者 已经免费 使用了。

注册Comate

点击Comate官方链接,进入官网,用百度账户登录,点击免费使用。

点击免费使用后,进入如下页面:

根据具体开发工具,安装对应的插件,比如我使用vscode,选择vscode后,点击安装comate插件。

会打开vscode,点击install

安装完成,右下角会提示登录百度账号

按照要求点击登录,会在浏览器弹出,百度页面,正常登录,点击确认即可。

点击确认后,会提示登录成功

Comate使用案例

查看Comate可以做什么

点击comate插件, 在comate插件的问答区域,输入 /help 返回如下:

总结下,Baidu Comate提供生成代码、编程知识问答功能。

代码智能补全

  • 在编辑器中,Comate 会智能给出补全提示,按Tab键采纳。
  • 在代码编辑区写注释,换行后会给出补全代码。
  • 鼠标悬浮到推荐代码上可以查看快捷键,设置快捷键显示方式。
  • 快捷键: - Tab 采纳 - Ctrl → 逐单词采纳 - Ctrl ↓ 逐行采纳。

编程知识问答

  • 您可以在侧边栏打开对话框(快捷键:window + Y),向我提问常规编程问题。

专业插件

  • 选中代码并点击右键,选择Baidu Comate,可进行代码解释、单测生成、代码优化等专业领域的操作。
  • 使用时先通过@唤起插件,再通过/唤起命令(或直接使用/唤起命令)。
注释生成代码

创建一个py文件–Comate代码测试.py 添加如下注释:

代码语言:javascript
复制
# 写一个冒泡排序的方法 

写入

代码语言:javascript
复制
# 写一个冒泡排序的方法 
def b

提示如下:

输入 tab键可以全部补全 如果不输入tab键,可以选 ctrl+向下箭头 进行逐行 补全

生成行间注释

点击上面的行间注释,可以在插件左侧生成行间注释

点击左侧的采纳,会提示采纳成功,并生成完整注释,极大的提示了工作效率

生成函数注释

生成函数注释,与行间注释基本一致

调优建议

点击调优建议

点击接收修复,如下

需要注意的是,这里的代码会生成在光标所在位置,而非替换原有的代码,所以要注意在采纳前,把光标放在合适的位置,不要放在函数中,否则会生成如下代码

对话问答-指令插件和知识

在comate代码插件区域的下方,提供了指令 插件和知识三种拓展

在vscode左侧的comate对话框可以通过 /调取指令

@插件 调取插件

#知识库

点击comate,的插件配置,可以进入插件配置平台和知识中心。

其中插件配置中心包含了大模型的插件,默认采用官方配置集。也可以自己进行定制配置。

其中知识库包含了大模型匹配的知识库,便于准确输出特定领域的回答,比如,打开知识中心,可以看到comate助手支持的知识库包含了很多百度文档,这点对于要开发基于百度api的程序是十分的友好。

基于对话问答窗口的json格式插件使用

选择插件,选择工具箱

> 输入 / 选择/JSON格式化

即可完成 json格式生成

基于对话问答窗口的文心一言大模型接口实现

插件选择comate插件 输入 /生成调用文心一言大模型接口的代码 返回如下:

点击新建后,可以创建文件,代码如下

基于对话问答的@AutoWork插件实现一个分类算法

选择@AutoWork插件,在对话窗口提问 生成一个分类算法的案例 生成如下代码

新建文件,并命名为aa.py,运行结果如下:

完整代码如下:

代码语言:javascript
复制
# 导入所需库
import numpy as np
import matplotlib.pyplot as plt
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import classification_report, confusion_matrix

# 加载鸢尾花数据集
iris = datasets.load_iris()
X = iris.data
y = iris.target

# 划分数据集为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

# 数据标准化
scaler = StandardScaler()
X_train = scaler.fit_transform(X_train)
X_test = scaler.transform(X_test)

# 创建KNN分类器实例
knn = KNeighborsClassifier(n_neighbors=3)

# 训练模型
knn.fit(X_train, y_train)

# 在测试集上进行预测
y_pred = knn.predict(X_test)

# 评估模型性能
print(confusion_matrix(y_test, y_pred))
print(classification_report(y_test, y_pred))

# 可视化结果(可选)
plt.scatter(X_test[:, 0], X_test[:, 1], c=y_pred, cmap='viridis')
plt.xlabel('Sepal length')
plt.ylabel('Sepal width')
plt.title('KNN Classification of Iris Dataset')
plt.show()
基于对话问答的默认的comate插件实现一个分类算法

选择默认的comate插件,在对话窗口提问 生成一个分类算法的案例 生成如下代码

选择新建文件 然后保存为合适的文件名bb 右键运行bb代码,如下

代码可以运行,整体还是良好的

完整代码如下:

代码语言:javascript
复制
# 导入所需库
import numpy as np
import matplotlib.pyplot as plt
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score, classification_report, confusion_matrix

# 加载乳腺癌数据集
cancer = datasets.load_breast_cancer()
X = cancer.data
y = cancer.target

# 划分数据集为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# 数据标准化
scaler = StandardScaler()
X_train = scaler.fit_transform(X_train)
X_test = scaler.transform(X_test)

# 创建逻辑回归模型实例
logreg = LogisticRegression()

# 训练模型
logreg.fit(X_train, y_train)

# 在测试集上进行预测
y_pred = logreg.predict(X_test)

# 评估模型性能
accuracy = accuracy_score(y_test, y_pred)
print(f"Accuracy: {accuracy}")
print(confusion_matrix(y_test, y_pred))
print(classification_report(y_test, y_pred))

# 可视化结果(可选)
# 由于特征数量较多,这里只展示前两个特征
plt.scatter(X_test[:, 0], X_test[:, 1], c=y_pred, cmap='viridis')
plt.xlabel('Feature 1 (standardized)')
plt.ylabel('Feature 2 (standardized)')
plt.title('Logistic Regression Classification of Breast Cancer Dataset')
plt.show()

继续询问是否可以生成指定算法的代码

给出一个xgboost的案例代码

整体还是十分优秀的。

存在的问题及建议

代码函数的命名为中文问题
代码语言:javascript
复制
# 写一个插入排序的方法 
def 

按tab补全,会显示如下:

创建文件时,默认的文件名与代码中的文件名不匹配

比如说生成style.csss文件,但生成的文件名为代码的首行,可以在代码首行加上注释的文件名更好

生成一个聚类算法案例,会反复生成重复的代码

生成一个基于sklearn的聚类算法案例 按tab补全或 ctrl+↓ 会反复生成重复的代码

问答时,会带入上一步骤的代码,清除对话框也依然后带入

我询问 如何学习计算机视觉,并给出学习规划

回答的还是可以的

生成一个稍微复杂的完整游戏测试

在对话问答窗口调用comate插件,提问如下:

生成一个2048的游戏,基于html

按照回答,创建文件,和复制代码

创建index.html文件

创建style.css文件

创建index.js文件

又继续提问: 把上面代码放在一个文件中

经过测试,分开的代码和合并的代码都无法直接运行,看来使用的方式不建议直接生成大段的可用的代码,而应该聚焦于局部代码进行优化

总结

适合完善已有代码,添加注释,优化代码等操作,也可以做完整的学习规划,在自动创建文件上,文件名需要自己指定下。 整体可用还是不错的,下面给出对应的链接

Comate官方链接https://comate.baidu.com/zh

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-05-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 关于Baidu Comate智能代码助手
    • 智能代码助手简介
      • Baidu Comate智能代码助手简介
        • 注册Comate
        • Comate使用案例
          • 查看Comate可以做什么
            • 注释生成代码
              • 生成行间注释
                • 生成函数注释
                  • 调优建议
                    • 对话问答-指令插件和知识
                      • 基于对话问答窗口的json格式插件使用
                        • 基于对话问答窗口的文心一言大模型接口实现
                          • 基于对话问答的@AutoWork插件实现一个分类算法
                            • 基于对话问答的默认的comate插件实现一个分类算法
                            • 存在的问题及建议
                              • 代码函数的命名为中文问题
                                • 创建文件时,默认的文件名与代码中的文件名不匹配
                                  • 生成一个聚类算法案例,会反复生成重复的代码
                                    • 问答时,会带入上一步骤的代码,清除对话框也依然后带入
                                      • 生成一个稍微复杂的完整游戏测试
                                      • 总结
                                      相关产品与服务
                                      腾讯云服务器利旧
                                      云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
                                      领券
                                      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档