互联网技术 / 互联网资讯 · 2023年11月10日 0

提高代码编写效率,告别复制粘贴

作为程序员,你是否曾幻想过,有一天不再需要依赖Google和Stack Overflow进行编程,也不再需要频繁使用Ctrl+C和Ctrl+V。当你在IDE中输入某个编程语言的关键词时,所需的代码自动展现在眼前,简直就像导航一样。

想象一下,若能简短地描述需求或写下几句话,就能完成代码开发,轻松解决bug,一切都在指尖之间完成。

又或者,你会设想,如果编写程序也有一个智能助手,能够告诉你哪些API调用更受欢迎,以及其他开发者是如何使用它们的,那该多好。

这样一来,你就能腾出大量时间去处理代码以外的事务,甚至接更多的项目,写更多的代码。

这样的场景,你是否想过呢?

在程序员圈子里,有一个调侃的笑话:一位技术水平一般的程序员,每晚熬夜写代码,经常留下bug,女朋友对此非常心疼。后来,这位程序员惊奇地发现,前一晚留下的bug第二天竟然在公司正常运行。直到某天半夜醒来,他发现女朋友正在电脑前帮他修bug……

看到能够写代码修bug的女朋友,是否让你对前面的幻想更加向往了呢?

梦想总是需要有的,万一实现了呢?

正如我们今天要介绍的“代码助手”,或称“AI代码小能手”,无论你怎么叫它,开心就好。

接下来让我们了解一下CodOTA:

1. 安装

在IDEA的插件列表中搜索,你会注意到“AI code completions”的介绍。

其他IDE也大致相似,因为他们的口号是“AI code autocomplete for all languages and IDEs”,强调对所有语言和IDE的支持。

具体功能如何,我们来看看它的表现。

安装插件后,在编写代码时,你会发现提示列表中出现了许多浅绿色的内容,这就是CodOTA的成果。

2. 使用

官方功能介绍的视频以JDBC为例,除了API调用提示外,还有常用代码片段的自动生成,这也是他们敢于高声宣传的原因。

例如,当你在IDE中输入“file”时,它会询问你想要执行的操作。

如常用的文件拷贝、内容压缩等。如果选择“copyfile”,对应的代码就会自动生成:

try (FileInputStream fis = new FileInputStream(srcfile); FileOutputStream fos = new FileOutputStream(dstfile)) { int len; byte[] buffer = new byte[4096]; while ((len = fis.read(buffer)) > 0) { fos.write(buffer, 0, len); }}

现在,你明白为什么他们的口号如此响亮了吧。

另外,你可能注意到提示列表中,FileOutputStream和FileWriter后面的数字。这是除自动补全外,AI所具备的能力,毕竟它还进行了大数据分析。

特别是在多个外部项目依赖的情况下,如果出现重名,它会告诉你更受欢迎的选择。

比如你需要通过HTTP请求资源,除了要使用GET/POST、构造Entity、拼接URL外,还要做什么呢?在写下HttpClient的同时,IDE已经给出了提示:

那就选择POST吧,随着下方向键的点击和Enter键的敲击,代码便生成了:

try { HttpPost httpPost = new HttpPost(“https://example.com”); httpPost.setEntity(new StringEntity(“{\”key\”: \”value\”}”, ContentType.APPLICATION_JSON)); String responseBody = httpClient.execute(httpPost, httpResponse -> { int status = httpResponse.getStatusLine().getStatusCode(); if (status < 200 || status >= 300) { // … handle unsuccessful request }} HttpEntity entity = httpResponse.getEntity(); return entity != null ? EntityUtils.toString(entity) : null; }); // … do something with response } catch (IOException e) { // … handle IO exception }

为了提升代码开发效率,许多人会记录常用代码片段,通常称为代码Snippet,一些编辑器里也有这类管理工具。

现在,Snippet也省去了,连Ctrl+C和Ctrl+V的步骤也不再需要。

3. 查看更多

如果提示列表中没有你感兴趣的内容,想查看更多示例该怎么办?

简单!

在某个关键词上右击对应的类名,在弹出的菜单中选择【Get Relevant examples】,你将在IDE的右侧看到更多关于该类的使用示例。

右侧的显示

4. 再多

如果还不够,点击这个链接,在浏览器中一次性查看更多示例吧。

[[[IMG_1]]]

[[[IMG_2]]]

[[[IMG_3]]]