Jetbrains系列产品重置试用方法

原文地址:https://zhile.io/2020/11/18/jetbrains-eval-reset-da33a93d.html

如何安装

插件市场安装:
在Settings/Preferences… -> Plugins 内手动添加第三方插件仓库地址:https://plugins.zhile.io

附:Mac添加方法为Preferences(默认快捷键Command+,),Plugins,点击上面的小齿轮,选择
“Manage Plugin Repositories”, 点击+号,添加第三方插件仓库地址:https://plugins.zhile.io

upload successful

之后搜索“IDE Eval Reset”插件进行安装。如果搜索不到请注意是否做好了上一步?网络是否通畅?
插件会提示安装成功。

如何使用

一般来说,在IDE窗口切出去或切回来时(窗口失去/得到焦点)会触发事件,检测是否长时间(25天)没有重置,给通知让你选择。(初次安装因为无法获取上次重置时间,会直接给予提示)
也可以手动唤出插件的主界面:

如果IDE没有打开项目,在Welcome界面点击菜单:Get Help -> Eval Reset

如果IDE打开了项目,点击菜单:Help -> Eval Reset

唤出的插件主界面中包含了一些显示信息,2个按钮,1个勾选项:

按钮:Reload 用来刷新界面上的显示信息。

按钮:Reset 点击会询问是否重置试用信息并重启IDE。选择Yes则执行重置操作并重启IDE生效,选择No则什么也不做。(此为手动重置方式)

勾选项:Auto reset before per restart 如果勾选了,则自勾选后每次重启/退出IDE时会自动重置试用信息,你无需做额外的事情。(此为自动重置方式)

如何更新

插件更新机制(推荐):

IDE会自行检测其自身和所安装插件的更新并给予提示。如果本插件有更新,你会收到提示看到更新日志,自行选择是否更新。

点击IDE的Check for Updates… 菜单手动检测IDE和所安装插件的更新。如果本插件有更新,你会收到提示看到更新日志,自行选择是否更新。
插件更新可能会需要重启IDE。

一些说明

市场付费插件的试用信息也会一并重置。

MyBatisCodeHelperPro插件有两个版本如下,功能完全相同,安装时须看清楚!
MyBatisCodeHelperPro (Marketplace Edition),可重置!
MyBatisCodeHelperPro,不可重置!

对于某些付费插件(如: Iedis 2, MinBatis)来说,你可能需要去取掉javaagent配置(如果有)后重启IDE:

如果IDE没有打开项目,在Welcome界面点击菜单:Configure -> Edit Custom VM Options… -> 移除 -javaagent: 开头的行。

如果IDE打开了项目,点击菜单:Help -> Edit Custom VM Options… -> 移除 -
javaagent: 开头的行。

重置需要重启IDE生效!

重置后并不弹出Licenses对话框让你选择输入License或试用,这和之前的重置脚本/插件不同(省去这烦人的一步)。

如果长达25天不曾有任何重置动作,IDE会有通知询问你是否进行重置。

如果勾选:Auto reset before per restart ,重置是静默无感知的。

简单来说:勾选了Auto reset before per restart则无需再管,一劳永逸。

支持的产品

IntelliJ IDEA
AppCode
CLion
DataGrip
GoLand
PhpStorm
PyCharm
Rider
RubyMine
WebStorm

附加Mac和Linux的脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
OS_NAME=$(uname -s)
JB_PRODUCTS="IntelliJIdea CLion PhpStorm GoLand PyCharm WebStorm Rider DataGrip RubyMine AppCode"

if [ "$OS_NAME" == "Darwin" ]; then
echo 'macOS:'

for PRD in $JB_PRODUCTS; do
rm -rf ~/Library/Preferences/"${PRD}"*/eval
sed -i '' '/name="evlsprt.*"/d' ~/Library/Preferences/"${PRD}"*/options/other.xml >/dev/null 2>&1
rm -rf ~/Library/Application\ Support/JetBrains/"${PRD}"*/eval
sed -i '' '/name="evlsprt.*"/d' ~/Library/Application\ Support/JetBrains/"${PRD}"*/options/other.xml >/dev/null 2>&1
done

plutil -remove "/.JetBrains\.UserIdOnMachine" ~/Library/Preferences/com.apple.java.util.prefs.plist >/dev/null
plutil -remove "/.jetbrains/.user_id_on_machine" ~/Library/Preferences/com.apple.java.util.prefs.plist >/dev/null
plutil -remove "/.jetbrains/.device_id" ~/Library/Preferences/com.apple.java.util.prefs.plist >/dev/null
elif [ "$OS_NAME" == "Linux" ]; then
echo 'Linux:'

for PRD in $JB_PRODUCTS; do
rm -rf ~/."${PRD}"*/config/eval
sed -i '/name="evlsprt.*"/d' ~/."${PRD}"*/config/options/other.xml >/dev/null 2>&1
rm -rf ~/.config/JetBrains/"${PRD}"*/eval
sed -i '/name="evlsprt.*"/d' ~/.config/JetBrains/"${PRD}"*/options/other.xml >/dev/null 2>&1
done

sed -i '/key="JetBrains\.UserIdOnMachine"/d' ~/.java/.userPrefs/prefs.xml
sed -i '/key="device_id"/d' ~/.java/.userPrefs/jetbrains/prefs.xml
sed -i '/key="user_id_on_machine"/d' ~/.java/.userPrefs/jetbrains/prefs.xml
else
echo 'unsupport'
exit
fi

echo 'done.'