1.插件
2022.4.18 update, Note: 不要下载太高的版本,已经验证2022.x的基本都不可用,基本可以确定是相关文件的存储方式发生了变化,有兴趣的可以去研究一下,长久使用的建议下2021.x且不要升级。
在编辑器尚可试用的时候建议直接装上插件,可以省去一切麻烦。
打开编辑器,左上角File -> settings打开选到 plugin, 点开右上角小齿轮,有一个Manage Plugin Repositories
点开之后添加https://plugins.zhile.io
回到上一界面在Marketplace搜索IDE Eval Reset,可以找到插件。如果搜不到可能是服务器有点问题,可以到CSDN资源找一找。
安装即可,安装后应该是要重启,然后在Help下面可以找到Eval Reset的选项,点开之后下方会多一个选项卡,记得,在选项卡里勾选Auto reset before per restart,可以省很多事。
2.硬重置
如果学习期已过,软件没法进到设置里,装不了插件,或者插件装了但是没有勾选自动重置,可以参照以下几篇文章的方式进行重置:
1.Windows用户
今早刚试过有效
- 打开注册表编辑器,在
HKEY_CURRENT_USER/SOFTWARE/JavaSoft/Prefs/jetbrains/idea
这个路径中,可以找到一个名称是八位十六进制的路径,里面有evlsprt, evlsprt2, evlsprt3三个值。根据描述,前两个值是在试用期结束之后会出现的。点开前两个,里面分别只有一个键值,键是三位数字,与版本相关,如版本为2021.2,则键为212。删除里面的键值。(这部分好像是只有20.x会有?昨天弄了台式机上的21.3版本,没有找到这些键) - 在C盘用户路径下,找到
AppData\Roaming\JetBrains\IntelliJIdea****.*
(其中*部分为版本号),在这个文件夹内找到这些文件:
1). PermanentUserId
2). PermanentviceId
3). bl
4). crl
删除以上四个文件 - 前往该目录下的options文件夹,修改other.xml文件,找到name为evlsprt.xxx和evlsprt2.xxx的property标签,删除这两个标签。这里的xxx与上文提到的键的内容一样,与版本相关。如果以上这些都没有找到,我某一次直接删除了目录下的other.xml,eval文件夹,idea64.exe.vmoptions还有一些奇奇怪怪的文件,发现也可以重新试用。(这里经过几次实验,基本可以确定是删除eval文件夹的作用)
- 重新启动IDEA,界面中的学习选项可用。
启用试用之后记得装上插件,勾选自动重置
2.Linux 、Mac用户(不确定)
Linux系统下我也做过一次这样的重置,也是因为插件没勾自动,但是时间久远,忘了具体是怎么做的了,今天在解决笔记本的问题时,搜到了以下文章,也许可以为Linux或Mac系统提供点参考:
等想起来了再补。总之万法归宗,记得装插件,记得勾自动。
2021.11.16
今天又犯了一次这种事情,之前下的WebStorm因为很久不用忘记了插件的事情,今天发现实际上linux下只需要进到home目录下,.config目录,里面有个JetBrains,在里面找到过期的软件对应的文件夹,直接整个扔掉就行了。当然了,既然config都在这了,肯定有更简单的办法的,直接整个删掉会导致之前的设置什么的会丢,但是因为我之前本身也没有什么设置,所以我没有仔细探究这个文件夹里到底哪个文件管理了试用期,我直接就给rm -rf了,有兴趣的朋友可以在这个文件夹里找找相关的文件。
2021.11.25
今天在电脑里翻出来一个脚本,这个就是上文提到的第一次发生这件事,我重置试用期使用的方法,其实本质上也是在config目录下删除了一部分东西吧。这个我也忘了当时是哪里抄来的了,贴在这里,供参考。
# !/usr/bin/python3
import os
import re
import shutil
import time
USERPROFILE = os.getenv('USERPROFILE')
APPDATA = os.getenv('APPDATA') + r'\JetBrains'
PATTERN = r'.?(WebStorm).*'
def match(char):
if re.search(PATTERN, char, re.IGNORECASE):
return True
return False
LIST = []
if os.path.isdir(USERPROFILE):
print('SCAN %s' % USERPROFILE)
fd = os.listdir(USERPROFILE)
for f in fd:
if match(f):
p = USERPROFILE + '\\' + f + r'\config\eval'
LIST.append(p)
if os.path.isdir(APPDATA):
print('SCAN %s' % APPDATA)
fd = os.listdir(APPDATA)
for f in fd:
if match(f):
p = APPDATA + '\\' + f + r'\eval'
LIST.append(p)
if __name__ == '__main__':
print('\n Reset the trial period of IDEA\n')
while LIST:
for p in LIST:
if os.path.isdir(p):
print('REMOVE %s' % p)
shutil.rmtree(p)
print('SUCCEED ヽ(●´ε`●)ノ\(@ ̄∇ ̄@)/!')
time.sleep(5)
print(' o(╯□╰)oo(︶︿︶)o')