Android Studio快捷键提高工作效率的奇技

Android之倍数提高工作效率的 Android Studio 奇技 关于快捷键 The File Structure Popup ctrl+f12 此快捷键可以调出当前文件的大纲,并通过模糊匹配快速跳转至指定的方法。 勾选上“show anonymous classes”后其功能相当于Eclipse中的ctrl+o The Call Hierarchy Popup ctrl+alt+h 查看某个方法的调用路径。 阅读详情

Android Studio快捷键提高工作效率的奇技

这是从Philippe Breault的系列文章《Android Studio Tips Of the Day》中提取出来的自认为精华的部分。这些技巧在实际应用中能够非常大的提高工作效率。

关于快捷键

1、The File Structure Popup

ctrl+f12 此快捷键可以调出当前文件的大纲,并通过模糊匹配快速跳转至指定的方法。 勾选上“show anonymous
classes”后其功能相当于Eclipse中的ctrl+o

调出当前文件的大纲

2、The Call Hierarchy Popup

ctrl+alt+h 查看某个方法的调用路径。

查看某个方法的调用路径

3、Quick Definition Lookup

ctrl+shift+i 不离开当前文件当前类的情况下快速查看某个方法或者类的实现。通过大概预览下调用的方法,可以避免许多未知的坑。

快速查看某个方法或者类的实现

4、Bookmarks!

如其名,书签。帮助快速回到指定的位置,实际使用中简直爽得不行。

f11 将当前位置添加到书签中或者从书签中移除。

shift+f11 显示有哪些书签。

书签

5、Find Actions

ctrl+shift+a 对于没有设置快捷键或者忘记快捷键的菜单或者动作(Action),可能通过输入其名字快速调用。神技!!!
例如想要编译,只需要输入”release”,则列表框中就会出现”assembleRelease”选项,选择就可以进行编译。

这里写图片描述

6、Move Lines Up/Down

alt+shift+up/down 上下移动行,这个没什么好说的,肯定会用到。

上下移动行

7、Lines Edit

ctrl+y,ctrl+x, ctrl+d 删除行,删除并复制行,复制行并粘贴,必备。

PS:这个有点不爽不知道为什么不用通用的,慢慢习惯吧 不习惯 可以改成你想要的 快捷键。

8、VCS Operations Popup

