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)));
    }
}
 

最新文章

  1. Markdown
  2. c#.net网页跳转七种方法
  3. script标签里的defer属性
  4. i love matlab
  5. 关于 SSV-ID: 4474 POC的分析和思考
  6. PL/pgSQL学习笔记之五
  7. C++ char*,const char*,string,int 的相互转换
  8. Codeforces D546:Soldier and Number Game
  9. hadoop 任务执行优化
  10. asp IIS部署An error occurred on the server when processing the URL错误提示解决
  11. php变量的引用及函数的引用
  12. 新学了一个用python编写的简单的百度贴吧帖子的爬虫
  13. MYSQL 关闭服务的过程
  14. Sql SUBSTR函数
  15. Repository 仓储,你的归宿究竟在哪?(上)
  16. C陷阱与缺陷 第二章
  17. zzw原创_linux下的ping6用法
  18. 使用IdentityServer4,在一个ASPNetCore项目中,配置oidc和api的AccessToken两种认证授权
  19. centos打开matlab的正确姿势
  20. SPLAY,LCT学习笔记(一)

热门文章

  1. 【Codeforces 1006D】Two Strings Swaps
  2. zoj 2201 No Brainer
  3. Android弹幕编程设计实现的解决方案(一)
  4. bzoj 3207 花神的嘲讽计划Ⅰ 主席树+hash
  5. 【BZOJ1834】network 网络扩容(最大流,费用流)
  6. Swift--方法(函数)
  7. git修改commit message及vi编辑器的简单使用
  8. HDU——2768 Cat vs. Dog
  9. hdu 3237
  10. [Bzoj2733][Hnoi2012] 永无乡(BST)(Pb_ds tree)