Android Studio 中使用Gemini

Gemini 是Android Studio最新版本中内嵌的AI工具,它可以通过代码补全、解释代码、提供改进建议、错误分析等方式帮助开发者提高编码效率。当然,与目前大多数AI工具一样,Gemini有时可能会"非常自信"地提供不准确、错误的信息,或者实际并不能运行的代码,因此在使用之前开发者还是需要检查一下Gemini给与的答案。

从Android Studio Koala(2024.1.1)开始,就可以在Android Studio中使用Gemini了,本文简单介绍一下如何在Android Studio中使用Gemini。

启用Gemini功能

提供服务的国家

Android Studio中的Gemini目前已经对许多国家提供了服务,后续也会在遵循国家法规的情况下为更多国家提供服务,目前已提供服务的国家可以在官网查看。

在官网已提供服务的国家中其实并没有中国,不过在科学上网之后还是可以正常使用Gemini功能。

登录谷歌账号

在Android Studio中使用Gemini需要登录Google账号。

之前我在已经科学上网的环境下,在Android Studio中使用Google登录时,跳转出去的网页已经登录谷歌账号并且授权,但是Android Studio中仍然会提示连接超时,如下图:

查阅资料后,解决方法是在科学上网的环境下,将HTTP Proxy的Host和Port设置为科学上网工具所使用的Host和Port。

在Settings -> Appearance & Behavior -> HTTP Proxy中选择Manual proxy configuration -> HTTP,将Host name设置为127.0.0.1(或者localhost),将Port number设置为科学上网工具所使用的端口号(每个工具使用的端口可能不同,根据自己所用工具进行设置)。

设置完之后就可以正常登录谷歌账号。

启用Gemini

登录谷歌账号后,在添加账号页面授权Gemini使用数据。

之后可以在侧边栏中找到Gemini插件,进行下一步配置。

  • 同意一些协议。

  • 设置共享数据的范围。

这边先设置为可以共享所有项目的代码。

  • 开始使用Gemini

共享数据设置

Gemini的代码补全功能在开启数据共享之后会更为准确。由于要将代码共享出去,在公司项目中还是需要慎重使用的。可以在Settting -> Tools -> Gemini -> Context Awareness中选择数据共享的模式,如下:

通过配置文件设置共享范围

可以通过创建.aiExclude文件设置不共享数据的范围(与.gitignore类似)。

  • 在项目下创建文件,命名为.aiExclude。
  • 在.aiExclude中配置不允许共享数据的文件或文件夹。

语法设置示例可以在官网查看

使用Gemini

代码补全

设置了共享数据之后,可以使用Gemini的代码补全功能,Settting -> Tools -> Gemini 中可以开关此功能。

在启用代码时,Gemini跟根据光标前后的代码上下文提供建议,按Tab键使用建议,按Esc键清除建议。

解释代码

通过右键点击 -> Gemini -> Explain Code,使用Gemini来帮助理解选中的代码片段。

改进建议

通过右键点击 -> Gemini -> Suggest Improvements,使用Gemini来帮助优化选中的代码片段。

错误分析

在调试应用过程中如果发生崩溃,可以在Logcat中点击Ask Gemini,让Gemini帮助分析为何发生崩溃并提供解决方案。

参考

Gemini官方文档

解决Android Studio中谷歌账号登录失败

相关推荐
limuyang24 小时前
PDF Viewer KMP(基于 chrome 的 PDFium 内核)
android·kotlin
心平气和量大福大8 小时前
android-控件-搜索框SearchView
android·gitee
2601_962177138 小时前
【MySQL篇】聚合查询,联合查询
android·java·mysql
壮哥_icon8 小时前
【Android】批量 VectorDrawable 动态分别修改 fillColor 和 strokeColor 的踩坑与终极解决方案
android
齐天qaq9 小时前
Android 系统 APK 分区与权限
android
心平气和量大福大9 小时前
android-控件-多选框CheckBox
android·gitee
pengyu11 小时前
【Kotlin 协程修仙录 · 大乘境 · 初阶】 | 跳出三界:协程在 KMP 与后端开发中的跨平台之道
android·kotlin
XiaoLeisj11 小时前
Android Memory Profiler:堆内存指标、内存抖动与泄漏定位
android·性能优化·内存抖动·内存泄露·memory profiler
未来猫咪花11 小时前
Everything is ViewModel:让状态管理回到对象世界
android·flutter·ios