Skip to content

Instantly share code, notes, and snippets.

@mahmoudimus
Forked from lmgeorge/idea.properties
Created September 28, 2021 20:47
Show Gist options
  • Save mahmoudimus/33cd9aadef43b866a74c925c93869679 to your computer and use it in GitHub Desktop.
Save mahmoudimus/33cd9aadef43b866a74c925c93869679 to your computer and use it in GitHub Desktop.
Jetbrains IDE vmoptions template
# Use ${idea.home.path} macro to specify location relative to IDE installation home.
# Use ${xxx} where xxx is any Java property (including defined in previous lines of this file) to refer to its value.
# Note for Windows users: please make sure you're using forward slashes: C:/dir1/dir2.
ide.app.name=webstorm
ide.config.home=${user.home}/.jetbrains/${ide.app.name}
#---------------------------------------------------------------------
# Uncomment this option if you want to customize a path to the settings directory.
#---------------------------------------------------------------------
idea.config.path=${ide.config.home}/config
#---------------------------------------------------------------------
# Uncomment this option if you want to customize a path to the caches directory.
#---------------------------------------------------------------------
idea.system.path=${ide.config.home}/system
#---------------------------------------------------------------------
# Uncomment this option if you want to customize a path to the user-installed plugins directory.
#---------------------------------------------------------------------
idea.plugins.path=${ide.config.home}/plugins
#---------------------------------------------------------------------
# Uncomment this option if you want to customize a path to the logs directory.
#---------------------------------------------------------------------
idea.log.path=${ide.config.home}/log
#---------------------------------------------------------------------
# Maximum file size (in KiB) IDE should provide code assistance for.
# The larger file is the slower its editor works and higher overall system memory requirements are
# if code assistance is enabled. Remove this property or set to very large number if you need
# code assistance for any files available regardless of their size.
#---------------------------------------------------------------------
idea.max.intellisense.filesize=2500
#---------------------------------------------------------------------
# Maximum file size (in KiB) the IDE is able to open.
#---------------------------------------------------------------------
idea.max.content.load.filesize=20000
#---------------------------------------------------------------------
# This option controls console cyclic buffer: keeps the console output size not higher than the specified buffer size (KiB).
# Older lines are deleted. In order to disable cycle buffer use idea.cycle.buffer.size=disabled
#---------------------------------------------------------------------
idea.cycle.buffer.size=1024
#---------------------------------------------------------------------
# Configure if a special launcher should be used when running processes from within IDE.
# Using Launcher enables "soft exit" and "thread dump" features
#---------------------------------------------------------------------
idea.no.launcher=false
#---------------------------------------------------------------------
# To avoid too long classpath
#---------------------------------------------------------------------
idea.dynamic.classpath=false
#---------------------------------------------------------------------
# Uncomment this property to prevent IDE from throwing ProcessCanceledException when user activity
# detected. This option is only useful for plugin developers, while debugging PSI related activities
# performed in background error analysis thread.
# DO NOT UNCOMMENT THIS UNLESS YOU'RE DEBUGGING IDE ITSELF. Significant slowdowns and lockups will happen otherwise.
#---------------------------------------------------------------------
#idea.ProcessCanceledException=disabled
#---------------------------------------------------------------------
# There are two possible values of idea.popup.weight property: "heavy" and "medium".
# If you have WM configured as "Focus follows mouse with Auto Raise" then you have to
# set this property to "medium". It prevents problems with popup menus on some
# configurations.
#---------------------------------------------------------------------
idea.popup.weight=heavy
#---------------------------------------------------------------------
# Removing this property may lead to editor performance degradation under Windows.
#---------------------------------------------------------------------
sun.java2d.d3d=false
#---------------------------------------------------------------------
# Removing this property may lead to editor performance degradation on Java 8+.
#---------------------------------------------------------------------
swing.bufferPerWindow=true
#---------------------------------------------------------------------
# Removing this property may lead to editor performance degradation under X Window.
#---------------------------------------------------------------------
sun.java2d.pmoffscreen=false
#---------------------------------------------------------------------
# Enables HiDPI support in JBR
#---------------------------------------------------------------------
sun.java2d.uiScale.enabled=true
#---------------------------------------------------------------------
# Applicable to the Swing text components displaying HTML (except JEditorPane).
# Rebases CSS size map depending on the component's font size to let relative
# font size values (smaller, larger) scale properly. JBR-only.
#---------------------------------------------------------------------
javax.swing.rebaseCssSizeMap=true
#---------------------------------------------------------------------
# Workaround to avoid long hangs while accessing clipboard under Mac OS X.
#---------------------------------------------------------------------
#ide.mac.useNativeClipboard=True
#---------------------------------------------------------------------
# Maximum size (KiB) the IDE will use to show historical file contents -
# in Show Diff or when calculating Digest Diff
#---------------------------------------------------------------------
#idea.max.vcs.loaded.size.kb=20480
#---------------------------------------------------------------------
# IDEA file chooser peeks inside directories to detect whether they contain a valid project
# (to mark such directories with a corresponding icon).
# Uncommenting the option prevents this behavior outside the user home directory.
#---------------------------------------------------------------------
#idea.chooser.lookup.for.project.dirs=false
#---------------------------------------------------------------------
# Experimental options that do a number of things to make truly smooth scrolling possible:
#
# * Enables hardware-accelerated scrolling.
# Blit-acceleration copies as much of the rendered area as possible and then repaints only newly exposed region.
# This helps to improve scrolling performance and to reduce CPU usage (especially if drawing is compute-intensive).
#
# * Enables "true double buffering".
# True double buffering is needed to eliminate tearing on blit-accelerated scrolling and to restore
# frame buffer content without the usual repainting, even when the EDT is blocked.
#
# * Adds "idea.true.smooth.scrolling.debug" option.
# Checks whether blit-accelerated scrolling is feasible, and if so, checks whether true double buffering is available.
#
# * Enables handling of high-precision mouse wheel events.
# Although Java 7 introduced MouseWheelEven.getPreciseWheelRotation() method, JScrollPane doesn't use it so far.
# Depends on the Editor / General / Smooth Scrolling setting, remote desktop detection and power save mode state.
# Ideally, we need to patch the runtime (on Windows, Linux and macOS) to improve handling of the fine-grained input data.
# This feature can be toggled via "idea.true.smooth.scrolling.high.precision" option.
#
# * Enables handling of pixel-perfect scrolling events.
# Currently, this mode is available only under macOS with JetBrains Runtime.
# This feature can be toggled via "idea.true.smooth.scrolling.pixel.perfect" option.
#
# * Enables interpolation of scrolling input (scrollbar, mouse wheel, touchpad, keys, etc).
# Smooths input, which lacks both spatial and temporal resolution, performs the rendering asynchronously.
# Depends on the Editor / General / Smooth Scrolling setting, remote desktop detection and power save mode state.
# The feature can be tweaked using the following options:
# "idea.true.smooth.scrolling.interpolation" - the main switch
# "idea.true.smooth.scrolling.interpolation.scrollbar" - scrollbar interpolation
# "idea.true.smooth.scrolling.interpolation.scrollbar.delay" - initial delay for scrollbar interpolation (ms)
# "idea.true.smooth.scrolling.interpolation.mouse.wheel" - mouse wheel / touchpad interpolation
# "idea.true.smooth.scrolling.interpolation.mouse.wheel.delay.min" - minimum initial delay for mouse wheel interpolation (ms)
# "idea.true.smooth.scrolling.interpolation.mouse.wheel.delay.max" - maximum initial delay for mouse wheel interpolation (ms)
# "idea.true.smooth.scrolling.interpolation.precision.touchpad" - touchpad interpolation
# "idea.true.smooth.scrolling.interpolation.precision.touchpad.delay" - initial delay for touchpad interpolation (ms)
# "idea.true.smooth.scrolling.interpolation.other" - interpolation of other input sources
# "idea.true.smooth.scrolling.interpolation.other.delay" - initial delay for other input source interpolation (ms)
#
# * Adds on-demand horizontal scrollbar in editor.
# The horizontal scrollbar is shown only when it's actually needed for currently visible content.
# This helps to save editor space and to prevent occasional horizontal "jitter" on vertical touchpad scrolling.
# This feature can be toggled via "idea.true.smooth.scrolling.dynamic.scrollbars" option.
#---------------------------------------------------------------------
#idea.true.smooth.scrolling=true
#-----------------------------------------------------------------------
# Change to 'enabled' if you want to receive instant visual notifications
# about fatal errors that happen to an IDE or plugins installed.
#-----------------------------------------------------------------------
idea.fatal.error.notification=disabled
-Xms256m
-Xmx4g
-XX:ReservedCodeCacheSize=512m
-XX:SoftRefLRUPolicyMSPerMB=100
-XX:+UseG1GC
-XX:MaxGCPauseMillis=2000
-XX:CICompilerCount=4
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath={TEMP}/log/{APP}/java_pid%p.hprof
-XX:LogFile={TEMP}/log/{APP}/hotspot.hprof
-XX:-OmitStackTraceInFastThrow
-ea
-Dsun.io.useCanonCaches=false
-Djdk.http.auth.tunneling.disabledSchemes=""
-Djdk.attach.allowAttachSelf=true
-Djdk.module.illegalAccess.silent=true
-Didea.config.path={HOME}/.jetbrains/{APP}/config
-Didea.system.path={HOME}/.jetbrains/{APP}/system
-Didea.plugins.path={HOME}/.jetbrains/{APP}/plugins
-Didea.log.path={HOME}/.jetbrains/{APP}/log
-Dkotlinx.coroutines.debug=off
-Dide.no.platform.update=true
-Dsplash=true
@mahmoudimus
Copy link
Author


