zoukankan      html  css  js  c++  java
  • IDEA中快速获取Java源码中类、方法、属性的签名

    阅读源码的时候,经常想要快速获取Java类、方法、属性的签名 。 本能想到了javap。但是直接执行javap 是不行的,因为类位于jar。

    不想太麻烦,也不想额外使用什么插件(也不知道有没有), 搜索半天也没有找到好的解决方案,貌似大家都不关心这个事情..

    后面参考 https://zhidao.baidu.com/question/2058564863241638227.html 摸索半天搞了出来,其实很简单,新建一个外部工具即可,如下:

    其中arguments 为 -classpath  "$Classpath$" -public $FileClass$, Classpath需要引号是因为 Classpath可能有空格等字符。working directory 为 $ProjectFileDir$。

    我另外还增加了快捷键:

    结果如下:

    public class com.alibaba.dubbo.common.extension.ExtensionLoader<T> {
      public static <T> com.alibaba.dubbo.common.extension.ExtensionLoader<T> getExtensionLoader(java.lang.Class<T>);
      public java.lang.String getExtensionName(T);
      public java.lang.String getExtensionName(java.lang.Class<?>);
      public java.util.List<T> getActivateExtension(com.alibaba.dubbo.common.URL, java.lang.String);
      public java.util.List<T> getActivateExtension(com.alibaba.dubbo.common.URL, java.lang.String[]);
      public java.util.List<T> getActivateExtension(com.alibaba.dubbo.common.URL, java.lang.String, java.lang.String);
      public java.util.List<T> getActivateExtension(com.alibaba.dubbo.common.URL, java.lang.String[], java.lang.String);
      public T getLoadedExtension(java.lang.String);
      public java.util.Set<java.lang.String> getLoadedExtensions();
      public T getExtension(java.lang.String);
      public T getDefaultExtension();
      public boolean hasExtension(java.lang.String);
      public java.util.Set<java.lang.String> getSupportedExtensions();
      public java.lang.String getDefaultExtensionName();
      public void addExtension(java.lang.String, java.lang.Class<?>);
      public void replaceExtension(java.lang.String, java.lang.Class<?>);
      public T getAdaptiveExtension();
      public java.lang.String toString();
    }

    不过感觉还是不完美,因为其中的 类名全部是FQN, 影响阅读。

    如何快速获取Java函数签名 

  • 相关阅读:
    用户态和内核态
    04 _ 如何利用事务消息实现分布式事务?
    03 _ 消息模型:主题和队列有什么区别
    01 _ 为什么需要消息队列?
    洛谷P2257 YY的GCD
    HDU2669 Romantic (扩展欧几里德)
    CQOI2015 选数
    A. Pride
    测试开发进阶——python-java——appium003——Desired Capabilities —— 自动化常用方法——面试整理
    HDU 5050
  • 原文地址:https://www.cnblogs.com/FlyAway2013/p/14040042.html
Copyright © 2011-2022 走看看