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.mzph.cn/news/67653.shtml

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

相关文章

elementui el-table在有summary-method时,table数据行将合计行遮挡住了

前端使用框架:elementUI 使用组件:el-table 在表格内添加合计了合计行,根据业务多次调用数据渲染画面后,偶然导致画面变成如下图所示,table的数据行将合计行遮挡住了,且这个现象有时候好用,有…

Android图形-架构1

目录 引言 Android图形的关键组件: Android图形的pipeline数据流 BufferQueue是啥? 引言 Android提供用于2D和3D图形渲染的API,可与制造商的驱动程序实现代码交互,下面梳理一下Android图形的运作原理。 应用开发者通过三种方…

C++多态案例2----制作饮品

#include<iostream> using namespace std;//制作饮品的大致流程都为&#xff1a; //煮水-----冲泡-----倒入杯中----加入辅料//本案例利用多态技术&#xff0c;提供抽象类制作饮品基类&#xff0c;提供子类制作茶叶和咖啡class AbstractDrinking {public://煮水//冲水//倒…

Scala的集合操作之可变数组和不可变数组,可变List集合与不可变List集合,可变Set与不可变Set操作,可变和不可变Map集合和元组操作

Scala的集合操作之&#xff0c;可变数组和不可变数组&#xff0c;可变List集合与不可变List集合 不可变数组 /* traversable/ˈtrvəsəbl/adj.能越过的&#xff1b;可否认的*/ object Test01_ImmutableArray {def main(args: Array[String]): Unit {// 1. 创建数组val arr:…

视频监控/视频汇聚/视频云存储EasyCVR平台HLS流集成在小程序无法播放问题排查

安防视频/视频云存储/视频集中存储EasyCVR视频监控综合管理平台可以根据不同的场景需求&#xff0c;让平台在内网、专网、VPN、广域网、互联网等各种环境下进行音视频的采集、接入与多端分发。在视频能力上&#xff0c;视频云存储平台EasyCVR可实现视频实时直播、云端录像、视频…

字节前端实习的两道算法题,看看强度如何

最长严格递增子序列 题目描述 给你一个整数数组nums&#xff0c;找到其中最长严格递增子序列的长度。 子序列是由数组派生而来的序列&#xff0c;删除&#xff08;或不删除&#xff09;数组中的元素而不改变其余元素的顺序。例如&#xff0c;[3,6,2,7] 是数组 [0,3,1,6,2,2,7…

flink实现kafka、doris精准一次说明

前言说明:本文档只讨论数据源为kafka的情况实现kafka和doris的精准一次写入 flink的kafka连接器已经实现了自动提交偏移量到kafka,当flink中的数据写入成功后,flink会将这批次数据的offset提交到kafka,程序重启时,kafka中记录了当前groupId消费的offset位置,开始消费时将…

文件系统与inode编号

文件描述符fd 0&1&2 Linux 进程默认情况会有3个缺省打开的文件描述符&#xff0c;分别是标准输入0&#xff0c; 标准输出1&#xff0c; 标准错误2. 0,1,2对应的物理设备一般是&#xff1a;键盘&#xff0c;显示器&#xff0c;显示器 所以输入输出还可以采用如下方式 …

中国非晶纳米晶行业市场预测与投资战略报告(2023版)

内容简介&#xff1a; 由于性能优异&#xff0c;非晶材料从20世纪80年代开始成为中国外科学界研究重点&#xff0c;目前美、日、德已经具备完善的生产规模&#xff0c;大量的非晶合金产品逐渐取代硅钢、铁氧体等。 2021年之前&#xff0c;中国铁基非晶带材企业有12家&#xf…

AVR128单片机 自动售水机

一、系统方案 1、设计使用两个按键分别为S1和S2及一个发光二极管LED。S1为出水控制按键&#xff0c;当S1按下&#xff0c;表示售水机持续出水&#xff0c;继电器&#xff08;库元件relay&#xff09;接通&#xff0c;指示灯LED亮。S2为停水控制键&#xff0c;当S2按下&#xff…

