【工具篇】编程工具:IDEA
idea 破解
idea 2017-2018_激活方法
IntelliJ Idea 2017 免费激活方法
1.到网站 http://idea.lanyus.com/ 获取注册码。
2.填入下面的license server:
http://idea.iteblog.com/key.php
以上方法验证均可以
3.举例激活码1
1 | CNEKJPQZEX-eyJsaWNlbnNlSWQiOiJDTkVLSlBRWkVYIiwibGljZW5zZWVOYW1lIjoibGFuIHl1IiwiYXNzaWduZWVOYW1lIjoiIiwiYXNzaWduZWVFbWFpbCI6IiIsImxpY2Vuc2VSZXN0cmljdGlvbiI6IkZvciBlZHVjYXRpb25hbCB1c2Ugb25seSIsImNoZWNrQ29uY3VycmVudFVzZSI6ZmFsc2UsInByb2R1Y3RzIjpbeyJjb2RlIjoiQUMiLCJwYWlkVXBUbyI6IjIwMTgtMDEtMzAifSx7ImNvZGUiOiJETSIsInBhaWRVcFRvIjoiMjAxOC0wMS0zMCJ9LHsiY29kZSI6IklJIiwicGFpZFVwVG8iOiIyMDE4LTAxLTMwIn0seyJjb2RlIjoiUlMwIiwicGFpZFVwVG8iOiIyMDE4LTAxLTMwIn0seyJjb2RlIjoiV1MiLCJwYWlkVXBUbyI6IjIwMTgtMDEtMzAifSx7ImNvZGUiOiJEUE4iLCJwYWlkVXBUbyI6IjIwMTgtMDEtMzAifSx7ImNvZGUiOiJSQyIsInBhaWRVcFRvIjoiMjAxOC0wMS0zMCJ9LHsiY29kZSI6IlBTIiwicGFpZFVwVG8iOiIyMDE4LTAxLTMwIn0seyJjb2RlIjoiREMiLCJwYWlkVXBUbyI6IjIwMTgtMDEtMzAifSx7ImNvZGUiOiJEQiIsInBhaWRVcFRvIjoiMjAxOC0wMS0zMCJ9LHsiY29kZSI6IlJNIiwicGFpZFVwVG8iOiIyMDE4LTAxLTMwIn0seyJjb2RlIjoiUEMiLCJwYWlkVXBUbyI6IjIwMTgtMDEtMzAifSx7ImNvZGUiOiJDTCIsInBhaWRVcFRvIjoiMjAxOC0wMS0zMCJ9XSwiaGFzaCI6IjUxOTU1OTMvMCIsImdyYWNlUGVyaW9kRGF5cyI6MCwiYXV0b1Byb2xvbmdhdGVkIjpmYWxzZSwiaXNBdXRvUHJvbG9uZ2F0ZWQiOmZhbHNlfQ==-QOxwjWvRwJz6vo6J6adC3CJ4ukQHosbPYZ94URUVFna/Rbew8xK/M5gP3kAaPh6ZDveFdtMR1UBoumq3eCwXtXM3U3ls5noB4LIr+QplVlCj2pK5uNq7g/feyNyQcHpSXtvhIOnXDBLOecB05DOsxzm0p7ulGGJoAInmHeb9mc0eYjqc4RPpUQfh6HSYBnvEnKMlLF5bz4KEtzmsvvgA55CwzwQ3gRitm5Q/wUT7AQCBdjmBfNUjKVQL6TSjSDPp56FUdEs4Aab8LqstA2DIMbxocO64rvytmcUeIwu8Mi5uq87KQP5AQMSMYb59Inbd+dmVfx5cJo3fRS4/5s3/Hg==-MIIEPjCCAiagAwIBAgIBBTANBgkqhkiG9w0BAQsFADAYMRYwFAYDVQQDDA1KZXRQcm9maWxlIENBMB4XDTE1MTEwMjA4MjE0OFoXDTE4MTEwMTA4MjE0OFowETEPMA0GA1UEAwwGcHJvZDN5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxcQkq+zdxlR2mmRYBPzGbUNdMN6OaXiXzxIWtMEkrJMO/5oUfQJbLLuMSMK0QHFmaI37WShyxZcfRCidwXjot4zmNBKnlyHodDij/78TmVqFl8nOeD5+07B8VEaIu7c3E1N+e1doC6wht4I4+IEmtsPAdoaj5WCQVQbrI8KeT8M9VcBIWX7fD0fhexfg3ZRt0xqwMcXGNp3DdJHiO0rCdU+Itv7EmtnSVq9jBG1usMSFvMowR25mju2JcPFp1+I4ZI+FqgR8gyG8oiNDyNEoAbsR3lOpI7grUYSvkB/xVy/VoklPCK2h0f0GJxFjnye8NT1PAywoyl7RmiAVRE/EKwIDAQABo4GZMIGWMAkGA1UdEwQCMAAwHQYDVR0OBBYEFGEpG9oZGcfLMGNBkY7SgHiMGgTcMEgGA1UdIwRBMD+AFKOetkhnQhI2Qb1t4Lm0oFKLl/GzoRykGjAYMRYwFAYDVQQDDA1KZXRQcm9maWxlIENBggkA0myxg7KDeeEwEwYDVR0lBAwwCgYIKwYBBQUHAwEwCwYDVR0PBAQDAgWgMA0GCSqGSIb3DQEBCwUAA4ICAQC9WZuYgQedSuOc5TOUSrRigMw4/+wuC5EtZBfvdl4HT/8vzMW/oUlIP4YCvA0XKyBaCJ2iX+ZCDKoPfiYXiaSiH+HxAPV6J79vvouxKrWg2XV6ShFtPLP+0gPdGq3x9R3+kJbmAm8w+FOdlWqAfJrLvpzMGNeDU14YGXiZ9bVzmIQbwrBA+c/F4tlK/DV07dsNExihqFoibnqDiVNTGombaU2dDup2gwKdL81ua8EIcGNExHe82kjF4zwfadHk3bQVvbfdAwxcDy4xBjs3L4raPLU3yenSzr/OEur1+jfOxnQSmEcMXKXgrAQ9U55gwjcOFKrgOxEdek/Sk1VfOjvS+nuM4eyEruFMfaZHzoQiuw4IqgGc45ohFH0UUyjYcuFxxDSU9lMCv8qdHKm+wnPRb0l9l5vXsCBDuhAGYD6ss+Ga+aDY6f/qXZuUCEUOH3QUNbbCUlviSz6+GiRnt1kA9N2Qachl+2yBfaqUqr8h7Z2gsx5LcIf5kYNsqJ0GavXTVyWh7PYiKX4bs354ZQLUwwa/cG++2+wNWP+HtBhVxMRNTdVhSm38AknZlD+PTAsWGu9GyLmhti2EnVwGybSD2Dxmhxk3IPCkhKAK+pl0eWYGZWG3tJ9mZ7SowcXLWDFAk0lRJnKGFMTggrWjV8GYpw5bq23VmIqqDLgkNzuoog== |
举例激活码2
1 | BIG3CLIK6F-eyJsaWNlbnNlSWQiOiJCSUczQ0xJSzZGIiwibGljZW5zZWVOYW1lIjoibGFuIHl1IiwiYXNzaWduZWVOYW1lIjoiIiwiYXNzaWduZWVFbWFpbCI6IiIsImxpY2Vuc2VSZXN0cmljdGlvbiI6IkZvciBlZHVjYXRpb25hbCB1c2Ugb25seSIsImNoZWNrQ29uY3VycmVudFVzZSI6ZmFsc2UsInByb2R1Y3RzIjpbeyJjb2RlIjoiQUMiLCJwYWlkVXBUbyI6IjIwMTctMTEtMjMifSx7ImNvZGUiOiJETSIsInBhaWRVcFRvIjoiMjAxNy0xMS0yMyJ9LHsiY29kZSI6IklJIiwicGFpZFVwVG8iOiIyMDE3LTExLTIzIn0seyJjb2RlIjoiUlMwIiwicGFpZFVwVG8iOiIyMDE3LTExLTIzIn0seyJjb2RlIjoiV1MiLCJwYWlkVXBUbyI6IjIwMTctMTEtMjMifSx7ImNvZGUiOiJEUE4iLCJwYWlkVXBUbyI6IjIwMTctMTEtMjMifSx7ImNvZGUiOiJSQyIsInBhaWRVcFRvIjoiMjAxNy0xMS0yMyJ9LHsiY29kZSI6IlBTIiwicGFpZFVwVG8iOiIyMDE3LTExLTIzIn0seyJjb2RlIjoiREMiLCJwYWlkVXBUbyI6IjIwMTctMTEtMjMifSx7ImNvZGUiOiJEQiIsInBhaWRVcFRvIjoiMjAxNy0xMS0yMyJ9LHsiY29kZSI6IlJNIiwicGFpZFVwVG8iOiIyMDE3LTExLTIzIn0seyJjb2RlIjoiUEMiLCJwYWlkVXBUbyI6IjIwMTctMTEtMjMifSx7ImNvZGUiOiJDTCIsInBhaWRVcFRvIjoiMjAxNy0xMS0yMyJ9XSwiaGFzaCI6IjQ3NzU1MTcvMCIsImdyYWNlUGVyaW9kRGF5cyI6MCwiYXV0b1Byb2xvbmdhdGVkIjpmYWxzZSwiaXNBdXRvUHJvbG9uZ2F0ZWQiOmZhbHNlfQ==-iygsIMXTVeSyYkUxAqpHmymrgwN5InkOfeRhhPIPa88FO9FRuZosIBTY18tflChACznk3qferT7iMGKm7pumDTR4FbVVlK/3n1ER0eMKu2NcaXb7m10xT6kLW1Xb3LtuZEnuis5pYuEwT1zR7GskeNWdYZ0dAJpNDLFrqPyAPo5s1KLDHKpw+VfVd4uf7RMjOIzuJhAAYAG+amyivQt61I9aYiwpHQvUphvTwi0X0qL/oDJHAQbIv4Qwscyo4aYZJBKutYioZH9rgOP6Yw/sCltpoPWlJtDOcw/iEWYiCVG1pH9AWjCYXZ9AbbEBOWV71IQr5VWrsqFZ7cg7hLEJ3A==-MIIEPjCCAiagAwIBAgIBBTANBgkqhkiG9w0BAQsFADAYMRYwFAYDVQQDDA1KZXRQcm9maWxlIENBMB4XDTE1MTEwMjA4MjE0OFoXDTE4MTEwMTA4MjE0OFowETEPMA0GA1UEAwwGcHJvZDN5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxcQkq+zdxlR2mmRYBPzGbUNdMN6OaXiXzxIWtMEkrJMO/5oUfQJbLLuMSMK0QHFmaI37WShyxZcfRCidwXjot4zmNBKnlyHodDij/78TmVqFl8nOeD5+07B8VEaIu7c3E1N+e1doC6wht4I4+IEmtsPAdoaj5WCQVQbrI8KeT8M9VcBIWX7fD0fhexfg3ZRt0xqwMcXGNp3DdJHiO0rCdU+Itv7EmtnSVq9jBG1usMSFvMowR25mju2JcPFp1+I4ZI+FqgR8gyG8oiNDyNEoAbsR3lOpI7grUYSvkB/xVy/VoklPCK2h0f0GJxFjnye8NT1PAywoyl7RmiAVRE/EKwIDAQABo4GZMIGWMAkGA1UdEwQCMAAwHQYDVR0OBBYEFGEpG9oZGcfLMGNBkY7SgHiMGgTcMEgGA1UdIwRBMD+AFKOetkhnQhI2Qb1t4Lm0oFKLl/GzoRykGjAYMRYwFAYDVQQDDA1KZXRQcm9maWxlIENBggkA0myxg7KDeeEwEwYDVR0lBAwwCgYIKwYBBQUHAwEwCwYDVR0PBAQDAgWgMA0GCSqGSIb3DQEBCwUAA4ICAQC9WZuYgQedSuOc5TOUSrRigMw4/+wuC5EtZBfvdl4HT/8vzMW/oUlIP4YCvA0XKyBaCJ2iX+ZCDKoPfiYXiaSiH+HxAPV6J79vvouxKrWg2XV6ShFtPLP+0gPdGq3x9R3+kJbmAm8w+FOdlWqAfJrLvpzMGNeDU14YGXiZ9bVzmIQbwrBA+c/F4tlK/DV07dsNExihqFoibnqDiVNTGombaU2dDup2gwKdL81ua8EIcGNExHe82kjF4zwfadHk3bQVvbfdAwxcDy4xBjs3L4raPLU3yenSzr/OEur1+jfOxnQSmEcMXKXgrAQ9U55gwjcOFKrgOxEdek/Sk1VfOjvS+nuM4eyEruFMfaZHzoQiuw4IqgGc45ohFH0UUyjYcuFxxDSU9lMCv8qdHKm+wnPRb0l9l5vXsCBDuhAGYD6ss+Ga+aDY6f/qXZuUCEUOH3QUNbbCUlviSz6+GiRnt1kA9N2Qachl+2yBfaqUqr8h7Z2gsx5LcIf5kYNsqJ0GavXTVyWh7PYiKX4bs354ZQLUwwa/cG++2+wNWP+HtBhVxMRNTdVhSm38AknZlD+PTAsWGu9GyLmhti2EnVwGybSD2Dxmhxk3IPCkhKAK+pl0eWYGZWG3tJ9mZ7SowcXLWDFAk0lRJnKGFMTggrWjV8GYpw5bq23VmIqqDLgkNzuoog== |
4.对于 IDEA 2017.3月版本,需要按照如下的方式激活:
启动:idea_active_proxy激活代理.exe
接着,启动IDEA:输入server: http://localhost:8888
,然后可以关闭idea_active_proxy工具
5.万能的淘宝 IntelliJ IDEA, Ultimate,WebStorm,PhpStorm,PyCharm,GoLand,Appcode,Clion, Datagrip, Rider, Rubymine, Resharper C++, dotcover, dotmemory, dotpeek, dotTrace 等等。(版本号15.x-18.x均可使用)
1 | 5HMBH3TMNB-eyJsaWNlbnNlSWQiOiI1SE1CSDNUTU5CIiwibGljZW5zZWVOYW1lIjoiZGUgZGUiLCJhc3NpZ25lZU5hbWUiOiIiLCJhc3NpZ25lZUVtYWlsIjoiIiwibGljZW5zZVJlc3RyaWN0aW9uIjoiRm9yIGVkdWNhdGlvbmFsIHVzZSBvbmx5IiwiY2hlY2tDb25jdXJyZW50VXNlIjpmYWxzZSwicHJvZHVjdHMiOlt7ImNvZGUiOiJJSSIsInBhaWRVcFRvIjoiMjAxOS0wNi0yMyJ9LHsiY29kZSI6IlJTMCIsInBhaWRVcFRvIjoiMjAxOS0wNi0yMyJ9LHsiY29kZSI6IldTIiwicGFpZFVwVG8iOiIyMDE5LTA2LTIzIn0seyJjb2RlIjoiUkQiLCJwYWlkVXBUbyI6IjIwMTktMDYtMjMifSx7ImNvZGUiOiJSQyIsInBhaWRVcFRvIjoiMjAxOS0wNi0yMyJ9LHsiY29kZSI6IkRDIiwicGFpZFVwVG8iOiIyMDE5LTA2LTIzIn0seyJjb2RlIjoiREIiLCJwYWlkVXBUbyI6IjIwMTktMDYtMjMifSx7ImNvZGUiOiJSTSIsInBhaWRVcFRvIjoiMjAxOS0wNi0yMyJ9LHsiY29kZSI6IkRNIiwicGFpZFVwVG8iOiIyMDE5LTA2LTIzIn0seyJjb2RlIjoiQUMiLCJwYWlkVXBUbyI6IjIwMTktMDYtMjMifSx7ImNvZGUiOiJEUE4iLCJwYWlkVXBUbyI6IjIwMTktMDYtMjMifSx7ImNvZGUiOiJHTyIsInBhaWRVcFRvIjoiMjAxOS0wNi0yMyJ9LHsiY29kZSI6IlBTIiwicGFpZFVwVG8iOiIyMDE5LTA2LTIzIn0seyJjb2RlIjoiQ0wiLCJwYWlkVXBUbyI6IjIwMTktMDYtMjMifSx7ImNvZGUiOiJQQyIsInBhaWRVcFRvIjoiMjAxOS0wNi0yMyJ9LHsiY29kZSI6IlJTVSIsInBhaWRVcFRvIjoiMjAxOS0wNi0yMyJ9XSwiaGFzaCI6Ijk0MDEwNTkvMCIsImdyYWNlUGVyaW9kRGF5cyI6MCwiYXV0b1Byb2xvbmdhdGVkIjpmYWxzZSwiaXNBdXRvUHJvbG9uZ2F0ZWQiOmZhbHNlfQ==-bxO8rTTyr3M7eZ2vDLNED2oFAS+YVV9ql2RvEfJY6FyXPTmtO2I5XpEs9AoYVK5VX+NF7GD41LvCwONzvL69j1fDjVGcU1udj00srdHvuCMnPk1tsiJlnZ2wzmE+AVWKNbMMkzSphlxov5czEzRKG3lMPZ8ffz66+doKgcnef1y5owYdcm4qOCVGtBraBgDPNNM//BUTiCMu51J9B80YFvD2bDmw4pDYl2sorR/530+5Qc4Qrfeurz0YllUD7MEVzNKYh9hSLgWGk4GinB50qifwcqPhI6EF5TGD4oMHEdfCXom0NfO9P8fWwKpGFhfZ4XJml7k3EIAEzYFnau4QJw==-MIIEPjCCAiagAwIBAgIBBTANBgkqhkiG9w0BAQsFADAYMRYwFAYDVQQDDA1KZXRQcm9maWxlIENBMB4XDTE1MTEwMjA4MjE0OFoXDTE4MTEwMTA4MjE0OFowETEPMA0GA1UEAwwGcHJvZDN5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxcQkq+zdxlR2mmRYBPzGbUNdMN6OaXiXzxIWtMEkrJMO/5oUfQJbLLuMSMK0QHFmaI37WShyxZcfRCidwXjot4zmNBKnlyHodDij/78TmVqFl8nOeD5+07B8VEaIu7c3E1N+e1doC6wht4I4+IEmtsPAdoaj5WCQVQbrI8KeT8M9VcBIWX7fD0fhexfg3ZRt0xqwMcXGNp3DdJHiO0rCdU+Itv7EmtnSVq9jBG1usMSFvMowR25mju2JcPFp1+I4ZI+FqgR8gyG8oiNDyNEoAbsR3lOpI7grUYSvkB/xVy/VoklPCK2h0f0GJxFjnye8NT1PAywoyl7RmiAVRE/EKwIDAQABo4GZMIGWMAkGA1UdEwQCMAAwHQYDVR0OBBYEFGEpG9oZGcfLMGNBkY7SgHiMGgTcMEgGA1UdIwRBMD+AFKOetkhnQhI2Qb1t4Lm0oFKLl/GzoRykGjAYMRYwFAYDVQQDDA1KZXRQcm9maWxlIENBggkA0myxg7KDeeEwEwYDVR0lBAwwCgYIKwYBBQUHAwEwCwYDVR0PBAQDAgWgMA0GCSqGSIb3DQEBCwUAA4ICAQC9WZuYgQedSuOc5TOUSrRigMw4/+wuC5EtZBfvdl4HT/8vzMW/oUlIP4YCvA0XKyBaCJ2iX+ZCDKoPfiYXiaSiH+HxAPV6J79vvouxKrWg2XV6ShFtPLP+0gPdGq3x9R3+kJbmAm8w+FOdlWqAfJrLvpzMGNeDU14YGXiZ9bVzmIQbwrBA+c/F4tlK/DV07dsNExihqFoibnqDiVNTGombaU2dDup2gwKdL81ua8EIcGNExHe82kjF4zwfadHk3bQVvbfdAwxcDy4xBjs3L4raPLU3yenSzr/OEur1+jfOxnQSmEcMXKXgrAQ9U55gwjcOFKrgOxEdek/Sk1VfOjvS+nuM4eyEruFMfaZHzoQiuw4IqgGc45ohFH0UUyjYcuFxxDSU9lMCv8qdHKm+wnPRb0l9l5vXsCBDuhAGYD6ss+Ga+aDY6f/qXZuUCEUOH3QUNbbCUlviSz6+GiRnt1kA9N2Qachl+2yBfaqUqr8h7Z2gsx5LcIf5kYNsqJ0GavXTVyWh7PYiKX4bs354ZQLUwwa/cG++2+wNWP+HtBhVxMRNTdVhSm38AknZlD+PTAsWGu9GyLmhti2EnVwGybSD2Dxmhxk3IPCkhKAK+pl0eWYGZWG3tJ9mZ7SowcXLWDFAk0lRJnKGFMTggrWjV8GYpw5bq23VmIqqDLgkNzuoog== |
idea 2019.1 无限试用删除key
idea 2020.1.1破解
IntelliJ IDEA 2020.1.1 破解
破解
百度网盘 : https://pan.baidu.com/s/1Er1bSPsAj7NkmwH0Q9ONAA 提取码:ytld
1、选择试用启动idea
2、进入或解压文件里面的压缩包,进入lib文件夹
3、直接将jar文件用鼠标拖进idea界面,然后一路重启或者确定,中间出现什么拖放失败不用理会,直接点确定就好是正常现象。
4、直接点击为IDEA安装
5、重启之后一般情况下就已经破解完成,不需要再改配置文件,点击Help->Register查看是否成功破解
6、里面的激活码是重启之上自动填入的,如果不行找到下载的压缩文件lib下的ACTIVATION_CODE.txt换一个激活码或者查看README.pdf帮助。
idea 2020.2 安装破解
idea 2020.2 安装破解
1.官网下载最新版
2.https://zhile.io下载最新版jetbrains-agent-latest.zip
3.安装
一路next
4.破解
- jetbrains-agent-latest.zip复制到桌面
- 拖到idea界面
- 安装参数在”安装参数.txt”
重启即可
5.问题
idea 一直卡在reading pom.xml状态,求解决
- 我是开了 VPN直接就搞定了
pre-built jdk shared indexes reduce the indexing time and cpu laod load 是啥?
- 预构建jdk索引,构建索引会快一点,可以下载
idea 2020.3.2~2021.3破解
idea 2020.3.2破解
博客
1 | 也挺好用的,商店里添加知了大佬的插件库(https://plugins.zhile.io),直接安装(IDE Eval Reset).然后勾选每次都重启。本来以为会卡顿.目前没有发现什么卡顿的 |
- 阿里渣渣Java开发组
使用的是 BetterIntelliJ-1.16.jar + key
1 | 1.创建一个空的工程 |
注意,亲测破解idea可以,然后下载了pycharm,照着上面步骤来一遍就行了。
ps:为了避免可能出现的问题。我idea 和pycharm下载版本我都是2020.3.2.不同版本没有做测试。
:date: 2021年12月6日23:06:45
更新到2021.3 ===> emmmmm.手贱
需要登录了,登录后还报错了
删除jvm配置文件中的路径等
:date: 2022年2月10日20:43:21
idea 2023.1 ja-netfilter方案
更新ja-netfilter方案
2021.3后,重置插件可以卸载了。
https://github.com/ja-netfilter 下载jar
https://github.com/ja-netfilter/plugin-mymap 下载插件
conf下编写mymap.conf
1 | [MyMap] |
idea64.exe.vmoptions
1 | -javaagent:D:\tools\ja-netfilter-v2.2.3\ja-netfilter\ja-netfilter.jar |
搞定
:date: 2022年2月19日10:32:30
失效了
从这里下载包,按照readme.txt,激活成功。码子哥:https://jetbra.in/c6d70b01-3b1d-4710-9291-d01d9944574b.html
更多激活码:http://jets.idejihuo.com/
idea 破解 | 探针技术
javaagent
从idea破解jar包看待技术
Java Agent 非硬编码式代理类,这也就是常说的探针技术
ASM 字节码编程简单使用
工程打包额外加载其他 jar 方法
java agent
1 | 在 JDK1.5 以后,JVM 提供了 agent 技术构建一个独立于应用程序的代理程序(即为Agent),用来协助监测、运行甚至替换其他JVM上的程序。使用它可以实现虚拟机级别的AOP功能。 |
- asm
1 | ASM 是一个 JAVA 字节码分析、创建和修改的开源应用框架。在 ASM 中提供了诸多的API用于对类的内容进行字节码操作的方法。与传统的 BCEL 和 SERL 不同,在 ASM 中提供了更为优雅和灵活的操作字节码的方式。目前 ASM 已被广泛的开源应用架构所使用,例如:Spring、Hibernate 等。 |
idea 激活 | 过期重新试用
过期重新执行该文件即可
reset_jetbrains_eval_windows.vbs
1 | Set oShell = CreateObject("WScript.Shell") |
idea edu邮箱注册使用
idea edu邮箱注册使用
1 | 美国西南学院(Southwestern College)edu邮箱注册教程。edu邮箱可以申请无限容量的Google Drive网盘,当然还有很多其他用途.比如idea免费使用 |
- 先准备个美国身份证,这个就可以借助工具随机生成一个,将个人信息保存下来。
- 生成地址:
- 2、注册一个OpenCCC帐户,注册过程最好全程挂梯子,最后会要你设置账户和密码。
注册地址:https://www.opencccapply.net/uPortal/AccountCreation
注意:在注册第2步,Permanent Address选项填的无家可归,不知道对申请有不有加成,反正最后是通过了。
idea 2022.3.1(亲测可用)
下载:
https://github.com/zuoer96/ja-netfilter-backup(`power.conf`配置文件中的内容会更新)
idea 2022.3.1:https://www.jetbrains.com/zh-cn/idea/download/other.html
jetbrain全家桶在2022.2版本默认启用Java17,所以vmoptions文件需要多加2行代码:
1 | --add-opens=java.base/jdk.internal.org.objectweb.asm=ALL-UNNAMED |
基于power插件
简单粗暴的屠龙刀(指对非对称加密),不需要再关注别人的公众号到处找注册码了。后续升级也没有问题
配置方法如下:
- 编辑IDEA的vmpotions,Mac的路径如下(其他系统自行百度搜位置)
1 | D:\tools\jetbrains\idea\idea2022.3.1\bin\idea.vmoptions |
配置完成后就可以准备激活IDEA了。这里有两种从激活方式,一种是用注册码,另一种是使用服务器激活,鉴于评论区很多小伙伴说服务器因为网络问题不太稳定,建议大家优先用注册码方式。
注册码激活
插件仓库已经更新了,之前就下载过的需要重新拉下代码,不然会激活失败。
这种方法的优点是不用担心网络问题导致的激活失败。缺点是各产品注册码不通用,得去找挨个找。
打开IDEA后直接去下面的网站找对应产品的注册码即可:
服务器激活
这种方法的优点是用这个方式能永久激活所有JetBrain家产品,不用挨个找激活码了。缺点是评论区部分网友遇到的网络问题,不过我目前还没遇到所以依然一直在用这种方式
打开IDEA,选服务器激活,地址输入https://jetbra.in
,点击激活即可
至此激活就完成了,没有过期时间 没有版本限制
基于拦截器 & mymap插件(推荐)
2023年6月20日23点14分 亲测可用
这个方案就是作者github直接提到的那个方案,大家只需要找一个可用的激活码完成初次激活,进入IDEA之后再用拦截器屏蔽掉程序用来验证的URL地址即可
由于网上公开的注册码很容易被封杀或过期,所以还需要配合一个叫做mymap的插件来修改一下返回的数据包,使原本过期的激活码能够继续使用
具体URL和DNS的拦截器这里就不赘述了,大家可以去官方仓库看教程:https://github.com/ja-netfilter/plugin-power
mymap插件官方没有内置,可以在这里下载:https://github.com/zfkun/ja-netfilter-mymap-plugin
配置文件可以这么写(第一行是显示的名字,第二行是宽限天数,第三行是过期时间 不建议改太大,容易引起报错):
1.将backup\plugins\mymap.jar
拷贝到all\plugins-jetbrains
下
2.在all\config-jetbrains
创建mymap.conf
1 | [MyMap] |
3.配置:在D:\tools\jetbrains\idea\idea2022.3.1\bin\idea.vmoptions
添加配置
1 | # 添加以下内容 |
4.双击all\scripts\install-current-user.vbs
5.在idea输入从https://jetbra.in/s找到的激活码(这个是中转站,上面的网站都是激活码网站,点击就行)
这种方式相对第一个需要改动的配置更多,而且需要自己找一个仅过期但未被封禁的激活码,这里提供一个:
1 | R7FP0YWA38-eyJsaWNlbnNlSWQiOiJSN0ZQMFlXQTM4IiwibGljZW5zZWVOYW1lIjoi5rC45LmF5r+A5rS7IHd3d8K3YWppaHVvwrdjb20iLCJhc3NpZ25lZU5hbWUiOiIiLCJhc3NpZ25lZUVtYWlsIjoiIiwibGljZW5zZVJlc3RyaWN0aW9uIjoiIiwiY2hlY2tDb25jdXJyZW50VXNlIjpmYWxzZSwicHJvZHVjdHMiOlt7ImNvZGUiOiJEUE4iLCJwYWlkVXBUbyI6IjIwMjItMDEtMDkiLCJleHRlbmRlZCI6ZmFsc2V9LHsiY29kZSI6IkRCIiwicGFpZFVwVG8iOiIyMDIyLTAxLTA5IiwiZXh0ZW5kZWQiOmZhbHNlfSx7ImNvZGUiOiJQUyIsInBhaWRVcFRvIjoiMjAyMi0wMS0wOSIsImV4dGVuZGVkIjpmYWxzZX0seyJjb2RlIjoiSUkiLCJwYWlkVXBUbyI6IjIwMjItMDEtMDkiLCJleHRlbmRlZCI6ZmFsc2V9LHsiY29kZSI6IlJTQyIsInBhaWRVcFRvIjoiMjAyMi0wMS0wOSIsImV4dGVuZGVkIjp0cnVlfSx7ImNvZGUiOiJHTyIsInBhaWRVcFRvIjoiMjAyMi0wMS0wOSIsImV4dGVuZGVkIjpmYWxzZX0seyJjb2RlIjoiRE0iLCJwYWlkVXBUbyI6IjIwMjItMDEtMDkiLCJleHRlbmRlZCI6ZmFsc2V9LHsiY29kZSI6IlJTRiIsInBhaWRVcFRvIjoiMjAyMi0wMS0wOSIsImV4dGVuZGVkIjp0cnVlfSx7ImNvZGUiOiJEUyIsInBhaWRVcFRvIjoiMjAyMi0wMS0wOSIsImV4dGVuZGVkIjpmYWxzZX0seyJjb2RlIjoiUEMiLCJwYWlkVXBUbyI6IjIwMjItMDEtMDkiLCJleHRlbmRlZCI6ZmFsc2V9LHsiY29kZSI6IlJDIiwicGFpZFVwVG8iOiIyMDIyLTAxLTA5IiwiZXh0ZW5kZWQiOmZhbHNlfSx7ImNvZGUiOiJDTCIsInBhaWRVcFRvIjoiMjAyMi0wMS0wOSIsImV4dGVuZGVkIjpmYWxzZX0seyJjb2RlIjoiV1MiLCJwYWlkVXBUbyI6IjIwMjItMDEtMDkiLCJleHRlbmRlZCI6ZmFsc2V9LHsiY29kZSI6IlJEIiwicGFpZFVwVG8iOiIyMDIyLTAxLTA5IiwiZXh0ZW5kZWQiOmZhbHNlfSx7ImNvZGUiOiJSUzAiLCJwYWlkVXBUbyI6IjIwMjItMDEtMDkiLCJleHRlbmRlZCI6ZmFsc2V9LHsiY29kZSI6IlJNIiwicGFpZFVwVG8iOiIyMDIyLTAxLTA5IiwiZXh0ZW5kZWQiOmZhbHNlfSx7ImNvZGUiOiJBQyIsInBhaWRVcFRvIjoiMjAyMi0wMS0wOSIsImV4dGVuZGVkIjpmYWxzZX0seyJjb2RlIjoiUlNWIiwicGFpZFVwVG8iOiIyMDIyLTAxLTA5IiwiZXh0ZW5kZWQiOnRydWV9LHsiY29kZSI6IkRDIiwicGFpZFVwVG8iOiIyMDIyLTAxLTA5IiwiZXh0ZW5kZWQiOmZhbHNlfSx7ImNvZGUiOiJSU1UiLCJwYWlkVXBUbyI6IjIwMjItMDEtMDkiLCJleHRlbmRlZCI6ZmFsc2V9LHsiY29kZSI6IkRQIiwicGFpZFVwVG8iOiIyMDIyLTAxLTA5IiwiZXh0ZW5kZWQiOnRydWV9LHsiY29kZSI6IlBEQiIsInBhaWRVcFRvIjoiMjAyMi0wMS0wOSIsImV4dGVuZGVkIjp0cnVlfSx7ImNvZGUiOiJQV1MiLCJwYWlkVXBUbyI6IjIwMjItMDEtMDkiLCJleHRlbmRlZCI6dHJ1ZX0seyJjb2RlIjoiUFNJIiwicGFpZFVwVG8iOiIyMDIyLTAxLTA5IiwiZXh0ZW5kZWQiOnRydWV9LHsiY29kZSI6IlBQUyIsInBhaWRVcFRvIjoiMjAyMi0wMS0wOSIsImV4dGVuZGVkIjp0cnVlfSx7ImNvZGUiOiJQQ1dNUCIsInBhaWRVcFRvIjoiMjAyMi0wMS0wOSIsImV4dGVuZGVkIjp0cnVlfSx7ImNvZGUiOiJQR08iLCJwYWlkVXBUbyI6IjIwMjItMDEtMDkiLCJleHRlbmRlZCI6dHJ1ZX0seyJjb2RlIjoiUFBDIiwicGFpZFVwVG8iOiIyMDIyLTAxLTA5IiwiZXh0ZW5kZWQiOnRydWV9LHsiY29kZSI6IlBSQiIsInBhaWRVcFRvIjoiMjAyMi0wMS0wOSIsImV4dGVuZGVkIjp0cnVlfSx7ImNvZGUiOiJQU1ciLCJwYWlkVXBUbyI6IjIw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 |
因此也导致了一个问题:部分收费插件在网上找不到公开的可用激活码,这些插件就无法使用,所以还是建议用第一种
idea 安装、配置、使用
IntelliJ IDEA 介绍
JetBrains 公司介绍
IDEA(https://www.jetbrains.com/idea/)是 JetBrains 公司的产品,公司旗下还有其它产品,比如:
- WebStorm:用于开发 JavaScript、HTML5、CSS3 等前端技术;
- PyCharm:用于开发 python
- PhpStorm:用于开发 PHP
- RubyMine:用于开发 Ruby/Rails
- AppCode:用于开发 Objective - C/Swift
- CLion:用于开发 C/C++
- DataGrip:用于开发数据库和 SQL
- Rider:用于开发.NET
- GoLand:用于开发 Go
- Android Studio:用于开发 android(google 基于 IDEA 社区版进行迭代)
IntelliJ IDEA 介绍
IDEA,全称 IntelliJ IDEA,是 Java 语言的集成开发环境,IDEA 在业界被公认为是最好的 java 开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、Ant、JUnit、CVS 整合、代码审查、创新的 GUI 设计等方面的功能可以说是超常的。IDEA 是 JetBrains 公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。它的旗舰版本还支持 HTML,CSS,PHP,MySQL,Python 等。
IntelliJ IDEA 在 2015 年的官网上这样介绍自己:
Excel at enterprise, mobile and web development with Java, Scala and Groovy,with all the latest modern technologies and frameworks available out of thebox.
简明翻译:IntelliJ IDEA 主要用于支持 Java、Scala、Groovy 等语言的开发工具,同时具备支持目前主流的技术和框架,擅长于企业应用、移动应用和 Web 应用的开发。
IDEA 的主要功能介绍
语言支持上:
其他支持:
IDEA 的特色功能
- 智能的选取:在很多时候我们要选取某个方法,或某个循环或想一步一步从一个变量到整个类慢慢扩充着选取,IDEA就提供这种基于语法的选择,在默认设置中 Ctrl + W,可以实现选取范围的不断扩充,这种方式在重构的时候尤其显得方便。
- 丰富的导航模式:IDEA 提供了丰富的导航查看模式,例如 Ctrl + E 显示最近打开过的文件,Ctrl + N 显示你希望显示的类名查找框(该框同样有智能补充功能,当你输入字母后IDEA将显示所有候选类名)。在最基本的 Project 视图中,你还可以选择多种的视图方式。
- 历史记录功能:不用通过版本管理服务器,单纯的 IDEA 就可以查看任何工程中文件的历史记录,在版本恢复时你可以很容易的将其恢复。
- JUnit 的完美支持
- 对重构的优越支持:IDEA 是所有 IDE 中最早支持重构的,其优秀的重构能力一直是其主要卖点之一。
- 编码辅助:Java 规范中提倡的 toString()、hashCode()、equals() 以及所有的 get/set 方法,你可以不用进行任何的输入就可以实现代码的自动生成,从而把你从无聊的基本方法编码中解放出来。
- 灵活的排版功能:基本所有的 IDE 都有重排版功能,但仅有 IDEA 的是人性的,因为它支持排版模式的定制,你可以根据不同的项目要求采用不同的排版方式。
- XML 的完美支持:XML 全提示支持:所有流行框架的 XML 文件都支持全提示,谁用谁知道。
- 动态语法检测:任何不符合 Java 规范、自己预定义的规范、累赘都将在页面中加亮显示。
- 代码检查:对代码进行自动分析,检测不符合规范的,存在风险的代码,并加亮显示。
- 对 JSP 的完全支持:不需要任何的插件,完全支持 JSP。
- 智能编辑:代码输入过程中,自动补充方法或类。
- EJB 支持:不需要任何插件完全支持 EJB(6.0 支持 EJB 3.0)
- 列编辑模式:用过 UtralEdit 的肯定对其的列编辑模式赞赏不已,因为它减少了很多无聊的重复工作,而 IDEA 完全支持该模式,从而更加提高了编码效率。
- 预置模板:预置模板可以让你把经常用到的方法编辑进模板,使用时你只用输入简单的几个字母就可以完成全部代码的编写。例如使用比较高的 public static void main(String[] args){} 你可以在模板中预设 pm 为该方法,输入时你只要输入 pm 再按代码辅助键,IDEA 将完成代码的自动输入。
- 完美的自动代码完成:智能检查类中的方法,当发现方法名只有一个时自动完成代码输入,从而减少剩下代码的编写工作。
- 版本控制完美支持:集成了目前市面上常见的所有版本控制工具插件,包括 git、svn、github,让开发人员在编程的工程中直接在 Intellij IDEA 里就能完成代码的提交、检出、解决冲突、查看版本控制服务器内容等等。
- 不使用代码的检查:自动检查代码中不使用的代码,并给出提示,从而使代码更高效。
- 智能代码:自动检查代码,发现与预置规范有出入的代码给出提示,若程序员同意修改自动完成修改。例如代码:String str = “Hello Intellij “ + “IDEA”; IDEA 将给出优化提示,若程序员同意修改 IDEA 将自动将代码修改为:String str = “Hello Intellij IDEA”;
- 正则表达式的查找和替换功能:查找和替换支持正则表达式,从而提高效率。
- JavaDoc 预览支持:支持 JavaDoc 的预览功能,在 JavaDoc 代码中 Ctrl + Q 显示 JavaDoc 的结果,从而提高 DOC 文档的质量。
- 程序员意图支持:程序员编码时 IDEA 时时检测你的意图,或提供建议,或直接帮你完成代码
IDEA 的主要优势(对比Eclipse)
- ① 强大的整合能力。比如:Git、Maven、Spring 等
- ② 提示功能的快速、便捷
- ③ 提示功能的范围广
- ④ 好用的快捷键和代码模板 private static final psf
- ⑤ 精准搜索
IDEA 的下载地址(官网)
https://www.jetbrains.com/idea/download/#section=windows
IDEA 分为两个版本:**旗舰版(Ultimate)和社区版(Community)**。
旗舰版收费(限 30 天免费试用),社区版免费,这和 Eclipse 有很大区别。
这里提供了不同操作系统下的两个不同版本的安装文件。
两个不同版本的详细对比,可以参照官网:
https://www.jetbrains.com/idea/features/editions_comparison_matrix.html
官网提供的详细使用文档
https://www.jetbrains.com/help/idea/meet-intellij-idea.html
windows 下安装过程
安装前的准备
硬件要求(Hardware requirements)
个人建议配置:内存 8G 或以上,CPU 最好 i5 以上,最好安装块固态硬盘(SSD),将IDEA安装在固态硬盘上,这样流畅度会加快很多。
软件要求(Software requirements)
操作系统:Microsoft Windows 10/8/7/Vista/2003/XP (32 or 64 bit)
软件环境:
注意:这里如果没有安装 JDK 的话,请参考 JDK 8 的安装与配置进行安装配置。
具体安装过程
双击:
- 确认 32 位版还是 64 位版
- 确认是否与.java、.groovy、.kt 格式文件进行关联,这里也可以选择不关联。
安装总结
从安装上来看,IntelliJ IDEA 对硬件的要求似乎不是很高。可是实际在开发中其实并不是这样的,因为 IntelliJ IDEA 执行时会有大量的缓存、索引文件,所以如果你正在使用 Eclipse / MyEclipse,想通过 IntelliJ IDEA 来解决计算机的卡、慢等问题,这基本上是不可能的,本质上你应该对自己的硬件设备进行升级。
查看安装目录结构
其中:bin 目录下:
这里以我的电脑系统(64 位 windows7,16G 内存)为例,说明一下如何调整 VM 配置文件:
大家根据电脑系统的位数,选择 32 位的 VM 配置文件或者 64 位的 VM 配置文件
32 位操作系统内存不会超过 4G,所以没有多大空间可以调整,建议不用调整了
64 位操作系统中 8G 内存以下的机子或是静态页面开发者是无需修改的。
64 位操作系统且内存大于 8G 的,如果你是开发大型项目、Java 项目或是 Android 项目,建议进行修改,常修改的就是下面 3 个参数:
查看设置目录结构
这是 IDEA 的各种配置的保存目录。这个设置目录有一个特性,就是你删除掉整个目录之后,重新启动 IntelliJ IDEA 会再自动帮你生成一个全新的默认配置,所以很多时候如果你把 IntelliJ IDEA 配置改坏了,没关系,删掉该目录,一切都会还原到默认。
config 目录
config 目录是 IntelliJ IDEA 个性化化配置目录,或者说是整个 IDE 设置目录。此目录可看成是最重要的目录,没有之一,如果你还记得安装篇的介绍的时候,安装新版本的 IntelliJ IDEA 会自动扫描硬盘上的旧配置目录,指的就是该目录。
这个目录主要记录了:IDE 主要配置功能、自定义的代码模板、自定义的文件模板、自定义的快捷键、Project 的 tasks 记录等等个性化的设置。 比如:
system 目录
system 目录是 IntelliJ IDEA 系统文件目录,是 IntelliJ IDEA 与开发项目一个桥梁目录,里面主要有:缓存、索引、容器文件输出等等,虽然不是最重要目录,但也是最不可或缺的目录之一。比如:
启动应用后简单配置
是否导入已有设置
首次启动,会弹出如下的对话框。选择不导入已有的设置。
激活
然后根据提供的激活文档《IDEA2017-2018_激活方法》或百度:idea 破解码,填入:lisence server 的具体值即可。(需要联网)或者 选择 Activation code,根据文档提供的激活码,同样可以激活。(不需要联网)
补充:
对于 IDEA 2017.3 月版本,需要按照如下的方式激活:
方式一:
启动:idea_active_proxy 激活代理.exe
接着,启动 IDEA:输入 server: http://localhost:8888
,然后可以关闭idea_active_proxy 工具。
方式二:淘宝,你懂的
设置主题
这里根据个人喜好,进行选择,也可以选择跳过(skip all and set defaults)。后面在settings 里也可以再设置主题等。这里选择:Next:Default plugins
设置插件
设置 IDEA 中的各种插件,可以选择自定义设置、删除,或者安装本身不存在的插件(比如:支持 Scala 的插件)。这里不设置,后面也可以通过界面菜单栏的settings 进行设置。
IDEA 插件官方下载地址:https://plugins.jetbrains.com/idea
启动页面
创建 Java 工程
创建 Java 工程
- Create New Project:创建一个新的工程
- Import Project:导入一个现有的工程
- Open:打开一个已有工程。比如:可以打开 Eclipse 项目。
- Check out from Version Control:可以通过服务器上的项目地址 check out Github上面项目或其他 Git 托管服务器上的项目
这里选择 Create New Project,需要明确一下概念:
IntelliJ IDEA 没有类似 Eclipse 的工作空间的概念(Workspaces),最大单元就是Project。这里可以把 Project 理解为 Eclipse 中的 Workspace。
选择指定目录下的 JDK 作为 Project SDK。
如果要创建 Web 工程,则需要勾选上面的 Web Application。如果不需要创建 Web工程的话,则不需要勾选。这里先不勾选,只是创建简单的 Java 工程。
其中,选择 New:
选择 jdk 的安装路径所在位置:
点击 OK 以后,选择 Next:
这里不用勾选。选择 Next,进入下一个页面:
给创建的工程起一个名字,点击 finish。
点击 OK 即可。
设置显示常见的视图
调出工具条和按钮组
工程界面展示
- 工程下的 src 类似于 Eclipse 下的 src 目录,用于存放代码。
- 工程下的.idea 和 project01.iml 文件都是 IDEA 工程特有的。类似于 Eclipse 工程下的.settings、.classpath、.project 等。
创建 package 和 class
接着在 src 目录下创建一个 package:
在包下 new-class:
不管是创建 class,还是 interface,还是 annotation,都是选择 new – java class,然后在下拉框中选择创建的结构的类型。
接着在类 HelloWorld 里声明主方法,输出 helloworld,完成测试。
说明:在 IDEA 里要说的是,写完代码,不用点击保存。****IDEA 会自动保存代码。
创建模块(Module)
- 在 Eclipse 中我们有 Workspace(工作空间)和 Project(工程)的概念,在 IDEA中只有 Project(工程)和 Module(模块)的概念。这里的对应关系为:
这个地方刚开始用的时候会很容易理不清它们之间的关系。
从 Eclipse 转过来的人总是下意识地要在同一个窗口管理 n 个项目,这在IntelliJ IDEA 是无法做到的。IntelliJ IDEA 提供的解决方案是打开多个项目实例,即打开多个项目窗口。即:一个 Project 打开一个 Window 窗口。
在 IntelliJ IDEA 中 Project 是最顶级的级别,次级别是 Module。一个 Project可以有多个 Module。目前主流的大型项目都是分布式部署的,结构都是类似这种多 Module 结构。
这类项目一般是这样划分的,比如:core Module、web Module、plugin Module、
solr Module 等等,模块之间彼此可以相互依赖。通过这些 Module 的命名也可
以看出,他们之间都是处于同一个项目业务下的模块,彼此之间是有不可分割的
业务关系的。举例:
- 相比较于多 Module 项目,小项目就无需搞得这么复杂。只有一个 Module 的结构 IntelliJ IDEA 也是支持的,并且 IntelliJ IDEA 创建项目的时候,默认就是单Module 的结构的。
下面,我们演示如何创建 Module:
接着选择 Next:
之后,我们可以在 Module 的 src 里写代码,此时 Project 工程下的 src 就没什么用了。可以删掉。
如何删除模块
此时的删除,会从硬盘上将此 module 删除掉。
查看项目配置
进入项目结构:
idea 创建javaweb项目
新建 Java Web 项目
打开 IDEA -> Create New Project
选择 Java -> Java EE -> Web Application
选择工作空间
项目命名后选择存放的工作空间,项目就创建完成了
配置 JDK
选择 File -> Project Structure…
选择 JDK 的安装路径即可
配置 Tomcat
选择 Run -> Edit Configurations…
选择 + 号 -> Tomcat Server -> Local
选择 Tomcat 的安装路径即可
配置 Tomcat 本地部署
继续上一步,选择 Deployment -> + 号 -> Artifact…
ps: war 是将工程打包war包,到了tomcat还要解压。而war exploded是直接复制文件夹到tomcat,推荐使用war exploded
选择 Server 配置自动更新
测试运行
选择需要运行的项目,点击 运行 图标
浏览器打开:http://localhost:8080
常用配置
IntelliJ IDEA 有很多人性化的设置我们必须单独拿出来讲解,也因为这些人性化的设置让那些 IntelliJ IDEA 死忠粉更加死心塌地使用它和分享它。
进入设置界面:
目录结构如下:
Appearance & Behavior
设置主题
这里默认提供了三套主题:IntelliJ,Darcula,Windows。这里可以根据自己的喜好进行选择。
设置窗体及菜单的字体及字体大小 (可忽略)
补充:设置编辑区主题 (可忽略)
IDEA 默认提供了两个编辑区主题,可以通过如下的方式进行选择。
- 如果想要更多的主题效果的话,可以到如下的网站下载:
- 下载以后,导入主题:(方式一)
file –> import setttings –> 选中下载的主题 jar 文件 –> 一路确认 –> 重启。
重启以后,新主题会自动启用。如果没有启用,可以如下方式选择:
- 下载以后,导入主题:(方式二)
补充:通过插件(plugins)更换主题
喜欢黑色主题的话,还可以下载插件:Material Theme UI
点击按钮以后,在联网环境下搜索如下的插件-安装-重启 IDEA 即可:
如果对安装的主题插件不满意,还可以找到此插件,进行卸载 – 重启 IDEA 即可。
Editor - General
设置鼠标滚轮修改字体大小(可忽略)
我们可以勾选此设置后,增加 Ctrl + 鼠标滚轮 快捷键来控制代码字体大小显示。
设置鼠标悬浮提示
设置自动导包功能
- Add unambiguous imports on the fly:自动导入不明确的结构
- Optimize imports on the fly:自动帮我们优化导入的包
设置显示行号和方法间的分隔符
- 如上图红圈所示,可以勾选 Show line numbers:显示行数。我建议一般这个要勾选上。
- 如上图红圈所示,可以勾选 Show method separators: 显示方法分隔线。这种线有助于我们区分开方法,所以建议勾选上。
忽略大小写提示
- IntelliJ IDEA 的代码提示和补充功能有一个特性:区分大小写。如上图标注所示,默认就是 First letter 区分大小写的。
- 区分大小写的情况是这样的:比如我们在 Java 代码文件中输入 stringBuffer,IntelliJ IDEA 默认是不会帮我们提示或是代码补充的,但是如果我们输入StringBuffer 就可以进行代码提示和补充。
- 如果想不区分大小写的话,改为 None 选项即可。
设置取消单行显示 tabs 的操作
如上图标注所示,在打开很多文件的时候,IntelliJ IDEA 默认是把所有打开的文件名 Tab 单行显示的。但是我个人现在的习惯是使用多行,多行效率比单行高,因为单行会隐藏超过界面部分 Tab,这样找文件不方便。
Editor – Font
设置默认的字体、字体大小、字体行间距
Editor – Color Scheme
修改当前主题的字体、字体大小、字体行间距(可忽略)
如果当前主题不希望使用默认字体、字体大小、字体行间距,还可以单独设置:
修改当前主题的控制台输出的字体及字体大小(可忽略)
修改代码中注释的字体颜色
- Doc Comment – Text:修改文档注释的字体颜色
- Block comment:修改多行注释的字体颜色
- Line comment:修改当行注释的字体颜色
Editor – Code Style
设置超过指定 import 个数,改为(可忽略)
Editor – File and Code Templates
修改类头的文档注释信息
常用的预设的变量,这里直接贴出官网给的:
Editor – File Encodings
设置项目文件编码
说明:Transparent native-to-ascii conversion 主要用于转换 ascii,一般都要勾选,
不然 Properties 文件中的注释显示的都不会是中文。
设置当前源文件的编码(忽略)
对单独文件的编码修改还可以点击右下角的编码设置区。如果代码内容中包含中文,则会弹出如上的操作选择。其中:
①Reload 表示使用新编码重新加载,新编码不会保存到文件中,重新打开此文件,旧编码是什么依旧还是什么。
②Convert 表示使用新编码进行转换,新编码会保存到文件中,重新打开此文件,新编码是什么则是什么。
③含有中文的代码文件,Convert 之后可能会使中文变成乱码,所以在转换成请做好备份,不然可能出现转换过程变成乱码,无法还原。
Editor - File type
设置隐藏.iml
、.idea
等自动生成的文件
Build,Execution,Deployment
设置自动编译
- 构建就是以我们编写的 java 代码、框架配置文件、国际化等其他资源文件、JSP 页面和图片等资源作为“原材料”,去“生产”出一个可以运行的项目的过程。
- Intellij Idea 默认状态为不自动编译状态,Eclipse 默认为自动编译:很多朋友都是从 Eclipse 转到 Intellij 的,这常常导致我们在需要操作 class 文件时忘记对修改后的 java 类文件进行重新编译,从而对旧文件进行了操作。
设置为省电模式(可忽略)
如上图所示,IntelliJ IDEA 有一种叫做 省电模式 的状态,开启这种模式之后IntelliJ IDEA 会关掉代码检查和代码提示等功能。所以一般也可认为这是一种 阅读模式,如果你在开发过程中遇到突然代码文件不能进行检查和提示,可以来看看这里是否有开启该功能。
设置代码水平或垂直显示
Scala 相关
变量类型提示
settins –>Editor–> Code Style –> scala –Type Annotations 勾选框选部分
效果:
有更好的效果设置:
效果:
设置快捷键(Keymap)
设置快捷为 Eclipse 的快捷键
通过快捷键功能修改快捷键设置
通过指定快捷键,查看或修改其功能
导入已有的设置
点击 0K 之后,重启 IDEA 即可。
常用快捷键
提示快捷键
Idea的默认快捷键是 Ctrl + 空格
在KeyMap中找到Main menu –> Code –> Completion
- 移除原来的Cycle Expand Word 的 Alt+/(正斜杠) 快捷键绑定。
- 在 Basic 上点击右键,去除原来的 Ctrl+空格 绑定,然后添加 Alt + 斜杠 快捷键。
关于模板(Templates)
1 | (Editor – Live Templates 和 Editor – General – Postfix Completion) |
Live Templates(实时代码模板)功能介绍
它的原理就是配置一些常用代码字母缩写,在输入简写时可以出现你预定义的固定模式的代码,使得开发效率大大提高,同时也可以增加个性化。最简单的例子就是在 Java 中输入 sout 会出现 System.out.println();
官方介绍 Live Templates:
https://www.jetbrains.com/help/idea/using-live-templates.html
已有模板
Postfix Completion 默认如下:
Live Templates 默认如下:
二者的区别:Live Templates 可以自定义,而 Postfix Completion 不可以。同时,有些操作二者都提供了模板,Postfix Templates 较 Live Templates 能快 0.01 秒
举例:
**psvm :**可生成 main 方法
sout : System.out.println() 快捷输出
类似的:
1 | soutp=System.out.println("方法形参名 = " + 形参名); |
- fori : 可生成 for 循环
类似的:
iter:可生成增强 for 循环
itar:可生成普通 for 循环
- **list.for : **可生成集合 list 的 for 循环
1 | List list = new ArrayList(); |
- ifn:可生成 if(xxx = null)
类似的:
1 | inn:可生成 if(xxx != null) 或 xxx.nn 或 xxx.null |
- prsf:可生成 private static final
类似的:
1 | psf:可生成 public static final |
**修改已有模板 **
如果对于现有的模板,感觉不习惯、不适应的,可以修改:
修改 1:
通过调用 psvm 调用 main 方法不习惯,可以改为跟 Eclipse 一样,使用 main 调取。
修改 2:
类似的还可以修改 psfs。
自定义模板
IDEA 提供了很多现成的 Templates。但你也可以根据自己的需要创建新的Template。
先定义一个模板的组:
选中自定义的模板组,点击”+”来定义模板。
Abbreviation:模板的缩略名称
Description:模板的描述
Template text:模板的代码片段
应用范围。比如点击 Define。选择如下:
可以如上的方式定义个测试方法,然后在 java 类文件中测试即可。
类似的可以再配置如下的几个 Template:
创建 Java Web Project 或 Module
创建静态 Java Web
**创建动态 **Java Web
创建动态 Web 的 module
工程栏空白处 new – module:
这里一定要勾选 Web Application,才能创建一个 Web 工程。
提供 Web 工程名。这里注意修改一下 Content root 和 Module file location。
创建以后的工程结构如下:
打开 index.jsp。修改为如下内容。这里你会发现 IDEA 的代码提示功能要强于Eclipse
配置 Tomcat
在 IDEA 中配置 Tomcat 之前,需要保证已经安装并配置了 Tomcat 的环境变量。如果没有安装并配置,可以参考 Tomcat 快速部署,配置完成以后,在命令行输入:catalina run 。能够启动 tomcat,则证明安装配置成功。
下面看如何在 IDEA 中配置:
点击 Edit Configurations:
这里选择 TomEE Server 或者 Tomcat Server 都可以。接着选择 Local。
这里配置 Tomcat 的名称以及配置应用服务器的位置。根据自己 Tomcat 的安装位置决定。
其它位置使用默认值(设置要启动的浏览器以及端口号),如上。
接着部署:
点击 OK 即可。此时:
执行刚才创建的 index.jsp 即可:
效果如下:
注意事项:
显示运行以后的 Tomcat 的信息:
可以点击红框,刚点击完毕并不能马上关闭服务器,只是断开了与服务器的连接,稍后当停止按钮显示为灰色,才表示关闭。
关联数据库
关联方式
表面上很多人认为配置 Database 就是为了有一个 GUI 管理数据库功能,但是这并不是 IntelliJ IDEA 的 Database 最重要特性。数据库的 GUI 工具有很多,IntelliJ IDEA 的 Database 也没有太明显的优势。IntelliJ IDEA 的 Database 最大特性就是对于 Java Web 项目来讲,常使用的 ORM 框架,如 Hibernate、Mybatis有很好的支持,比如配置好了 Database 之后,IntelliJ IDEA 会自动识别 domain对象与数据表的关系,也可以通过 Database 的数据表直接生成 domain 对象等等。
常用操作
版本控制(Version Control)
不管是个人开发还是团队开发,版本控制都会被使用。而 IDEA 也很好的集成了版本控制的相关结构。
很多人认为 IntelliJ IDEA 自带了 SVN 或是 Git 等版本控制工具,认为只要安装了 IntelliJ IDEA 就可以完全使用版本控制应有的功能。这完全是一种错误的解读,IntelliJ IDEA 是自带对这些版本控制工具的插件支持,但是该装什么版本控制客户端还是要照样装的。
- IntelliJ IDEA 对版本控制的支持是以插件化的方式来实现的。旗舰版默认支持目前主流的版本控制软件:CVS、Subversion(SVN)、Git、Mercurial、Perforce、TFS。又因为目前太多人使用 Github 进行协同或是项目版本管理,所以 IntelliJ IDEA 同时自带了 Github 插件,方便 Checkout 和管理你的Github 项目。
- 在实际开发中,发现在 IDEA 中使用 SVN 的经历不算愉快,经常会遇到很多问题,比如紧急情况下 IDEA 无法更新、提交等。所以这里,谈下在 IDEA中使用 Git。
提前安装好 Git 的客户端
Git 的 msysGit 官网下载:https://git-scm.com/
Git 客户端 TortoiseGit 官网下载:http://download.tortoisegit.org/tgit/
关联 git.exe
GitHub 登录账户测试连接
GitHub 创建新的仓库
Github 直接 Checkout 项目
GitHub clone 仓库
这里需要在 GitHub 的自己的账户下,复制项目仓库路径,填写到上图 Git Repository URL 中。如下:
Github 连接后下载项目
根据自己的需要,选择本窗口,还是开启一个新的窗口。
GitHub VCS方式连接
本地代码分享到 GitHub
此时会在 GitHub 上创建一个新的仓库,而非更新已经存在的仓库。
Git 的常用操作
没有使用 Git 时本地历史记录的查看
即使我们项目没有使用版本控制功能,IntelliJ IDEA 也给我们提供了本地文件历史记录。
断点调试
Debug 目的
- debug的目的是什么: 观察代码的执行过程
- 以debug模式运行项目
- 打断点,断点打在哪? 你想观察哪就打在哪
- 让有断点的那段代码执行,就会在断点处停下来(此时断点处那行代码是未执行的)
- 可以先观察自己想看的变量/对象: 可以将鼠标停留在你想观察的变量上
- 如果想要执行某行代码(跳到下一行:Step Over,快捷键是F8)
如果你想观察某个方法内部是怎么执行的: 我会在方法内部再打一个断点,然后跳转到下一个断点(Resume Program,快捷键就是F10)
如果debug观察完了,想让功能执行完,那么我们还是点击(Resume Program,快捷键就是F10) - debug完成之后,一定要清除所有的断点
其它的一些操作:
- Step into 进入到某个方法中 , 快捷键是F7
- Step out 从某个方法中出来, 快捷键Shift + F8
Debug 的设置
设置 Debug 连接方式,默认是 Socket。Shared memory 是 Windows 特有的一个属性,一般在 Windows 系统下建议使用此设置,内存占用相对较少。
常用断点调试快捷键
对于常用的 Debug 的快捷键,需要大家熟练掌握。
条件断点
说明:
调试的时候,在循环里增加条件判断,可以极大的提高效率,心情也能愉悦。
具体操作:
在断点处右击调出条件断点。可以在满足某个条件下,实施断点。
查看表达式的值(Ctrl + u):
选择行,ctrl + u。还可以在查看框中输入编写代码时的其他方法:
Debug查看求和
1 | 使用步骤: |
配置 Maven
Maven 的介绍
Make -> Ant -> Maven -> Gradle
Maven 是 Apache 提供的一款自动化构建工具,用于自动化构建和依赖管理。
开发团队基本不用花多少时间就能自动完成工程的基础构建配置,因为 Maven
使用了一个标准的目录结构和一个默认的构建生命周期。在如下环节中,Maven
使得开发者工作变得更简单。
构建环节:
Maven 的配置
maven 的下载 – 解压 – 环境变量的配置这里就赘述了,需要的参考 1-课件
中的《Maven 的配置》。下面直接整合 Maven。选择自己 Maven 的目录,和 settings
文件,然后配置自己的仓库 reposiroty。
Maven home directory:可以指定本地 Maven 的安装目录所在,因为我已经配置了
User settings file / Local repository:我们还可以指定 Maven 的 settings.xml 位置和本地仓
- Import Maven projects automatically:表示 IntelliJ IDEA 会实时监控项目的 pom.xml 文件,
- Automatically download:在 Maven 导入依赖包的时候是否自动下载源码和文档。默认是
- VM options for importer:可以设置导入的 VM 参数。一般这个都不需要主动改,除非项
创建对应的 Module
举例:此时 Spring Initalizr 是 springboot 工程的模板。
Group:组织或公司域名,倒序
Artifact:项目模块名称
Version:默认 maven 生成版本:0.0.1-SNAPSHOT
这里可以暂时先不选,后面开发需要了再进行设置。
点击 finish 即可完成创建。
创建完成以后,可以在 IDEA 右边看到创建的 Module。如果没有,可以刷新一下。
目录下也会有对应的生命周期。其中常用的是:clean、compile、package、install。
比如这里install,如果其他项目需要将这里的模块作为依赖使用,那就可以install。
安装到本地仓库的位置。
其他操作这里不再赘述。
其它设置
生成 javadoc
输入:
缓存和索引的清理
IntelliJ IDEA 首次加载项目的时候,都会创建索引,而创建索引的时间跟项目的文件多少成正比。在 IntelliJ IDEA 创建索引过程中即使你编辑了代码也是编译不了、运行不起来的,所以还是安安静静等 IntelliJ IDEA 创建索引完成。
IntelliJ IDEA 的缓存和索引主要是用来加快文件查询,从而加快各种查找、代码提示等操作的速度,所以 IntelliJ IDEA 的索引的重要性再强调一次也不为过。
但是,IntelliJ IDEA 的索引和缓存并不是一直会良好地支持 IntelliJ IDEA 的,某些特殊条件下,IntelliJ IDEA 的缓存和索引文件也是会损坏的,比如:断电、蓝屏引起的强制关机,当你重新打开 IntelliJ IDEA,很可能 IntelliJ IDEA 会报各种莫名其妙错误,甚至项目打不开,IntelliJ IDEA 主题还原成默认状态。即使没有断电、蓝屏,也会有莫名奇怪的问题的时候,也很有可能是 IntelliJ IDEA 缓存和索引出现了问题,这种情况还不少。遇到此类问题也不用过多担心。我们可以清理缓存和索引。如下:
- 一般建议点击 Invalidate and Restart,这样会比较干净。
- 上图警告:清除索引和缓存会使得 IntelliJ IDEA 的 Local History 丢失。所以如果你项目没
- 通过上面方式清除缓存、索引本质也就是去删除 C 盘下的 system 目录下的对应的文件
取消更新
取消勾选:即可取消更新
插件的使用
在 IntelliJ IDEA 的安装讲解中我们其实已经知道,IntelliJ IDEA 本身很多功能也都是通过插件的方式来实现的。
官网插件库:https://plugins.jetbrains.com/
需要特别注意的是:在国内的网络下,经常出现显示不了插件列表,或是显示了插件列表,无法下载完成安装。这时候请自行打开 VPN,一般都可以得到解决。
如上图演示,在线安装 IntelliJ IDEA 插件库中的插件。安装完以后会提示重启,才可以使用插件。
常用插件推荐:
有些设置只在当前项目有效果,注意这里也要设置
idea 导出配置
说明,配置可以导出,插件无法导出,需要重新安装,最好截下图,新版本中重新安装下就可以了;
idea 技巧
idea启用列模式
(1)alt+鼠标左键----实现的是几个连续列要向上或者向下拉,能够同时操作多行数据。
(2)Shift+alt+鼠标左键----可以实现点选跨行的列模式同时操作,而且不通行可以点选不通列,进行跨行异列同时进行列编辑。
idea设置方法注释(亲测有效)
1 | /** |
使用Eclipse时我们生成注释的习惯是/**+Enter
,这里我们也按照这种习惯来设置IDEA的方法注释
File-->Settings-->Editor-->Live Templates
新建Template Group: 命名为 MethodBingtai
在MethodBingtai下新建Live Template,命名为*
因为IDEA生成注释的默认方式是:/* +模板名+快捷键
(比如若设置模板名为add快捷键用Tab,则生成方式为/*add+Tab)
,如果不采用这样的生成方式IDEA中没有内容的方法将不可用,例如获取方法参数的methodParameters()、获取方法返回值的methodReturnType()
设置注释的快捷键
设置模板
模板内容如下:
1 | * |
注意 第一行,只有一个*
而不是/*
在设置参数名时必须用$参数名$的方式,否则1.5中读取不到你设置的参数名
另一个模板:
1 | /** |
设置参数的获取方式
选择右侧的Edit variables按钮
选择每个参数对应的获取方法(在下拉选择框中选择即可),网上有很多教程说获取param时使用脚本的方式,我试过使用脚本的方式不仅麻烦而且只能在方法内部使用注释时才能获取到参数
选择应用场景:勾选Java
注意 点击模板页面最下方的警告,来设置将模板应用于那些场景,一般选择Java即可(如果曾经修改过,则显示为Change而不是Define)
再次选择右侧的Edit variables按钮,下拉框就有选项了;如下图,选中对应的Expression,点击OK
效果
创建方法,在方法上一行,输入 /**
,然后 回车
参考: IDEA类和方法注释模板设置
idea 主题配色图
- DarkBlue.jpg
- Heptica.jpg
- NotSoBright.jpg
- SolarizedLight (Alternate).jpg
Idea Live Templates 代码模板
程序员的工作不是写程序,而是写程序解决问题。
我们每天都在写代码,有些代码有结构性的相似,但不是所有的代码都可以被抽成方法。在这种情况下,我们应该考虑使用template的方式加快我们的开发速度。这篇文章会先介绍IntelliJ下已经有的一些code/live template,然后介绍如何自定义template。
IntelliJ 下已有的 template
在 Java 中,我们时常会遇到遍历一个 iterable 的情况。如下所示:
1 | for (Integer item : items) { |
你可以选择一个字母,一个字母的敲,但是在 IntelliJ 下面,你只需要输入 iter 再按 TAB 键,就可以自动生成这个代码,和原来的代码比起来,你需要敲键盘的次数少了几倍。
这个时候,红色的框框部分就是当前你的编辑区域,因为我之前有一个 items 的变量,这里 IntelliJ 会建议Iterable 是 items。如果你觉得不对也可以修改,确认后敲 Enter。
敲了回车以后,就进入下一个编辑的部分,而不需要你手动的去移动光标。确实很 Intelligent 啊。
IntelliJ 中提供了很多现有的 Code/Live Template,你可以在 Settings 中找到这些已有的 template:
比如 sout 可以输出System.out.println(...)
, ifn 可以输入if (xxx == null)
等等。学习这些 template,并且灵活运用,可以缩短你敲键盘的速度。
如何自定义 Live Template
IntelliJ 提供了很多现成的 template。但你也可以根据自己的需要创建新的 template。
如我们经常要写 logger 的定义:private static final Logger logger = LoggerFactory.getLogger(MyClass.class);
,如果每次都手敲或复制是不是有点繁琐,这里就可以借用 sout 这种 Live Templates 实现快速代码编写。用好了这个功能,以后妈妈再也不用担心我们经常加班了。
Settings-->Editor-->Live Templates...
编写模板
Abbreviation:模板的缩略名称,如 sout;
Template text:模板的代码片段,可以用自定义变量。
自定义变量
这里我们自定义了 CLASS 变量(使用时需要前后都加上**$**),但 Idea 并不识别,这就需要对自定义的变量进行编辑,Edit Variables。
Name:我们的自定义变量名称;
Expression:变量替换表达式,这里我们使用了 Idea 模板支持的内置函数 className()表示类名,更多的内置函数参考:Creating and Editing Template Variables
Default value:表达式计算失败时的默认值。
设置应用范围
模板代码设置完后,我们还要设置其应用范围,即 loggerDefineStatic 在哪里会生效。
这里,我们选择 loggerDefineStatic 在 Java 的声明里生效。
OK,到这里,loggerDefineStatic 的设置就算完成了,接下来就可以像 sout 一样使用了,是不是很帅!
常用模板
loggerDefineStatic
1 | private static final Logger logger = LoggerFactory.getLogger($CLASS_NAME$.class); |
loggerDefineThis
1 | private final Logger logger = LoggerFactory.getLogger(this.getClass()); |
logStart
1 | logger.info("op=start_$METHOD_NAME$, $PARAMS_FORMAT$", $PARAMS$); |
idea 2020.1 体验 | 小技巧
IDEA 2020.1 体验
1、支持中文
Ctrl+ALT+S 打开 Settings - Plugins -> Chinese (官方汉化包)
2.无需事先下载git,克隆的时候会先查询有无git,没有会提示安装
3.点击tab栏文件,目录也定位到当前文件
idea 小技巧
Intellij IDEA神器居然还有这些小技巧
概述
Intellij IDEA真是越用越觉得它强大,它总是在我们写代码的时候,不时给我们来个小惊喜。出于对Intellij IDEA的喜爱,我决定写一个与其相关的专栏或者系列,把一些好用的Intellij IDEA技巧分享给大家。本文是这个系列的第一篇,主要介绍一些你可能不知道的但是又实用的小技巧。
我最爱的【演出模式】
我们可以使用【Presentation Mode】,将IDEA弄到最大,可以让你只关注一个类里面的代码,进行毫无干扰的coding。
可以使用Alt+V快捷键,弹出View视图,然后选择Enter Presentation Mode。效果如下:
这个模式的好处就是,可以让你更加专注,因为你只能看到特定某个类的代码。可能读者会问,进入这个模式后,我想看其他类的代码怎么办?这个时候,就要考验你快捷键的熟练程度了。你可以使用CTRL+E弹出最近使用的文件。又或者使用CTRL+N和CTRL+SHIFT+N定位文件。
如何退出这个模式呢?很简单,使用ALT+V弹出view视图,然后选择Exit Presentation Mode 即可。但是我强烈建议你不要这么做,因为你是可以在Enter Presentation Mode模式下在IDEA里面做任何事情的。当然前提是,你对IDEA足够熟练。
神奇的Inject language
如果你使用IDEA在编写JSON字符串的时候,然后要一个一个\去转义双引号的话,就实在太不应该了,又烦又容易出错。在IDEA可以使用Inject language帮我们自动转义双引号。
先将焦点定位到双引号里面,使用alt+enter快捷键弹出inject language视图,并选中
Inject language or reference。
选择后,切记,要直接按下enter回车键,才能弹出inject language列表。在列表中选择 json组件。
选择完后。鼠标焦点自动会定位在双引号里面,这个时候你再次使用alt+enter就可以看到
选中Edit JSON Fragment并回车,就可以看到编辑JSON文件的视图了。
可以看到IDEA确实帮我们自动转义双引号了。如果要退出编辑JSON信息的视图,只需要使用ctrl+F4快捷键即可。
Inject language可以支持的语言和操作多到你难以想象,读者可以自行研究。
使用快捷键移动分割线
假设有下面的场景,某个类的名字在project视图里被挡住了某一部分。
你想完整的看到类的名字,该怎么做。一般都是使用鼠标来移动分割线,但是这样子效率太低了。可以使用alt+1把鼠标焦点定位到project视图里,然后直接使用ctrl+shift+左右箭头来移动分割线。
ctrl+shift+enter不只是用来行尾加分号的
ctrl+shift+enter其实是表示为您收尾的意思,不只是用来给代码加分号的。比如说:
这段代码,我们还需要为if语句加上大括号才能编译通过,这个时候你直接输入ctrl+shift+enter,IDEA会自动帮你收尾,加上大括号的。
不要动不动就使用IDEA的重构功能
IDEA的重构功能非常强大,但是也有时候,在单个类里面,如果只是想批量修改某个文本,大可不必使用到重构的功能。比如说:
上面的代码中,有5个地方用到了rabbitTemplate文本,如何批量修改呢?
首先是使用ctrl+w选中rabbitTemplate这个文本,然后依次使用5次alt+j快捷键,逐个选中,这样五个文本就都被选中并且高亮起来了,这个时候就可以直接批量修改了。
去掉导航栏
去掉导航栏,因为平时用的不多。
可以把红色的导航栏去掉,让IDEA显得更加干净整洁一些。使用alt+v,然后去掉Navigation bar即可。去掉这个导航栏后,如果你偶尔还是要用的,直接用alt+home就可以临时把导航栏显示出来。
如果想让这个临时的导航栏消失的话,直接使用esc快捷键即可。
把鼠标定位到project视图里
当工程里的包和类非常多的时候,有时候我们想知道当前类在project视图里是处在哪个位置。
上面图中的DemoIDEA里,你如何知道它是在spring-cloud-config工程里的哪个位置呢?
可以先使用alt+F1,弹出Select in视图,然后选择Project View中的Project,回车,就可以立刻定位到类的位置了。
那如何从project跳回代码里呢?可以直接使用esc退出project视图,或者直接使用F4,跳到代码里。
强大的symbol
如果你依稀记得某个方法名字几个字母,想在IDEA里面找出来,可以怎么做呢?
直接使用ctrl+shift+alt+n,使用symbol来查找即可。
比如说:
你想找到checkUser方法。直接输入user即可。
如果你记得某个业务类里面有某个方法,那也可以使用首字母找到类,然后加个.,再输入方法名字也是可以的。
如何找目录
使用ctrl+shift+n后,使用/,然后输入目录名字即可.
自动生成not null判断语句
自动生成not null这种if判断,在IDEA里有很多种办法,其中一种办法你可能没想到。
当我们使用rabbitTemplate. 后,直接输入notnull并回车,IDEA就好自动生成if判断了。
按照模板找内容
这个也是我非常喜欢的一个功能,可以根据模板来找到与模板匹配的代码块。比如说:
想在整个工程里面找到所有的try catch语句,但是catch语句里面没有做异常处理的。
catch语句里没有处理异常,是极其危险的。我们可以IDEA里面方便找到所有这样的代码。
首先使用ctrl+shift+A快捷键弹出action框,然后输入Search Struct
选择Search Structurally后,回车,跳转到模板视图。
点击Existing Templates按钮,选择try模板。为了能找出catch里面没有处理异常的代码块,我们需要配置一下CatchStatement的Maximum count的值,将其设置为1。
点击Edit Variables按钮,在界面修改Maximum count的值。
最后点击find按钮,就可以找出catch里面没有处理异常的代码了。
idea 插件
JRebel | IDEA 插件
为什么用JRebel?
我们知道,tomcat部署的时候,可以设置 `Update classes and resources`,达到不用重启的效果。
这个设置可以把修改的class和资源文件一并上传上去,但是这个设置有个限定。就是如果增加了方法,或者修改了参数就必须重启才行。
而JRebel是热部署插件。可以把最新的classse文件load到服务器。(属于一种拦截技术,它帮我们编译,然后传上去)
简单的说。两者的差别就是:当你的 java-web 项目在 tomcat 中 run/debug 的时候 ,修改某一个 java 文件时,tomcat 并不能将此文件的修改 实时编译 并反映到运行的项目中去。JRebel 就可以解决在项目运行状态run/debug 状态下任意修改 java 文件并动态反馈到运行的项目
或者你说,我可以设置tomcat的service.xml配置reloadable=true;那我们就要说一下,这个配置的弊端了。
经过我们分析,原有的tomcat reloadable=”true” 方式,虽可加载变化过或新增的类但存在以下问题
1、内存清空,整体web app会重新加载,web.xml中配置的监听器会全部再执行。
2、其他没变的类也会重新加载。
3、当系统很大时,非常耗时。
JRebel是什么?
JRebel 是一款 Java 虚拟机插件,它使得 Java 程序员能在不进行重部署的情况下,即时看到代码的改变对一个应用程序带来的影响。JRebel 使你能即时分别看到代码、类和资源的变化,你可以一个个地上传而不是一次性全部部署。当程序员在开发环境中对任何一个类或者资源作出修改的时候,这个变化会直接反应在部署好的应用程序上,从而跳过了构建和部署的过程,每年可以省去部署用的时间花费高达 5.25 个星期。
JRebel怎么用?
IDEA安装
IDEA 中依次点击 File --> Settings --> Plugins 搜索 JRebel 安装即可
激活JRebel
安装plugin.
打开jrebel激活面板.选择Connection to online licensing service.
填入URL: http://139.199.89.239:1008/b8fdf475-b9f7-4146-b426-6e1bb5a17a16
末尾替换为任意UUID==>
在线生成UUID:http://www.uuid.online/
- 查看当前 JRebel 状态,绿色图标表示激活状态
jrebel激活之后默认是联网使用的 , 在该模式下 , jrebel会一直联网监测激活信息 . 所以要调为离线使用的
上手了兄弟!
点击要热部署的项目。然后tomcat该怎么配置还是怎么配置。启动的时候,启动jrebel的按钮即可。
OK,至于你能享受到的效果,参考第1点,用起来就对了。enjoy yourself~
参考博文:
idea 常用10款插件
IntelliJ Idea 常用10款插件(提高开发效率)
插件安装方式:
Background Image Plus
这款插件并不能直接提高你的开发效率,但是可以让你面对的IDE不再单调,当把背景设置成你自己心仪的的图片,是不是会感觉很赏心悦目,编码效率会不会因此间接的提高?!
使用方法:
Mybatis Log Plugin
Mybatis现在是java中操作数据库的首选,在开发的时候,我们都会把Mybatis的脚本直接输出在console中,但是默认的情况下,输出的脚本不是一个可以直接执行的。
如果我们想直接执行,还需要在手动转化一下,比较麻烦。
MyBatis Log Plugin 这款插件是直接将Mybatis执行的sql脚本显示出来,无需处理,可以直接复制出来执行的 。
Tools -- > Mybatis Log Plugin 打开其日志框,注意其转换的SQL不是输出到IDE的控制台!!!
再执行, 效果是不是很赞
Grep Console
由于Intellij idea不支持显示ascii颜色,grep-console插件能很好的解决这个问题, 可以设置不同级别log的字体颜色和背景色.
自定义设置后,可以运行下项目看下效果
CodeGlance
CodeGlance是一款代码编辑区缩略图插件,可以快速定位代码,使用起来比拖动滚动条方便多了
IDEA Restart
IDEA没有重启的选项,这个工具就是来弥补这个功能,可以在File-->Restart
重启,也可以使用快捷键 CTRL+ALT+R
RestfulToolkit
一套 RESTful 服务开发辅助工具集。
1.根据 URL 直接跳转到对应的方法定义 (or Ctrl Alt N);
2.提供了一个 Services tree 的显示窗口;
3.一个简单的 http 请求工具;
4.在请求方法上添加了有用功能: 复制生成 URL;,复制方法参数…
5.其他功能: java 类上添加 Convert to JSON 功能,格式化 json 数据(Windows: Ctrl+Enter; Mac: Command+Enter)
。安装后,右侧会有RestServices侧边栏,点击打开
全局快捷搜索快捷键:Ctrl \
Maven Helper
分析依赖冲突插件,此插件可用来方便显示maven的依赖树,在没有此插件时,如果想看maven的依赖树需要输入命令行: mvn dependency:tree 才可查看依赖。如果想看是否有依赖包冲突的话也需要输入命令行等等的操作。而如果安装Maven Helper插件就可免去命令行困扰。通过界面即可操作完成。
使用方式:打开项目中的pom文件,在底部会显示一个“Dependency Analyzer”,
点击此按钮,切换到此工具栏
可进行相应操作:
Conflicts(查看冲突)
All Dependencies as List(列表形式查看所有依赖)
All Dependencies as Tree(树形式查看所有依赖)
搜索功能
JRebel
热部署插件,让你在修改完代码后,不用再重新启动,很实用!但是,不是免费的,需要大家发挥下聪明才智!
这里简单介绍下使用方式:
第一个文本框填写服务器激活地址,第二个文本框随便填写个邮箱。重点是第一个,服务器激活地址,大家自行百度,附一个参看网址:https://blog.csdn.net/lawsonjin/article/details/76422807 。
以下是重点:!!!
不然隔断时间就会在线联网检测下,有可能激活造成失效!
SonarLint
SonarLint是一款强大快速的能帮助开发者发现代码里的bug或是代码质量优化点的扩展工具。支持很多主流的语言:JAVA、js、PHP、Python。也支持主流的IDE们,idea、Eclipse、vs等。在idea里更是以插件的形式让人无缝接入
可在线安装,也可离线安装,插件下载地址:https://www.sonarlint.org/
注:安装后,可以将自动分析复选框给去掉,否则可能会造成IDE的卡顿
10、Rainbow Brackets
彩虹颜色的括号 在黑色主题下看的比较清楚舒服,白色主题下看的很不明显,看自己选择了,除了看着舒服,也有助于
帮助区分前后括号对应关系。
其他还有一些插件,根据实际情况选择使用
阿里代码规约检测:Alibaba Java Coding Guidelines
快捷键提示工具:Key promoter X
代码注解插件: Lombok
代码生成工具:CodeMaker
单元测试测试生成工具:JUnitGenerator
Mybatis 工具:Free Mybatis plugin
JSON转领域对象工具:GsonFormat
字符串工具:String Manipulation
生成对象set方法:GenerateAllSetter
Redis可视化:Iedis
K8s工具:Kubernetes
中英文翻译工具:Translation
idea 问题
idea SpringBoot启动失败没有报错信息
idea SpringBoot启动失败没有报错信息
加上try catch,这样就有报错信息了
问题一目了然,,,,没有加上mybatis plus 包扫描
IDEA 2020.1 使用问题
Windows Defender报错
Windows Defender might be impacting your build and IDE performance. IntelliJ IDEA checked the following directories:
=> 好像不起作用,,,排除文件夹
==> is work 生效了
没有static web
可以创建Javascript一样的
导入/新建Spring项目提示找不到程序包
Error:(3, 32) java: 程序包org.springframework.boot不存在
估计是破解后的BUG,terminal: mvn idea:idea
下载了一堆maven插件….
mvn -U idea:idea
将继续下载未下载完整的依赖这个命令是更新依赖,但还是不行,我依赖是完整的。
推测: 原来IDEA的Build(编译)操作和Maven的Build是分开的,并不是一回事。在出现这种问题的情况下,我甚至怀疑编辑器中的实时语法编译与Build时的classpath并不一致,否则不会出现这种诡异的情况最后,在maven> 勾选
相当于委托maven build,又经了一手,不是很喜欢,待找到原因,并解决
==> [尝试] 修改maven配置
1 | <mirror> |
还是不行…但是这次是包引用爆红,OK>mvn idea:idea,刷新依赖引用
=> 搞定
maven pom.xml不会自动导包,没有设置的地方
新版的IDEA为了防止MAVEN自动导包时卡死的问题,取消了自动导包机制,可以写完依赖统一手动导包。
感觉还行,以前pom.xml改动一点就会导包,导致仓库多了很多无效版本,这样应该也挺好,只要自己不要忘记了就好.
下面这三种方式都可以导包
工具栏设置
源值过期问题
Warning:java: 源值1.5已过时, 将在未来所有发行版中删除
接着可能还会遇到如下错误:
IDEA Error:java: Compilation failed: internal java compiler error
然后,会发现,还是会自动变回1.5编译
解决办法一:pom.xml设置编译版本
1 | <properties> |
解决方法二: 在maven-conf-settings里配置默认编译版本
这个方法应该是可行的,但是IDEA 2020.1好像还是不生效.原因应该和配置仓库不生效一样吧。还不知道怎么解决.所以暂时用方法一
1 | <profile> |
idea插件无法下载 | 流量代理
1 | 如果idea 插件无法使用 lantern , 查看是否 lantern没有代理全部流量 |
- translation: 中文翻译
点击run无响应
- 设置out编译输出路径
- 确保每个都选择这个
- 清除缓存重启