Skip to content
Ider

沉淀我所学习,累积我所见闻,分享我所体验

Primary Navigation Menu
Menu
  • Home
  • About Ider
    • Who Ider?
    • Why Ider?
    • How Ider?
    • Where Ider?
    • What Ider?

Intellij

2017-06-07
07 June
On June 7, 2017
In Article Collection(聚宝收藏), Language Tips(语言初试)

Intellij的PSI Viewer工具

前阵子研究了一下怎么创建自定义的Intellij的Plugin和Android的Lint Rule,惊喜地发现它们有一个共同点就是都用PSI (Program Structure Interface)来呈现代码结构。因此很容易重用部分代码来将某个需求通过Plugin和Lint Rule来实现。

可惜关于PSI的文档十分稀少,所以本来就来讨论Intellij中查看PSI结构的工具来更多得在代码实现中读取和操作PSI对象。

Intellij PSI Viewer

Intellij内置了PSI Viewer,可以从Tools菜单下找到相应的选项来打开窗口,如果当前激活的Intellij窗口是文件编辑窗口还能看到选项直接常看当前文件的PSI结构:

打开PSI Viewer窗口,可以看到如下的视图进行PSI结构查阅,当鼠标指针在文件中移动时,对应的PSI结构也会被加亮来表示它属于哪个类型。这样在代码中就可以知道应该给PsiTreeUtil.getChildrenOfType()传什么参数了,或者在强制转换时应该用什么类型。

Read More →

2017-05-03
03 May
On May 3, 2017
In Knowledge Base(心得笔库), Language Tips(语言初试), Mobile Development(移动开发)

Android编译工具Gradle和Buck使用对比

前面介绍了Gradle和BUCK两个编译工具的基本概念,本篇文章再来说说日常使用情况。本文不涉及配置方面的使用,毕竟大多时候配置工作是不重复的任务,具体操作可参见官方文档。这里主要讲讲日常工作会用到的使用两个工具编译,安装等操作的不同体验。

指令(Command)

指令操作是程序自动话的先决条件,两者都是基于指令来执行编译任务。其主指令分别为./gradlew和buck,然后调用子指令来执行相应的操作。
Read More →

Facebook
Twitter
LinkedIn
RSS
ZhiHu

Recent Posts

  • 三年居家工作感受
  • Pixel Watch智能手表和Pixel 5, 6 Pro 及 7 Pro手机
  • 我拥有过的无线耳机
  • 毕业工作一个月,我差点被开除
  • 我拥有过的移动硬盘
  • ProtoBuf 2.0 method count optimization for android development
  • 面过100场行为面试后

Categories

  • Algorithm Analysis(算法分析)
  • Article Collection(聚宝收藏)
  • Data Structures(数据结构)
  • Design Patterns(设计模式)
  • English Posts(英文写作)
  • Front Interface(界面构想)
  • IT Products(数码产品)
  • Knowledge Base(心得笔库)
  • Language Tips(语言初试)
  • Mathematical Theory(数学理论)
  • Mobile Development(移动开发)
  • Programming Life(程序人生)
  • Reading Notes(阅而后知)
  • Software Engineering(软件工程)
  • Special Tricks(奇技妙招)
  • Tangential Speech(漫话杂谈)

Tags

Aero Android API Bash Binary Search Bitwise Operation Book C/C++ Career Chrome Conference CSS Debug Device DOM Extension Framework Game Gradle Hearthstone HTML Initialization Intellij Interview iOS Java JavaScript jQuery Keyword Language Issues Mac Microsoft Mobile Modifier Objective-C PHP Principle Reference Regular Expression Static String Tools Tutorial UI XML

Blogroll

  • Ahmed's Blog
  • Gert Lombard's Blog
  • Gordon Luk
  • Jack & Allison
  • 开发部落

Archives

Designed using Chromatic. Powered by WordPress.