Android Studio新版本New UI及相关设置丨遥遥领先版

1、前言

俗话说工欲善其事必先利其器嘛,工具用不好怎么行呢,借着Android Studio的更新,介绍一下新版本中的更新内容,以及日常开发中那些好用的设置。

2、关于新版本

2.1、最新正式版本

Android Studio Giraffe | 2022.3.1 Patch 1
Build #AI-223.8836.35.2231.10671973, built on August 17, 2023

正式版2023.08.17还是挺新的。

2.2、版本对应关系

Android Studio版本AGP版本API级别上限
Android Studio Giraffe3.2-8.133

2.3、下载地址

Giraffe:
https://developer.android.google.cn/studio
预览版Hedgehog、Lguana下载:
https://developer.android.google.cn/studio/preview

3、启用New UI

3.1、关于New UI

重新设计的主题旨在降低视觉复杂性,让用户更轻松地使用基本功能,并酌情显示复杂功能,从而打造现代、简洁的外观和风格。
主要更改如下:

  • 简化了主工具栏,新增了 VCS、Project 和 Run widget
  • 工具窗口采用了新的布局
  • 新增了一些浅色主题和深色主题,带有对比鲜明且色调一致的调色板
  • 新增了图标集,更易于辨识

简而言之就是四新:新工具栏、新工具窗口、新主题、新图标。

3.2、启用

打开设置,在Appearance & Behavior下有一个New UI的选项,apply and restart 即可体验Android Studio(IntelliJ)的新界面主题。
new ui.png

3.3、新界面主题一览

一览.png
视觉上,整体的画风变化挺大,主要表现在图标、字体、和颜色上,还有顶部的主菜单栏和左上、左下、右上的工具栏,以及底部的导航栏变化。

3.3.1、顶部主菜单

主菜单.png

  • 左边第一个是项目名,点击可以切换,比之前方便了。左边第二个是Git Branch,也就是Version Control,把分支和项目放在一起关联起来,这点还是挺人性化的,我很喜欢;
  • 中间是devices和run小部件;
  • 右边是工程编译+搜索+设置+Account;

看到外网有人说,图标太大,还有“run”那一块的小部件太亮,emmm 我倒觉得整体更清晰了。

3.3.2、工具栏

工具栏(tool windows)有三部分,左上、左下、右上。
左上:
左上.png
左上是Project+Resource Manager+收起的部分工具

  • Project默认是收起的,点击可展开我们的项目文件列表;
  • 有些工具默认是收藏在**···**中的,比如我比较喜欢用的 TODO,点击会展开工具窗口,并常驻显示在工具栏;

左下:
左下.png
左下是之前放在底部的Terminal、Logcat等。
长按图标可以进行拖动排序,也可以随意拖动到左上、左下、右上、右下的工具栏中。
不常用的也可以收起来,右键图标点击Hide,会放到 ···
hide.png

右上:
右上.png
这一块主要是device管理、Gradle、三方工具。
还有原来底部的通知挪上来了,不习惯的可以拖到右下角的工具栏去。

3.3.3、导航栏

导航栏.png
原先在顶部的导航栏挪到底部来了。
如果你像我一样还会习惯导航栏在顶部的话,可以在View > Appearance > Navigation Bar中进行设置:
Navigation Bar.png

3.3.4、紧凑模式

如果你觉得现在的风格图标太大、间隔太大,且使用IntelliJ IDEA开发的话,可以在View > Appearance > Compact Mode中来设置开启或关闭,或者Appearance and Behavior > New UI > enable the Compact mode option
不过这个设置只在新版的IntelliJ IDEA上有,Android Studio中并没有。

4、编辑器Tab

editor.png
这一部分文字和间隔都比之前更大了,虽然官方说是「以获得更好的易读性」,但是默认只显示一行的情况下,多点开几个文件就找不到最开始的了,或者不想被回收的文件被回收掉不显示了,这样反而影响效率。
所以我一般会设置成多行的(两行),
Settings > Editor > General > Editor Tabs > Show tabs in > Multiple rows
multip.png

