zoukankan      html  css  js  c++  java
  • IntelliJ Idea 工具

     IntelliJ Idea 优化:

    1.如何取消文件自动保存

    File->Settings -> Appearance&Behavior -> System Settings标签项里

    取消“Synchronize file on frame activation” 和“Save files on framedeactivation”的选择
    同时我们选择"Save files automatically", 并将其设置为30秒,这样IDEA依然可以自动保存文件,也就是在30s内不会帮你自动保存文件,需要手动ctrl+s保存,超过30s会自动帮你保存。
     

    如果想让修改时,在文件右边显示*号标志,File->Settings -> Editor –> General ->Editor Tabs

    选中"Mark modifyied tabs with asterisk"

     

    2.如何让代码编辑区显示行号

    File->Settings->Editor->Appearance标签项,勾选Show line numbers

     

    3.如何设置字体 

    File->Settings->Editor->Colors&Fonts->Font标签项,默认是无法修改字体的,需要先点击Save As...,会弹出一个对话框,然后命名自己的名字,点击OK,即可编辑字体了,也可以设置控制台字体。

     

    4.如何让IntelliJ IDEA动的时候不打开工程文件

    File->Settings -> Appearance&Behavior -> System Settings标签项里去掉Reopen last project on startup即可

     




    编码设置
    FILE -> SETTINGS -> FILE ENCODINGS -> IDE ENCODING
    FILE -> SETTINGS -> FILE ENCODINGS -> DEFAULT ENCODING FOR PROPERTIES FILES
    FILE -> SETTINGS -> COMPILER -> JAVA COMPILER -> ADDITIONAL COMMAND LINE PARAMETERS


    显示行号 
    如何显示行号:Settings->Editor->Appearance标签项,勾选Show line numbers
     

    自定义键盘快捷方式 
    如果默认代码提示和补全快捷键跟输入法冲突,如何解决:Settings->Keymap

    如何让光标不随意定位 
    Settings->Editor中去掉Allow placement of caret after end of line。  



    部分常用快捷键:

    Intellij idea

    作用

    查找

    Ctrl+F

    查找

    Ctrl+R

    替换

    F3

    查找下一个

    Shift+F3

    查找上一个

    Ctrl+Shift+F

    在路径中查找

    Ctrl+Shift+R

    在路径中替换

    代码

    Alt+Insert

    代码生成器(编辑器视图),新建文件(导航视图)

    Ctrl+J

    常用代码如:psvm/sout,main/System.out.println(); 

    Ctrl+空格

    代码提示(与系统输入法快捷键冲突)

    alt+enter

    快速修复

    Ctrl+Alt+T

    可以把代码包在一个块内,例如:try/catch

    Ctrl+P

    可以显示方法参数信息

    Ctrl+O

    提示可重写方法

    Ctrl+I

    自动实现接口方法

    Ctrl+Shift+Space

    自动补全代码

    Ctrl+Alt+Space

    类名自动完成

    类文件

    Ctrl+F7

    显示当前文件的结构

    Ctrl+H

    显示类结构图(类的继承层次)

    Alt+F1

    查找代码所在位置

    Ctrl+N

    可以快速打开类

    Ctrl+Shift+N

    可以快速打开文件

    Ctrl+B/Ctrl+Click

    跳转到方法内

    Ctrl+Alt+B

    跳转到方法的实现处

    Ctrl+U

    跳转到父类

    编辑

    Ctrl+D

    复制行

    Ctrl+X

    剪切当前行

    Ctrl+Y

    删除当前行

    Ctrl+/或Ctrl+Shift+/

    注释(//或者/**/)

    Ctrl+G

    定位行

    Ctrl+[ OR ]

    可以跑到大括号的开头与结尾

    Alt+Up/Down

    在方法间快速移动定位

    Alt+left/right

    切换代码视图

    F2 或 Shift+F2

    快速定位错误处

    Shift+Enter

    向下插入一行,并将光标移到新行

    Shift+Alt+Enter

    向上插入一行,并将光标移到新行

    Alt+Shift+Up/Down

    向上/下移动语句

    Ctrl+Shift+Up/Down

    向上/下移动语句(只在方法内)

    Ctrl+Shift+J

    整合缩进上下两行

    Ctrl+W

    可以选择单词继而语句继而行继而函数

    Ctrl+Shift+W

    取消选择光标所在词

    Alt+Shift+Insert

    开启多列同时编辑功能,用ctrl+up/down选中

    Ctrl+Alt+left/right

    返回至上次浏览的位置

    Ctrl+Shift+Backspace

    跳转到上次编辑的地方

    Ctrl+E

    最近的文件

    Ctrl+Shift+E

    最近更改的文件

    系统编辑

    Alt+Left/Right

    往左、往右跳走一个单词

    Alt+Shift+Left/Right

    往左、往右跳选一个单词

    Alt+Backspace

    删除一个单词

    调试

    F7

    步入

    F8

    步过

    F9

    下一个断点

    Shift+F7

    智能步入

    Shift+F8

    步出

    Alt+F8

    计算表达式

    Alt+F9

    运行至光标处

    Alt+F10

    定位到断点

    Ctrl+F8

    切换行断点(添加取消断点)

    Ctrl+Shift+F8

    查看断点,可以添加断点条件

    重构

    Shift+F6

    重命名

    Ctrl+Alt+Shift+T

    弹出重构菜单

    辅助

    Ctrl+Enter

    导入包,自动修正

    Ctrl+Alt+L

    格式化代码

    Ctrl+Alt+O

    优化导入的类和包

    Ctrl+Alt+Shift+S

    打开项目模块设置

    Ctrl+Alt+S

    打开设置对话框


    破解注册码文件代码:

     
    import java.math.BigInteger;
    import java.util.Date;
    import java.util.Random;
    import java.util.Scanner;
    import java.util.zip.CRC32;
    public class KeyGen {
        public static short getCRC(String s, int i, byte bytes[]){
            CRC32 crc32 = new CRC32();
            if (s != null)
            {
                for (int j = 0; j < s.length(); j++)
                {
                    char c = s.charAt(j);
                    crc32.update(c);
                }
            }
            crc32.update(i);
            crc32.update(i >> 8);
            crc32.update(i >> 16);
            crc32.update(i >> 24);
            for (int k = 0; k < bytes.length - 2; k++)
            {
                byte byte0 = bytes[k];
                crc32.update(byte0);
            }
            return (short) (int) crc32.getValue();
        }
        public static String encodeGroups(BigInteger biginteger){
            BigInteger beginner1 = BigInteger.valueOf(0x39aa400L);
            StringBuilder sb = new StringBuilder();
            for (int i = 0; biginteger.compareTo(BigInteger.ZERO) != 0; i++)
            {
                int j = biginteger.mod(beginner1).intValue();
                String s1 = encodeGroup(j);
                if (i > 0)
                {
                    sb.append("-");
                }
                sb.append(s1);
                biginteger = biginteger.divide(beginner1);
            }
            return sb.toString();
        }
        public static String encodeGroup(int i){
            StringBuilder sb = new StringBuilder();
            for (int j = 0; j < 5; j++)
            {
                int k = i % 36;
                char c;
                if (k < 10)
                {
                    c = (char) (48 + k);
                }
                else
                {
                    c = (char) ((65 + k) - 10);
                }
                sb.append(c);
                i /= 36;
            }
            return sb.toString();
        }
        public static String MakeKey(String name, int days, int id){
            id %= 100000;
            byte bkey[] = new byte[12];
            bkey[0] = (byte) 1; // Product type: IntelliJ IDEA is 1
            bkey[1] = 14; // version
            Date d = new Date();
            long ld = (d.getTime() >> 16);
            bkey[2] = (byte) (ld & 255);
            bkey[3] = (byte) ((ld >> 8) & 255);
            bkey[4] = (byte) ((ld >> 16) & 255);
            bkey[5] = (byte) ((ld >> 24) & 255);
            days &= 0xffff;
            bkey[6] = (byte) (days & 255);
            bkey[7] = (byte) ((days >> 8) & 255);
            bkey[8] = 105;
            bkey[9] = -59;
            bkey[10] = 0;
            bkey[11] = 0;
            int w = getCRC(name, id % 100000, bkey);
            bkey[10] = (byte) (w & 255);
            bkey[11] = (byte) ((w >> 8) & 255);
            BigInteger pow = new BigInteger("89126272330128007543578052027888001981", 10);
            BigInteger mod = new BigInteger("86f71688cdd2612ca117d1f54bdae029", 16);
            BigInteger k0 = new BigInteger(bkey);
            BigInteger k1 = k0.modPow(pow, mod);
            String s0 = Integer.toString(id);
            String sz = "0";
            while (s0.length() != 5)
            {
                s0 = sz.concat(s0);
            }
            s0 = s0.concat("-");
            String s1 = encodeGroups(k1);
            s0 = s0.concat(s1);
            return s0;
        }
        public static void main(String[] args){
            System.out.println("请输入用户名:");
            Scanner scanner = new Scanner(System.in);
            String username = scanner.next();
            Random r = new Random();
            System.out.println(MakeKey(username, 0, r.nextInt(100000)));
        }
    }
     


     



  • 相关阅读:
    Quartz任务调度(3)存储与持久化操作配置详细解
    Quartz任务调度(2)CronTrigger定制个性化调度方案
    Quartz任务调度(1)概念例析快速
    Mybatis Generator最完整配置详解
    SpringMVC之@ControllerAdvice
    文件上传api——MultipartFile
    Springboot使用MatrixVariable 注解
    p命名空间和c命名空间
    SpringBoot配置Cors跨域请求
    SpringBoot五步配置Mybatis
  • 原文地址:https://www.cnblogs.com/chenglc/p/7512022.html
Copyright © 2011-2022 走看看