CSS面试题

CSS面试题 1.说说flexbox&#xff08;弹性盒布局模型&#xff09;,以及适用场景&#xff1f;flex-directionflex-wrapflex-flowjustify-contentalign-itemsalign-content 2.让Chrome支持小于12px 的文字方式有哪些&#xff1f;区别&#xff1f;3.css选择器有哪些? 优先级? 哪…

OSCS 安全周报第 58 期:VMware Aria Operations SSH 身份验证绕过漏洞 (CVE-2023-34039)

​ 本周安全态势综述 OSCS 社区共收录安全漏洞 3 个&#xff0c;公开漏洞值得关注的是 VMware Aria Operations SSH 身份验证绕过漏洞( CVE-2023-34039 )、Apache Airflow Spark Provider 反序列化漏洞( CVE-2023-40195 )。 针对 NPM 仓库&#xff0c;共监测到 324 个不同版本…

9月3日,每日信息差

第一、中国中铁与广州市城中村改造做地主体签署战略合作框架协议。根据协议&#xff0c;双方将积极响应广州市统筹做地推进高质量发展工作精神&#xff0c;充分发挥双方优势资源&#xff0c;共同加大在物业复建安置、基础设施建设、综合开发投资、城中村改造&#xff08;微改造…

volatile 关键字 与 CPU cache line 的效率问题

分析&回答 Cache Line可以简单的理解为CPU Cache中的最小缓存单位。目前主流的CPU Cache的Cache Line大小都是64Bytes。假设我们有一个512字节的一级缓存&#xff0c;那么按照64B的缓存单位大小来算&#xff0c;这个一级缓存所能存放的缓存个数就是512/64 8个。具体参见下…

【跟小嘉学 Rust 编程】二十三、Cargo 使用指南

系列文章目录 【跟小嘉学 Rust 编程】一、Rust 编程基础 【跟小嘉学 Rust 编程】二、Rust 包管理工具使用 【跟小嘉学 Rust 编程】三、Rust 的基本程序概念 【跟小嘉学 Rust 编程】四、理解 Rust 的所有权概念 【跟小嘉学 Rust 编程】五、使用结构体关联结构化数据 【跟小嘉学…

百度低质量站点怎么办?解决百度低质量站点的方法和工具

百度低质量站点怎么恢复&#xff1f;这是许多网站主和运营人员在SEO优化过程中经常面临的一个问题。百度作为中国最大的搜索引擎&#xff0c;对于网站收录和排名具有至关重要的影响。然而&#xff0c;由于各种原因&#xff0c;有些网站可能面临被百度降权或收录减少的情况。那么…

go、Java、python三门语言的优缺点和各自擅长做什么

Go、Java和Python都是目前非常流行和实用的编程语言&#xff0c;它们各有各的特点和适用场景&#xff0c;没有绝对的优劣之分&#xff0c;只有适合不适合的问题。下面我就简单地对比一下它们的主要特征和应用领域。 Go语言是一种简洁、高效、并发的编程语言&#xff0c;它可以…

vue3.3 ~

defineModel 原本&#xff1a; // 1 defineProps({modelValue: {type: Number,required: true,default: 0} })defineProps([modelValue]) // 2 const emit defineEmits([update:modelValue])现在&#xff1a; const value defineModel<number>({ default: 0 })defin…

Medium: Where to Define Qualified users in A/B testing?

1. Common AB Testing Setup Issue (Framework) 局限性: unqualified users will also be considered and mess up experimentation results.

SeaTunnel扩展Transform插件,自定义转换插件

代码结构 在seatunnel-transforms-v2中新建数据包名&#xff0c;新建XXXTransform&#xff0c;XXXTransformConfig&#xff0c;XXXTransformFactory三个类 自定义转换插件功能说明 这是个适配KafkaSource的转换插件&#xff0c;接收到的原文格式为&#xff1a; {"path&…