5、设置JDK版本

近来不管是升级Android Studio还是AGP,在相互版本约束的情况下,会出现JDK版本限制的问题,又或是新版本默认的JDK 11 导致的编译报错,有时候需要去改一下兼容项目的JDK版本。
Settings > Build,Execution,Deployment > Build Tools > Gradle > Gradle JDK
jdk.png

6、乱码问题

有时候升级新版本之后,文件里面的中文注释会出现乱码的情况,这时候需要我们手动去修改一下文件编码。
Settings > Editor > File Encodings
encoding.png
别忘了把properties文件的编码格式也设置一下。

7、字体大小

我更新之后感觉整体字体偏小,默认是13,我个人调到15在外接显示器上感觉合适。
字体大小分为两部分,一个是IDE的,一个是代码的。
IDE:
Settings > Appearance & Behavior > Appearance > Font > Size
system size.png
代码:
Settings > Editor > Font > Size
code size.png

8、Logcat

Logcat的新变化在Android Studio Dolphin版本就有了,最大的变化莫过于日志的颜色(Scheme)和日志的筛选(Filter)。
logcat.png

8.1、Scheme

日志等级的颜色比以前更清晰更容易区分了,不需要再自定义设置了。
当然如果你想,可以在 Android Studio > Settings > Editor > Color Scheme 中进行设置。

8.2、Filter

默认是package:mine,对应以前你的包名,当然也是可以改的,Android Studio > Settings > Tools > Logcat

改版之后的Filter使用键值对的方式查询:

  • tag:与日志条目的 tag 字段匹配。
  • package:与日志记录应用的软件包名称匹配。
  • process:与日志记录应用的进程名称匹配。
  • message:与日志条目的消息部分匹配。
  • level:与指定或更高严重级别的日志匹配,例如 DEBUG。
  • age:如果条目时间戳是最近的,则匹配。值要指定为数字,后跟表示时间单位的字母:s 表示秒,m 表示分钟,h 表示小时,d 表示天。例如,age: 5m 只会过滤过去 5 分钟内记录的消息。

查询条件是可以有多个的,比如package + tag + level:

package:mine tag:yechaoa level:debug 

查询条件也是可以写表达式的,支持& |以及括号优先级,比如:

package:mine & ( tag:yechaoa | level:debug )

等等…

历史的记录也支持联想,只要你在Logcat设置中勾选这个:
tags.png

另外,常用的筛选语句可以选择收藏,在Show history中会优先展示。

8.3、Buffer Size

如果你看日志调试的时候经常出现read: unexpected EOF!,这是因为日志太多把Logcat缓存刷爆了。
可以选择clear再来一次,如果还是刷爆,那可以加上tag,减少冗余日志的输出,也更高效。
当然也可以设置Logcat的缓冲区大小,网上比较多的方案是使用adb logcat -G 4m或者在开发者选项里面设置日志记录器缓冲区大小
其实也还有一个更简单的方式,就是在AS里面设置:
buffer.png
默认是1024KB

9、大小写提示

如果你在引用类或者变量的时候,因为输入的是小写而IDE没有提示的时候,你就需要设置一下匹配大小写了。
Mac:
Settings > Editor > General > Code Completion > Match case > 取消
match.png
Win:
Settings > Editor > General > Code Completion > Case sensitive completion > None

10、文件头

一般新建类文件时会有默认的File Header,比如 Created by xxx。
如果你想自定义,可以在Settings > Editor > File and Code Templates > Includes >File Header中设置
header.png

11、遥遥领先版

一个彩蛋
遥遥领先.png
蹭下华为的流量,给AS改了个名字,有很多人问是怎么搞的,其实非常简单。。
应用程序 > 重命名,然后重新打开就可以了。

12、最后

本文就介绍这些了,其实每次新版本都会更新挺多信息,比如对Compose更好的支持、更好的升级助理等等,关于新版本更多信息,也可点击下方文档地址查看。