Alt+`(是1左边的那个键) 此快捷键会显示一个版本管理常用的一个命令,可以通过命令前面的数字或者模糊匹配来快速选择命令。
极大的提高了工作效率,快速提交代码、暂存代码、切分支等操作操作如鱼得水。

版本管理

9、Hide All Panels

ctrl+shift+f12 关闭或者恢复其他窗口。在编写代码的时候非常方便的全屏编辑框,可以更加专心的coding…

这里写图片描述

10、Parameter Info

ctrl+p 在调用一些方法的时候免不了会忘记或者不知道此方法需要哪些参数。ctrl+p可以显示出此方法需要的参数。必备技能之一。

11、Rename

shift+f6 重命名变量或者方法名。重构神技。

这里写图片描述

12、条件断点

通过右键断点,可以对一个断点加入条件。只有当满足条件时,才会进入到断点中。调试神技,只对自己关心的情况进行调试,不浪费时间。

条件断点

13、进入调试模式

点击Attach Debugger(即绿色小虫旁边那个)可以快速进入调试而不需要重新部署和启动app。
可以选择为此功能设置一个快捷键或者通过前面提到的Find Actions(ctrl+shift+a)输入”attach”进行调用。

这里写图片描述

14、快速查看变量的值

按住Alt点击想要查看的变量或者语句。如果想查看更多,则可以按Alt+f8调出Evaluate
Expression窗口来自行输入自定义的语句。

这里写图片描述

15、分析堆栈信息

Find Actions(ctrl+shift+a)输入”analyze stacktrace”即可查看堆栈信息。

这里写图片描述

16、分析某个值的来源

Find Actions(ctrl+shift+a)输入”Analyze Data Flow to
Here”,可以查看某个变量某个参数其值是如何一路赋值过来的。 对于分析代码非常有用。

这里写图片描述

17、多行编辑

强大的神技之一,用过vim的vim-multiple-cursors或者Sublime Text的多行编辑都不会忘记那种快感!
也许不是平时用得最多的技能,但是却是关键时刻提高效率的工具。 快捷键:Alt+J

这里写图片描述

18、列编辑

在vim中叫作块编辑,同样神技!使用方法:按住Alt加鼠标左键拉框即可
PS:发现Ubuntu下不可用,代替方法为按Alt+Shift+Insert之后拖框选择。
但是经过这么操作之后,神技就大打折扣了。估计是与Ubuntu的快捷键冲突了。

这里写图片描述

19、Enter和Tab在代码提示时的区别

看图!

这里写图片描述

**Links

Android Studio Tips Of the Day – Roundup #1
Android Studio Tips Of the Day – Roundup #2
Android Studio Tips Of the Day – Roundup #3
Android Studio Tips Of the Day – Roundup #4
Android Studio Tips Of the Day – Roundup #5
Android Studio Tips Of the Day – Roundup #6

程序自动化填写网页表单数据 如何让程序自动化填写网页表单数据,特别是涉及到批量数据情况时,可以减少人力。下面是涉及到的一些场景,都可以通过相关自动化程序实现。 阅读详情

相关推荐

图解凸函数与凹函数:别再被数学定义搞晕了!

本文通过图解和生活化类比,深入浅出地解释了凸函数与凹函数的数学定义及其与日常直觉的差异。文章详细介绍了凸函数的图像特征、数学定义(包括二阶导数判断)、在机器学习中的重要性,以及常见误区和实际应用中的判断技巧,帮助读者彻底理解这一关键数学概念。

weixin_29159441的博客 653

IDEA 快捷键拆解系列(十二):VCS 篇

  这是IDEA快捷键拆解系列的第十二篇。   以下是关于VCS导航项及其每一子项的拆解介绍,其中,加粗部分的选项是博主认为比较重要的。 VCS Local history Show History ( 查看本地历史 ) Show History for Selection ( 查看所选文件的本地历史 ) Put Label VCS Operations Popup ...

happyJared 6347

全国各省份影像下载地址(11级别)

cesium中使用urltemplate加载,leaflet中使用tile加载,具体加载有问题可以给我留言。

资深三维GIS开发 5143

安卓开发——Android studio怎么使用列选择模式

在编辑代码中,需要进行使用的选中的需要的代码的,而在代码中选择的模式默认为横向选择,如下图: 那么只想选择列中的代码(如下图),那么该如何进行选择呢? 点击edit->column selection mode,如下图: 点击后,选中模式就由横向选择变为列向选择,如果想再改为横向选择,再次点击edit->column selection mode即可。

萌鼠喝酸奶的博客 3195

视频编解码——视频编解码器工作原理

目录什么是视频编解码器为什么需要视屏编解码器视频编码器与数字视频容器时评编码器的历史 什么是视频编解码器 简单来说就是用于压缩或解压数字视频的软件或硬件 编码是信息从一种形式或格式转换为另一种形式的过程,解码是编码的反向。 适用于视频 编码是将视频、音频的原始格式的文件通过压缩技术转换成另一种格式(视频如h.264,h.265,m-jpeg等)。 解码是编码的反向过程。应用中,一般是将h.264,h.265格式数据解码成如YUV格式裸流交给显示器显示。 为什么需要视屏编解码器 需要在有限的带宽或存储空间

路人coder 1万+

PMP--工件

合同是指对双方都有约束力的协议,强制卖方提供规定的产品、服务或结果,以及强制买方支付相应的费用。它还可能包括处于中间状态的特性,例如已设计但尚未构建的特性、质量保证中的特性或测试中的特性。RACI 矩阵是一种常见的方法,用于显示执行、担责、咨询或知情,且与项目活动、决策和可交付物有关的干系人。计划是提议的实现某种目标的方式。在项目开始前或开始时创建的文件,涉及与项目有关的战略、商业或高层级的信息。或 © 它们是用特定方法创建的结果,例如,虽然成本估算结果是一个重要工件,它们是用不同估算方法得出的结果。

stqer的博客 1666

Android Studio 之 Live Templates 高效利用

Android Studio 之 Live Templates 高效利用

DesmondJ的专栏 1万+

#systemverilog# 之 event region 和 timeslot 仿真调度(三)Verdi 辅助查看

通过今天的学习,我们知道:event region 是event sequence 的全集。我们打开了 event region feature 也就开启了event sequence 的功能。

那么菜的博客 1365

AndroidStudio 快捷键

整理了下关于AS快捷键方面的资料,供自己学习之用。#快捷键删除行 Ctrl + Y 复制一行 Ctrl + D 上下移动代码 Alt + Shift + Up/Down 格式化代码 Ctrl + Alt + L 优化导包 Alt + Ctrl + O 大小写转换 Ctrl + Shift

李孝贤 385

【项目实战】DevOps制品管理之JFrog Artifactory介绍

JFrog Artifactory是一款领先的二进制软件制品仓库管理工具,由JFrog公司开发。

奶爸的编程之路,也就一周冷个三天 1352

手把手教你学 NPU 驱动开发--第一部分:基础准备 开发环境搭建:Linux 内核编译与 NPU 仿真平台配置

摘要:本文详细介绍了搭建Linux内核编译与NPU仿真平台的完整流程。主要内容包括:1) 准备ARM64交叉编译工具链;2) 编译支持KGDB调试的Linux内核;3) 构建最小根文件系统;4) 使用QEMU模拟自定义NPU设备;5) 配置KGDB调试环境。文章重点讲解了如何通过修改设备树添加虚拟NPU设备,并提供了开源NPUIP Gemmini作为实验对象。最后展示了简单的"Hello NPU"驱动验证方法,为后续NPU驱动开发奠定了基础。文中还附有常用命令速查表,方便开发者快速搭建调

MHD0815的博客 383

倍数提高工作效率的Android Studio奇技(快捷键的使用)

关于快捷键 The File Structure Popup ctrl+f12  此快捷键可以调出当前文件的大纲,并通过模糊匹配快速跳转至指定的方法。 勾选上“show anonymous classes”后其功能相当于Eclipse中的ctrl+o The Call Hierarchy Popup ctrl+alt+h  查看某个方法的调用路径。 Qu

I can fly的专栏 324

抖音无水印视频爬虫实战:从抓包分析到批量下载指定用户作品

抖音作为当前最受欢迎的短视频平台,拥有海量的优质内容。很多用户希望备份自己或他人的作品,但抖音官方并未提供批量下载功能,且直接下载的视频带有平台水印。本文将带领大家从零开始,通过抓包分析、设备模拟、请求签名等核心技术,实现一个完整的抖音无水印视频爬虫系统。本文仅供技术学习和个人备份使用,请勿将爬取的内容用于商业用途或侵犯他人版权,爬取频率请控制合理范围内。目录一、前言二、技术栈概览三、准备工作3.1 环境搭建3.2 抓包分析步骤3.3 关键API发现四、核心技术解密4.1 X-Gorgon签名算法。

2201_76125261的博客 846

提高工作效率的Android Studio奇技

这是从Philippe Breault的系列文章《Android Studio Tips Of the Day》中提取出来的自认为精华的部分。 这些技巧在实际应用中能够非常大的提高工作效率。 关于快捷键 The File Structure Popup ctrl+f12 此快捷键可以调出当前文件的大纲,并通过模糊匹配快速跳转至指定的方法。 勾选上“show anony...

axjrtdsdw37153372的博客 102

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

[转]倍数提高工作效率的 Android Studio 奇技

转自:http://android.jobbole.com/81687/ 倍数提高工作效率的 Android Studio 奇技 2015/10/08 ·技术分享·4 评论·Android Studio 分享到:8 原文出处:JeremyHe欢迎分享原创到伯乐头条 这是从Philippe Breault的系列文章《Android Studi...

150

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

倍数提高工作效率的 Android Studio 奇技

这是从Philippe Breault的系列文章《Android Studio Tips Of the Day》中提取出来的自认为精华的部分。这些技巧在实际应用中能够非常大的提高工作效率。 关于快捷键 The File Structure Popup ctrl+f12 此快捷键可以调出当前文件的大纲,并通过模糊匹配快速跳转至指定的方法。 勾选上“show anonymous

阿宁不知梦的博客 1万+

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

数倍提高工作效率的 Android Studio 赢巧奇技

关于快捷键 The File Structure Popup ctrl+f12 此快捷键可以调出当前文件的大纲,并通过模糊匹配快速跳转至指定的方法。 勾选上“show anonymous classes”后其功能相当于Eclipse中的ctrl+o The Call Hierarchy Popup ctrl+alt+h 查看某个方法的调用路径。

momocsdn 832

倍数提高工作效率的Android Studio奇技

倍数提高工作效率的Android Studio奇技 转自 http://zlv.me/posts/2015/07/13/14_android-studio-tips/ 这是从Philippe Breault的系列文章《Android Studio Tips Of the Day》中提取出来的自认为精华的部分。 这些技巧在实际应用中能够非常大的提高工作效率。 关于快

skykingf的专栏 1816

Android Studio Tips-倍数提高工作效率的Android Studio奇技

这是从Philippe Breault的系列文章《Android Studio Tips Of the Day》中提取出来的自认为精华的部分。 这些技巧在实际应用中能够非常大的提高工作效率。 关于快捷键 The File Structure Popup ctrl+f12  此快捷键可以调出当前文件的大纲,并通过模糊匹配快速跳转至指定的方法。 勾选上“show anonymo

Dimon、 1831
上一篇: AndroidStudio 缓存文件夹配置
下一篇: Android开发——Android M(6.0) 权限解决方案
YLBF_DEV
博客等级 码龄12年 30粉丝 61原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值