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中谷歌账号登录失败

相关推荐
二流小码农6 小时前
鸿蒙开发:上架困难?谈谈我的上架之路
android·ios·harmonyos
Propeller6 小时前
【Android】动态操作 Window 的背后机制
android·java
张风捷特烈6 小时前
Flutter&TolyUI#12 | 树形组件 toly_tree 重磅推出!
android·前端·flutter
柯南二号6 小时前
【大前端】【Android】一文详解Android MVVM 模式详情解析
android·前端
feathered-feathered6 小时前
Redis【事务】(面试相关)与MySQL相比较,重点在Redis事务
android·java·redis·后端·mysql·中间件·面试
Kapaseker7 小时前
三分钟搞懂 Kotlin Flow 中的背压
android·kotlin
柯南二号7 小时前
【大前端】【Android】把 Activity 重构成 MVVM 的对比示例
android·状态模式
某空m7 小时前
【Android】Glide的缓存机制
android·缓存·glide
某空m7 小时前
【Android】Glide的使用
android·glide
QING6187 小时前
Jetpack Compose 中的 ViewModel 作用域管理 —— 新手指南
android·kotlin·android jetpack