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

相关推荐
500了6 小时前
Kotlin基本知识
android·开发语言·kotlin
人工智能的苟富贵6 小时前
Android Debug Bridge(ADB)完全指南
android·adb
小雨cc5566ru11 小时前
uniapp+Android面向网络学习的时间管理工具软件 微信小程序
android·微信小程序·uni-app
bianshaopeng12 小时前
android 原生加载pdf
android·pdf
hhzz13 小时前
Linux Shell编程快速入门以及案例(Linux一键批量启动、停止、重启Jar包Shell脚本)
android·linux·jar
火红的小辣椒14 小时前
XSS基础
android·web安全
勿问东西15 小时前
【Android】设备操作
android
五味香15 小时前
C++学习,信号处理
android·c语言·开发语言·c++·学习·算法·信号处理
图王大胜17 小时前
Android Framework AMS(01)AMS启动及相关初始化1-4
android·framework·ams·systemserver
工程师老罗19 小时前
Android Button “No speakable text present” 问题解决
android