13、相关文档

  • Android Studio Giraffe | 2022.3.1
  • IntelliJ IDEA New UI
  • Main-changes-and-known-issues
  • View logs with Logcat

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/120433.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

FreeRTOS中断与任务之间同步(Error:..\..\FreeRTOS\portable\RVDS\ARM_CM4F\port.c,422 )

前言: FreeRTOS中,中断需要注意几点: 何时使用中断;中断服务函数(ISR)要处理的数据量有多大,通常我们希望中断的切换越快越好,也就是说,ISR尽量采用耗时较少的处理方式…

YOLO目标检测——赛马数据集下载分享

目标检测赛马数据集在马匹竞赛、马匹健康监测、马匹行为研究、马匹安全监控和马匹图像检索等应用场景中具有广泛的应用潜力,可以为马匹产业的发展和管理提供有力支持 数据集点击下载:YOLO赛马数据集640图片标框.rar 更多数据集下载和效果展示&#x…

论文研读|生成式跨模态隐写发展综述

前言:本文介绍近5年来生成式跨模态隐写领域的相关工作。 相关阅读:生成式文本隐写发展综述 不同于文本隐写,跨模态隐写需要考虑不同模态间的相关性,常见的跨模态场景有:Image-to-Text(如图像描述&#xff…

安全编程:初始化那些你忽略掉的东西

对于黑客来说,特权提升漏洞是令他感到非常兴奋的事情,而有时候这种漏洞的来源仅仅是因为开发者忘记将内存缓冲区中的垃圾数据进行初始化。此话怎讲? 我想,现在每个人都应该熟悉 SecureZeroMemory 函数的使用,它用来擦…

【TypeScript】一直提示 :无法重新声明块范围变量

【TypeScript】一直提示 :无法重新声明块范围变量 问题描述:在VSCode中编写ts代码时,编写保存完之后,通过tsc 文件名.ts编译就会看到变量名下面出现了红色的波浪线,提示的内容是无法重新声明块范围变量。 解决方法&am…

基于RabbitMQ的模拟消息队列之五——虚拟主机设计

文章目录 一、创建VirtualHost类二、初始化三、API1.创建交换机2.删除交换机3.创建队列4.删除队列5.创建绑定6.删除绑定7.发送消息转发规则 8.订阅消息1.消费者管理2.推送消息给消费者 3.添加一个消费者管理ConsumerManager9.确认消息 创建VirtualHost类。 1.串起内存和硬盘的数…

安全基础 --- js的闭包和this属性

js闭包 简介 一个函数和对其周围状态(lexical exviroment,词法环境)的引用捆绑在一起(或者说函数被引用包围),这样的组合就是闭包(closure) 在js中,通俗来讲&#xff0c…

uni-app 之 安装uView,安装scss/sass编译

uni-app 之 安装uView,安装scss/sass编译 image.png image.png image.png 点击HBuilder X 顶部,工具,插件安装,安装新插件 image.png image.png 安装成功! 注意,一定要先登录才可以安装 image.png 1. 引…

【数据分析】用Python秒懂概率分布!(附完整Python代码实现)

本文涉及的概念分布包括: 随机变量(Random Variable) 密度函数(Density Functions) 伯努利分布(Bernoulli Distribution) 二项式分布(Binomial Distribution) 均匀分布(Uniform Distribution) 泊松分布(Poisson Distribution) 正态分布(Normal Distribution) …

ChatGPT AIGC 完成动态堆积面积图实例

先使用ChatGPT AIGC描述一下堆积面积图的功能与作用。 接下来一起看一下ChatGPT做出的动态可视化效果图: 这样的动态图案例代码使用ChatGPT AIGC完成。 将完整代码复制如下: <!DOCTYPE html> <html> <head><meta charset="utf-8"><tit…

阿里云大数据实战记录9:MaxCompute RAM 用户与授权

文章目录 问题来源&#xff1a;maxcompute 管理员无法访问敏感列&#xff1f;主线问题&#xff1a;如何提高用户等级衍生问题1&#xff1a;怎么知道自己的等级和表单的等级衍生问题2&#xff1a;为什么 dataworks 空间管理员也没有设置等级的权限&#xff1f;衍生问题3&#xf…

模板和STL简介

模板和STL简介 一、泛型编程1、通用交换函数的实现&#xff08;1&#xff09;代码&#xff08;2&#xff09;总结 2、泛型编程的概念3、模板的概念 二、函数模板1、概念2、格式3、代码4、原理 三、函数模板实例化1、概念2、隐式实例化&#xff08;1&#xff09;概念&#xff08…

[unity]三角形顶点顺序

序 详见官方文档&#xff1a;Unity - Manual: Mesh data (unity3d.com) Topology&#xff1a;拓扑结构 翻译&#xff1a; 拓扑描述网格具有的面类型。 网格的拓扑定义了索引缓冲区的结构&#xff0c;索引缓冲区又描述了顶点位置如何组合成面。每种类型的拓扑都使用索引数组中…

医院安全(不良)事件上报系统源码 不良事件报告平台源码 前后端分离,支持二开

医院安全&#xff08;不良&#xff09;事件上报系统源码 系统定义&#xff1a; 规范医院安全&#xff08;不良&#xff09;事件的主动报告&#xff0c;增强风险防范意识&#xff0c;及时发现医院不良事件和安全隐患&#xff0c;将获取的医院安全信息进行分析反馈&#xff0c;…

Nacos 开源版的使用测评

文章目录 一、Nacos的使用二、Nacos和Eureka在性能、功能、控制台体验、上下游生态和社区体验的对比&#xff1a;三、记使使用Nacos中容易犯的错误四、对Nacos开源提出的一些需求 一、Nacos的使用 这里配置mysql的连接方式&#xff0c;spring.datasource.platformmysql是老版本…

Web前端开发概述

Web&#xff08;World Wide Web&#xff0c;全球广域网&#xff09;是指一种基于互联网的信息系统&#xff0c;通过超文本链接将全球各地的文档、图像、视频等资源相互关联起来&#xff0c;并通过Web浏览器进行交互浏览和访问。Web的发展使得人们可以方便地获取和共享各种类型的…

规避【虚拟专线技术】使用风险实现业务系统安全

本文为作者学习文章&#xff0c;按作者习惯写成&#xff0c;如有错误或需要追加内容请留言&#xff08;不喜勿喷&#xff09; 本文为追加文章&#xff0c;后期慢慢追加 一、技战法描述 VPN是利用Internet等公共网络基础设施&#xff0c;通过隧道加密通信技 术&#xff0c;为用…

js+vue,前端关于页面滚动让头部菜单淡入淡出实现原理

今天遇到个需求&#xff1a;我这里借用小米商城的详情页做个比喻吧。 刚开始其商品详情页是这样的&#xff1a; 当滚动到一定高度时&#xff0c;是这样的&#xff1a; 可以看到当滚动到轮播图底下的时候&#xff0c;详情页的菜单完全显现出来。 以下上代码&#xff1a; HTML…

大数据组件-Flink环境搭建

&#x1f947;&#x1f947;【大数据学习记录篇】-持续更新中~&#x1f947;&#x1f947; 个人主页&#xff1a;beixi 本文章收录于专栏&#xff08;点击传送&#xff09;&#xff1a;【大数据学习】 &#x1f493;&#x1f493;持续更新中&#xff0c;感谢各位前辈朋友们支持…

电脑硬盘数据恢复一般需要收费多少钱

随着电子信息时代的发展&#xff0c;个人和企业对电脑硬盘中存储的数据越发重视。然而&#xff0c;由于各种原因&#xff0c;硬盘数据丢失的情况屡见不鲜。如果您正陷入这样的困境&#xff0c;您可能会好奇恢复失去的数据需要花费多少钱。本文将为您介绍电脑硬盘数据恢复的一般…