-XX:ParallelGCThreads=10
-XX:ReservedCodeCacheSize=240m

-XX:PermSize=64m
-XX:MaxPermSize=512m

-XX:ConcGCThreads=7
-XX:InitiatingHeapOccupancyPercent=85
-XX:SoftRefLRUPolicyMSPerMB=1000
-XX:CompileThreshold=5000
-XX:CICompilerCount=4

@mahmoudimus
Copy link
Author

-ea
-server
-Xms1024m
-Xmx4096m
-Xss256k
-XX:+UnlockExperimentalVMOptions
-XX:-UseSerialGC
-XX:-UseParallelGC
-XX:+UseG1GC
-XX:+UseStringCache
-XX:+UseStringDeduplication
-XX:ReservedCodeCacheSize=240m
-XX:+AggressiveOpts
-XX:PermSize=64m
-XX:MaxPermSize=512m
-XX:MaxGCPauseMillis=200
-XX:ParallelGCThreads=10
-XX:ConcGCThreads=7
-XX:InitiatingHeapOccupancyPercent=85
-XX:SoftRefLRUPolicyMSPerMB=1000
-XX:CompileThreshold=5000
-Dfile.encoding=UTF-8
-Djava.net.preferIPv4Stack=true
-Dsun.io.useCanonCaches=false
-Dkotlinx.coroutines.debug=off
--illegal-access=warn
-Dsun.java2d.metal=true
-Dsun.java2d.opengl=false
--add-opens=java.desktop/java.awt.event=ALL-UNNAMED
--add-opens=java.desktop/sun.font=ALL-UNNAMED
--add-opens=java.desktop/java.awt=ALL-UNNAMED
--add-opens=java.desktop/sun.awt=ALL-UNNAMED
--add-opens=java.base/java.lang=ALL-UNNAMED
--add-opens=java.base/java.util=ALL-UNNAMED
--add-opens=java.desktop/javax.swing=ALL-UNNAMED
--add-opens=java.desktop/sun.swing=ALL-UNNAMED
--add-opens=java.desktop/javax.swing.plaf.basic=ALL-UNNAMED
--add-opens=java.desktop/java.awt.peer=ALL-UNNAMED
--add-opens=java.desktop/javax.swing.text.html=ALL-UNNAMED
--add-exports=java.desktop/sun.font=ALL-UNNAMED
--add-exports=java.desktop/com.apple.eawt=ALL-UNNAMED
--add-exports=java.desktop/com.apple.laf=ALL-UNNAMED
--add-exports=java.desktop/com.apple.eawt.event=ALL-UNNAMED

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment