备份软件配置

导出为settings.zip
里面有一个installed.txt即为已有的插件

导入的时候需要新开一个空白项目然后更新插件,等他下载完毕就可以用插件了

  1. idea默认配置文件位置
  2. /home/yzqdev/.config/JetBrains/IntelliJIdea2021.3
  3. idea默认插件位置
  4. /home/yzqdev/.local/share/JetBrains/IntelliJIdea2021.3

idea默认vmoptions

  1. -Xms128m
  2. -Xmx750m
  3. -XX:ReservedCodeCacheSize=512m
  4. -XX:+IgnoreUnrecognizedVMOptions
  5. -XX:+UseG1GC
  6. -XX:SoftRefLRUPolicyMSPerMB=50
  7. -XX:CICompilerCount=2
  8. -XX:+HeapDumpOnOutOfMemoryError
  9. -XX:-OmitStackTraceInFastThrow
  10. -ea
  11. -Dsun.io.useCanonCaches=false
  12. -Djdk.http.auth.tunneling.disabledSchemes=""
  13. -Djdk.attach.allowAttachSelf=true
  14. -Djdk.module.illegalAccess.silent=true
  15. -Dkotlinx.coroutines.debug=off
  16. -Dide.no.platform.update=true
  17. -Didea.config.path=D:\\configuration\\GolandConf\\config
  18. -Didea.system.path=D:\\configuration\\GolandConf\\system
  19. -Didea.log.path=D:\\configuration\\GolandConf\\system\\log
  20. -Dtoolbox.notification.token=-6tXZmdW_5QqEo28Bi2wcmlnMyYTIXpIdcIAQ6HXN-s=
  21. -Dtoolbox.notification.portFile=D:\JetBrains\apps\Goland\ch-1\213.6777.51.vmoptions.port
  22. -Didea.plugins.path=D:\\JetBrains\\apps\\Goland\\ch-1\\213.6777.51.plugins

下载ja-netfilter软件

https://jetbra.in/s 复制注册码

文件夹里面有一个script文件夹
修改install.sh

  1. #!/bin/sh
  2. set -e
  3. OS_NAME=$(uname -s)
  4. JB_PRODUCTS="idea clion phpstorm goland pycharm webstorm webide rider datagrip rubymine appcode dataspell gateway jetbrains_client jetbrainsclient"
  5. BASE_PATH=$(dirname $(
  6. cd $(dirname "$0")
  7. pwd
  8. ))
  9. JAR_FILE_PATH="${BASE_PATH}/ja-netfilter.jar"
  10. if [ ! -f "${JAR_FILE_PATH}" ]; then
  11. echo 'ja-netfilter.jar not found'
  12. exit -1
  13. fi
  14. KDE_ENV_DIR="${HOME}/.config/plasma-workspace/env"
  15. LAUNCH_AGENTS_DIR="${HOME}/Library/LaunchAgents"
  16. PROFILE_PATH="${HOME}/.profile"
  17. ZSH_PROFILE_PATH="${HOME}/.zshrc"
  18. PLIST_PATH="${LAUNCH_AGENTS_DIR}/jetbrains.vmoptions.plist"
  19. if [ $OS_NAME = "Darwin" ]; then
  20. BASH_PROFILE_PATH="${HOME}/.bash_profile"
  21. mkdir -p "${LAUNCH_AGENTS_DIR}"
  22. echo '<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"><dict><key>Label</key><string>jetbrains.vmoptions</string><key>ProgramArguments</key><array><string>sh</string><string>-c</string><string>' >"${PLIST_PATH}"
  23. else
  24. BASH_PROFILE_PATH="${HOME}/.bashrc"
  25. mkdir -p "${KDE_ENV_DIR}"
  26. fi
  27. touch "${PROFILE_PATH}"
  28. touch "${BASH_PROFILE_PATH}"
  29. touch "${ZSH_PROFILE_PATH}"
  30. MY_VMOPTIONS_SHELL_NAME="jetbrains.vmoptions.sh"
  31. MY_VMOPTIONS_SHELL_FILE="${HOME}/.${MY_VMOPTIONS_SHELL_NAME}"
  32. echo '#!/bin/sh' >"${MY_VMOPTIONS_SHELL_FILE}"
  33. EXEC_LINE='___MY_VMOPTIONS_SHELL_FILE="${HOME}/.jetbrains.vmoptions.sh"; if [ -f "${___MY_VMOPTIONS_SHELL_FILE}" ]; then . "${___MY_VMOPTIONS_SHELL_FILE}"; fi'
  34. for PRD in $JB_PRODUCTS; do
  35. VM_FILE_PATH="${BASE_PATH}/vmoptions/${PRD}.vmoptions"
  36. if [ ! -f "${VM_FILE_PATH}" ]; then
  37. continue
  38. fi
  39. if [ $OS_NAME = "Darwin" ]; then
  40. sed -i '' '/^\-javaagent:.*[\/\\]ja\-netfilter\.jar.*/d' "${VM_FILE_PATH}"
  41. else
  42. sed -i '/^\-javaagent:.*[\/\\]ja\-netfilter\.jar.*/d' "${VM_FILE_PATH}"
  43. fi
  44. echo "-javaagent:${JAR_FILE_PATH}=jetbrains" >>"${VM_FILE_PATH}"
  45. ENV_NAME=$(echo $PRD | tr '[a-z]' '[A-Z]')"_VM_OPTIONS"
  46. echo "export ${ENV_NAME}=\"${VM_FILE_PATH}\"" >>"${MY_VMOPTIONS_SHELL_FILE}"
  47. if [ $OS_NAME = "Darwin" ]; then
  48. launchctl setenv "${ENV_NAME}" "${VM_FILE_PATH}"
  49. echo "launchctl setenv \"${ENV_NAME}\" \"${VM_FILE_PATH}\"" >>"${PLIST_PATH}"
  50. fi
  51. done
  52. if [ $OS_NAME = "Darwin" ]; then
  53. sed -i '' '/___MY_VMOPTIONS_SHELL_FILE="${HOME}\/\.jetbrains\.vmoptions\.sh"; if /d' "${PROFILE_PATH}" 2>&1
  54. sed -i '' '/___MY_VMOPTIONS_SHELL_FILE="${HOME}\/\.jetbrains\.vmoptions\.sh"; if /d' "${BASH_PROFILE_PATH}" 2>&1
  55. sed -i '' '/___MY_VMOPTIONS_SHELL_FILE="${HOME}\/\.jetbrains\.vmoptions\.sh"; if /d' "${ZSH_PROFILE_PATH}" 2>&1
  56. echo '</string></array><key>RunAtLoad</key><true/></dict></plist>' >>"${PLIST_PATH}"
  57. else
  58. sed -i '/___MY_VMOPTIONS_SHELL_FILE="${HOME}\/\.jetbrains\.vmoptions\.sh"; if /d' "${PROFILE_PATH}" 2>&1
  59. sed -i '/___MY_VMOPTIONS_SHELL_FILE="${HOME}\/\.jetbrains\.vmoptions\.sh"; if /d' "${BASH_PROFILE_PATH}" 2>&1
  60. sed -i '/___MY_VMOPTIONS_SHELL_FILE="${HOME}\/\.jetbrains\.vmoptions\.sh"; if /d' "${ZSH_PROFILE_PATH}" 2>&1
  61. fi
  62. echo "${EXEC_LINE}" >>"${PROFILE_PATH}"
  63. echo "${EXEC_LINE}" >>"${BASH_PROFILE_PATH}"
  64. echo "${EXEC_LINE}" >>"${ZSH_PROFILE_PATH}"
  65. if [ $OS_NAME = "Darwin" ]; then
  66. echo 'done.'
  67. else
  68. ln -sf "${MY_VMOPTIONS_SHELL_FILE}" "${KDE_ENV_DIR}/${MY_VMOPTIONS_SHELL_NAME}"
  69. echo "done. you'd better log off first!"
  70. fi