diff --git a/java/compiler/impl/src/com/intellij/compiler/server/BuildManager.java b/java/compiler/impl/src/com/intellij/compiler/server/BuildManager.java index 8ba5b70a2d71..b6e26e706010 100644 --- a/java/compiler/impl/src/com/intellij/compiler/server/BuildManager.java +++ b/java/compiler/impl/src/com/intellij/compiler/server/BuildManager.java @@ -696,7 +696,6 @@ public class BuildManager implements ApplicationComponent{ if (ApplicationManager.getApplication().isUnitTestMode()) { cmdLine.addParameter("-Dtest.mode=true"); } - cmdLine.addParameter("-Djdt.compiler.useSingleThread=true"); final String shouldGenerateIndex = System.getProperty(GlobalOptions.GENERATE_CLASSPATH_INDEX_OPTION); if (shouldGenerateIndex != null) { diff --git a/jps/jps-builders/src/org/jetbrains/jps/javac/OptimizedFileManager.java b/jps/jps-builders/src/org/jetbrains/jps/javac/OptimizedFileManager.java index 97180415b83c..18217abca394 100644 --- a/jps/jps-builders/src/org/jetbrains/jps/javac/OptimizedFileManager.java +++ b/jps/jps-builders/src/org/jetbrains/jps/javac/OptimizedFileManager.java @@ -18,6 +18,7 @@ import java.nio.CharBuffer; import java.nio.charset.*; import java.util.*; import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.atomic.AtomicReference; /** * WARNING: Loaded via reflection, do not delete @@ -337,7 +338,7 @@ class OptimizedFileManager extends DefaultFileManager { if (cb == null) { InputStream in = new FileInputStream(f); try { - ByteBuffer bb = makeByteBuffer(in); + final ByteBuffer bb = makeByteBuffer(in); JavaFileObject prev = log.useSource(this); try { cb = decode(bb, ignoreEncodingErrors); @@ -507,20 +508,18 @@ class OptimizedFileManager extends DefaultFileManager { } private static class ByteBufferCache { - private ByteBuffer cached; + private AtomicReference myCached = new AtomicReference(null); ByteBuffer get(int capacity) { if (capacity < 20480) { capacity = 20480; } - ByteBuffer result = (cached != null && cached.capacity() >= capacity) ? - (ByteBuffer)cached.clear() : - ByteBuffer.allocate(capacity + capacity>>1); - cached = null; - return result; + final ByteBuffer cached = myCached.getAndSet(null); + return (cached != null && cached.capacity() >= capacity) ? (ByteBuffer)cached.clear() : ByteBuffer.allocate(capacity + capacity>>1); } + void put(ByteBuffer x) { - cached = x; + myCached.set(x); } } private final ByteBufferCache myByteBufferCache = new ByteBufferCache(); diff --git a/jps/jps-builders/src/org/jetbrains/jps/javac/OptimizedFileManager17.java b/jps/jps-builders/src/org/jetbrains/jps/javac/OptimizedFileManager17.java index 43ae5035077d..af04f6c37f17 100644 --- a/jps/jps-builders/src/org/jetbrains/jps/javac/OptimizedFileManager17.java +++ b/jps/jps-builders/src/org/jetbrains/jps/javac/OptimizedFileManager17.java @@ -19,6 +19,7 @@ import java.nio.CharBuffer; import java.nio.charset.CharsetDecoder; import java.util.*; import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.atomic.AtomicReference; /** * WARNING: Loaded via reflection, do not delete @@ -31,6 +32,7 @@ class OptimizedFileManager17 extends com.sun.tools.javac.file.JavacFileManager { private final Map myIsFile = new ConcurrentHashMap(); private final Map myDirectoryCache = new ConcurrentHashMap(); public static final File[] NULL_FILE_ARRAY = new File[0]; + private final Map> myContentCache = new ConcurrentHashMap>(); public OptimizedFileManager17() throws Throwable { super(new Context(), true, null); @@ -197,6 +199,66 @@ class OptimizedFileManager17 extends com.sun.tools.javac.file.JavacFileManager { return fileKinds.contains(getKind(name)); } + public CharBuffer getCachedContent(JavaFileObject file) { + final SoftReference r = myContentCache.get(file); + return r == null ? null : r.get(); + } + + public void cache(JavaFileObject file, CharBuffer cb) { + myContentCache.put(file, new SoftReference(cb)); + } + + public void flush() { + try { + super.flush(); + } + finally { + myContentCache.clear(); + } + } + + public ByteBuffer makeByteBuffer(InputStream in) throws IOException { + int limit = in.available(); + if (limit < 1024) { + limit = 1024; + } + ByteBuffer result = myByteBufferCache.get(limit); + int position = 0; + while (in.available() != 0) { + if (position >= limit) { + // expand buffer + result = ByteBuffer.allocate(limit <<= 1).put((ByteBuffer)result.flip()); + } + final int count = in.read(result.array(), position, limit - position); + if (count < 0) { + break; + } + result.position(position += count); + } + return (ByteBuffer)result.flip(); + } + + public void recycleByteBuffer(ByteBuffer bb) { + myByteBufferCache.put(bb); + } + + private static class ByteBufferCache { + private AtomicReference myCached = new AtomicReference(null); + + ByteBuffer get(int capacity) { + if (capacity < 20480) { + capacity = 20480; + } + final ByteBuffer cached = myCached.getAndSet(null); + return (cached != null && cached.capacity() >= capacity) ? (ByteBuffer)cached.clear() : ByteBuffer.allocate(capacity + capacity>>1); + } + + void put(ByteBuffer x) { + myCached.set(x); + } + } + private final ByteBufferCache myByteBufferCache = new ByteBufferCache(); + private class InputFileObject extends BaseFileObject { private String name; final File file; diff --git a/jps/lib/optimizedFileManager.jar b/jps/lib/optimizedFileManager.jar index 2f5fa66e4335..abf36a723c98 100644 Binary files a/jps/lib/optimizedFileManager.jar and b/jps/lib/optimizedFileManager.jar differ diff --git a/platform/platform-resources-en/src/misc/registry.properties b/platform/platform-resources-en/src/misc/registry.properties index 3eccb0251981..edbddf0c26a1 100644 --- a/platform/platform-resources-en/src/misc/registry.properties +++ b/platform/platform-resources-en/src/misc/registry.properties @@ -1,238 +1,238 @@ -localHistory.daysToKeep=5 -localHistory.daysToKeep.description=Specify how many working days changes should be remembered.\n\ - WARNING: Do not use local history as main version control since it may become corrupted if the IDE hangs. -undo.globalUndoLimit=10 -undo.documentUndoLimit=100 - -actionSystem.fixLostTyping=true -actionSystem.fixLostTyping.description=Redispatch events, lost between actions and dialog show/close -actionSystem.fixStickyFocusedWindows=true -actionSystem.fixNullFocusedComponent=true -actionSystem.noDefaultComponent=true -actionSystem.commandProcessingTimeout=30000 -actionSystem.commandProcessingTimeout.description=Timeout after which currently proccessed command is forcibly cancelled -actionSystem.typeAheadTimeBeforeDialog=2000 -actionSystem.typeAheadTimeBeforeDialog.description=If dialog shown as a result of some typing, all key types withing this time will be redispatched after dialog is closed -actionSystem.typeAheadTimeAfterPopupAction=500 -actionSystem.playback.autodelay=20 -actionSystem.playback.autodelay.description=Delay between events generated by the playback runner -actionSystem.playback.useDirectActionCall=true -actionSystem.playback.useTypingTargets=true -actionSystem.focusIdleTimeout=20 -actionSystem.mac.screenMenuNotUpdatedFix=false -actionSystem.keyGestures.enabled=false -actionSystem.keyGestureDblClickTime=500 -actionSystem.suspendFocusTransferIfApplicationInactive=true -actionSystem.noContextComponentWhileFocusTransfer=true -actionSystem.secondKeystrokeTimout=2000 -actionSystem.secondKeystrokeAutoPopupEnabled=false -actionSystem.secondKeystrokePopupTimeout=500 -actionSystem.keyGestureHoldTime=400 -actionSystem.autoSelectTimeout=1000 -actionSystem.quickAccessEnabled=false -actionSystem.quickAccessModifiers= -actionSystem.quickAccessShowSpotsTime=1500 -actionSystem.win.supressAlt=true -actionSystem.mouseGesturesEnabled=true -actionSystem.assertFocusAccessFromEdt=true - -ide.firstStartup=true -ide.debugMode=false -ide.debugMode.description=Record additonal information to make bug reports more informative -ide.debug.minProgressTime=0 -ide.forcedShowTooltip=alt -ide.forcedShowTooltip.description=Shortcut for forced show tooltip -ide.popup.dropShadow=false -ide.consumeKnownToolkitBugs=true -ide.highlight.match.in.selected.only=true -ide.lazyIconLoading=true -ide.checkDuplicateMnemonics=false -ide.checkDuplicateMnemonics.description=Check for duplicate mnemonics -ide.dnd.textHints=false -ide.max.recent.projects=25 - -ide.appIcon.progress=true -ide.appIcon.badge=true -ide.appIcon.requestAttention=true - -ide.windowSystem.hScrollChars=15 -ide.windowSystem.vScrollChars=5 -ide.windowSystem.focusAppOnStartup=true -ide.windowSystem.autoShowProcessPopup=false -ide.windowSystem.showListItemsPopup=true -ide.windowSystem.asyncSplitters=true -ide.windowSystem.showTooWindowButtonsSwitcher=true - -ide.tree.yeildingUiUpdate=true -ide.tree.showBusyIndicator=true -ide.tree.waitForReadyTimeout=250 -ide.tree.waitForReadySchedule=250 -ide.tree.clearOnHideTime=120000 -ide.tree.autoscrollToVCenter=true -ide.tree.ensureSelectionOnFocusGained=true -ide.tree.autoExpandMaxDepth=5 -ide.tree.expandRecursionDepth=50 -ide.tree.checkStructure=false -ide.tree.uiLockAttempt=250 -ide.tree.deferredicon.invalidates.cache=true - -ide.splitter.mouseZone=6 -ide.smart.horizontal.scrolling=true - -ide.tooltip.callout=true -ide.tooltip.mode=default -ide.tooltip.description=Available options are: default,system,graphite -ide.tooltip.animationCycle=150 -ide.tooltip.initialDelay=1200 -ide.tooltip.initialDelay.highlighter=150 -ide.tooltip.reshowDelay=500 -ide.tooltip.dismissDelay=4000 -ide.tooltip.initialReshowDelay=300 -ide.tooltip.autoDismissDeadZone=300 -ide.balloon.shadowEnabled=true -ide.balloon.shadow.size=15 - - -editor.balloonHints=true -editor.mouseSelectionStateResetTimeout=1000 -editor.mouseSelectionStateResetDeadzone=4 -editor.use.new.tabs=true -editor.smarterSelectionQuoting=true - -ide.showIndexRebuildMessage=false - -ide.tabbedPane.bufferedPaint=true -ide.tabbedPane.dragOutMultiplier=1.2 - -ide.mac.filechooser.showhidden.files=false -ide.mac.filechooser.native=true -ide.mac.message.dialogs.as.sheets=true -ide.mac.inplaceDialogMnemonicsFix=true -ide.mac.fix.dialog.showing=false -ide.mac.hide.cursor.when.typing=true -ide.mac.show.native.help=true -ide.mac.useNativeClipboard=false - -debugger.valueTooltipAutoShow=true -debugger.valueTooltipAutoShow.description=Auto show tooltip on mouse over -debugger.mayBringFrameToFrontOnBreakpoint=true -debugger.breakpoint.message.full.trace=false -debugger.breakpoint.message.full.trace.description='Log message to console' breakpoint action will out full stacktrace for the thread that hit the breakpoint -debugger.breakpoint.use.breakpoints.popup=true - -filesystem.useNative=true - -analyze.exceptions.on.the.fly=false -analyze.exceptions.on.the.fly.description=Automatically analyze clipboard on frame activation, and if there is a stacktrace calls Analyze Stacktrace - -compiler.perform.outputs.refresh.on.start=false -compiler.perform.outputs.refresh.on.start.description=Whether to perform initial FS refresh before compilation starts. Need this to detect external changes to output dirs - -compiler.max.static.constants.searches=3000 -compiler.max.static.constants.searches.description=If the number of changed compile time constants exceeds this value, make will start full-project rebuild - -# out-of-process build parameters - -#compiler.out-of-process.as-server=false -#compiler.out-of-process.as-server.description=Use implementation of out-of-process build as server process - -compiler.process.heap.size=700 -compiler.process.heap.size.description=Heap size value in MB for the build process - -compiler.process.32bit.vm.on.mac=true -compiler.process.32bit.vm.on.mac.description=Force -d32 VM option on Mac (recommended for faster startup and lower memory footprint) - -compiler.process.vm.options=-Xss2048k -compiler.process.vm.options.description=Additional options for the build process' VM - -compiler.process.use.memory.temp.cache=true -compiler.process.use.memory.temp.cache.description=Store temporary data in memory for faster compilation; requires larger server heap size - -compiler.process.use.external.javac=false -compiler.process.use.external.javac.description=Run javac compiler in a separate process (allows to run build process with smaller heap size) - -compiler.process.debug.port=-1 -#compiler.server.javac.debug.port=-1 - - -# parameters specific to server implementation -compiler.server.max.simultaneous.builds=1 -compiler.server.max.simultaneous.builds.description=The max number of simultaneous build sessions. Increasing this value may require larger server heap size - -compiler.server.ping.interval=5 -compiler.server.ping.interval.description=Interval in seconds between ping requests the IDE periodically sends to server. If server does not receive pings for some time, it shuts down. Specify -1 to disable this feature. - -# end of out-of-process build parameters - - -vcs.show.colored.annotations=true -vcs.showConsole=true - -psi.incremental.reparse.depth.limit=1000 -psi.viewer.selection.color=0,153,153 -psi.deferIconLoading=true - -find.search.in.project.files=false - -structureView.coalesceTime=500 - -keymap.show.alias.actions=false -frameworks.download.libraries.server.url=http://pluginsrepo-test:8080 -caches.indexerThreadsCount=-1 -vcs.show.history.numbers=true -navbar.updateMergeTime=250 -navbar.userActivityMergeTime=500 - -inspectionGadgets.telemetry.enabled=false - -jvmbugfix.mac.caccessibleLeak=true - -projectView.showHierarchyErrors=true -projectView.hide.dot.idea=true -show.live.templates.in.completion=false -documentation.component.editor.font=false - -ide.completion.middle.matching=true -ide.completion.middle.matching.description=Suggest items in completion that contain the entered string somewhere in the middle - -ide.goto.middle.matching=true -ide.goto.middle.matching.description=Suggest items in goto actions that contain the entered string somewhere in the middle - -ide.enable.toolwindow.stack=false - -change.signature.awesome.mode=true -change.signature.awesome.mode.description=Enables list view for change signature - -enable.groovy.hotswap=true -enable.groovy.hotswap.description=Whether IDEA should add a special java agent to the debugged process which allows to hot-swap Groovy changes in some cases -dump.threads.on.empty.lookup=false -dump.threads.on.empty.lookup.description=Whether IDEA should issue a thread dump when an empty completion lookup appears - -file.structure.tree.mode=true - -disable.toolwindow.overlayed=true -disable.toolwindow.overlayed.description=Disable transparent toolwindow stripes - -core.pooled.threads=20 - -editor.dumb.mode.available=true -enable.animation.on.dialogs=false -vcs.remote.management.ready=false -type.ahead.logging.enabled=false -fast.tree.expand.in.structure.view=false - -ide.use.nautilus3=true -ide.use.nautilus3.description=Use Nautilus if available - -ide.goto.implementation.show.interfaces=false -ide.goto.implementation.show.interfaces.description=Whether to show sub-interfaces when invoking Goto Implementation (Ctrl+Alt+B) on an interface - -ide.open.editors.asynchronously=true -ide.open.editors.asynchronously.description=Prepare editors in background thread -file.colors.in.commit.dialog=false - -testng.serialized.protocol.enabled=false -testng.skip.expected.exceptions=true -dark.laf.available=false - -actionSystem.force.alt.gr=false +localHistory.daysToKeep=5 +localHistory.daysToKeep.description=Specify how many working days changes should be remembered.\n\ + WARNING: Do not use local history as main version control since it may become corrupted if the IDE hangs. +undo.globalUndoLimit=10 +undo.documentUndoLimit=100 + +actionSystem.fixLostTyping=true +actionSystem.fixLostTyping.description=Redispatch events, lost between actions and dialog show/close +actionSystem.fixStickyFocusedWindows=true +actionSystem.fixNullFocusedComponent=true +actionSystem.noDefaultComponent=true +actionSystem.commandProcessingTimeout=30000 +actionSystem.commandProcessingTimeout.description=Timeout after which currently proccessed command is forcibly cancelled +actionSystem.typeAheadTimeBeforeDialog=2000 +actionSystem.typeAheadTimeBeforeDialog.description=If dialog shown as a result of some typing, all key types withing this time will be redispatched after dialog is closed +actionSystem.typeAheadTimeAfterPopupAction=500 +actionSystem.playback.autodelay=20 +actionSystem.playback.autodelay.description=Delay between events generated by the playback runner +actionSystem.playback.useDirectActionCall=true +actionSystem.playback.useTypingTargets=true +actionSystem.focusIdleTimeout=20 +actionSystem.mac.screenMenuNotUpdatedFix=false +actionSystem.keyGestures.enabled=false +actionSystem.keyGestureDblClickTime=500 +actionSystem.suspendFocusTransferIfApplicationInactive=true +actionSystem.noContextComponentWhileFocusTransfer=true +actionSystem.secondKeystrokeTimout=2000 +actionSystem.secondKeystrokeAutoPopupEnabled=false +actionSystem.secondKeystrokePopupTimeout=500 +actionSystem.keyGestureHoldTime=400 +actionSystem.autoSelectTimeout=1000 +actionSystem.quickAccessEnabled=false +actionSystem.quickAccessModifiers= +actionSystem.quickAccessShowSpotsTime=1500 +actionSystem.win.supressAlt=true +actionSystem.mouseGesturesEnabled=true +actionSystem.assertFocusAccessFromEdt=true + +ide.firstStartup=true +ide.debugMode=false +ide.debugMode.description=Record additonal information to make bug reports more informative +ide.debug.minProgressTime=0 +ide.forcedShowTooltip=alt +ide.forcedShowTooltip.description=Shortcut for forced show tooltip +ide.popup.dropShadow=false +ide.consumeKnownToolkitBugs=true +ide.highlight.match.in.selected.only=true +ide.lazyIconLoading=true +ide.checkDuplicateMnemonics=false +ide.checkDuplicateMnemonics.description=Check for duplicate mnemonics +ide.dnd.textHints=false +ide.max.recent.projects=25 + +ide.appIcon.progress=true +ide.appIcon.badge=true +ide.appIcon.requestAttention=true + +ide.windowSystem.hScrollChars=15 +ide.windowSystem.vScrollChars=5 +ide.windowSystem.focusAppOnStartup=true +ide.windowSystem.autoShowProcessPopup=false +ide.windowSystem.showListItemsPopup=true +ide.windowSystem.asyncSplitters=true +ide.windowSystem.showTooWindowButtonsSwitcher=true + +ide.tree.yeildingUiUpdate=true +ide.tree.showBusyIndicator=true +ide.tree.waitForReadyTimeout=250 +ide.tree.waitForReadySchedule=250 +ide.tree.clearOnHideTime=120000 +ide.tree.autoscrollToVCenter=true +ide.tree.ensureSelectionOnFocusGained=true +ide.tree.autoExpandMaxDepth=5 +ide.tree.expandRecursionDepth=50 +ide.tree.checkStructure=false +ide.tree.uiLockAttempt=250 +ide.tree.deferredicon.invalidates.cache=true + +ide.splitter.mouseZone=6 +ide.smart.horizontal.scrolling=true + +ide.tooltip.callout=true +ide.tooltip.mode=default +ide.tooltip.description=Available options are: default,system,graphite +ide.tooltip.animationCycle=150 +ide.tooltip.initialDelay=1200 +ide.tooltip.initialDelay.highlighter=150 +ide.tooltip.reshowDelay=500 +ide.tooltip.dismissDelay=4000 +ide.tooltip.initialReshowDelay=300 +ide.tooltip.autoDismissDeadZone=300 +ide.balloon.shadowEnabled=true +ide.balloon.shadow.size=15 + + +editor.balloonHints=true +editor.mouseSelectionStateResetTimeout=1000 +editor.mouseSelectionStateResetDeadzone=4 +editor.use.new.tabs=true +editor.smarterSelectionQuoting=true + +ide.showIndexRebuildMessage=false + +ide.tabbedPane.bufferedPaint=true +ide.tabbedPane.dragOutMultiplier=1.2 + +ide.mac.filechooser.showhidden.files=false +ide.mac.filechooser.native=true +ide.mac.message.dialogs.as.sheets=true +ide.mac.inplaceDialogMnemonicsFix=true +ide.mac.fix.dialog.showing=false +ide.mac.hide.cursor.when.typing=true +ide.mac.show.native.help=true +ide.mac.useNativeClipboard=false + +debugger.valueTooltipAutoShow=true +debugger.valueTooltipAutoShow.description=Auto show tooltip on mouse over +debugger.mayBringFrameToFrontOnBreakpoint=true +debugger.breakpoint.message.full.trace=false +debugger.breakpoint.message.full.trace.description='Log message to console' breakpoint action will out full stacktrace for the thread that hit the breakpoint +debugger.breakpoint.use.breakpoints.popup=true + +filesystem.useNative=true + +analyze.exceptions.on.the.fly=false +analyze.exceptions.on.the.fly.description=Automatically analyze clipboard on frame activation, and if there is a stacktrace calls Analyze Stacktrace + +compiler.perform.outputs.refresh.on.start=false +compiler.perform.outputs.refresh.on.start.description=Whether to perform initial FS refresh before compilation starts. Need this to detect external changes to output dirs + +compiler.max.static.constants.searches=3000 +compiler.max.static.constants.searches.description=If the number of changed compile time constants exceeds this value, make will start full-project rebuild + +# out-of-process build parameters + +#compiler.out-of-process.as-server=false +#compiler.out-of-process.as-server.description=Use implementation of out-of-process build as server process + +compiler.process.heap.size=700 +compiler.process.heap.size.description=Heap size value in MB for the build process + +compiler.process.32bit.vm.on.mac=true +compiler.process.32bit.vm.on.mac.description=Force -d32 VM option on Mac (recommended for faster startup and lower memory footprint) + +compiler.process.vm.options=-Xss2048k -Djdt.compiler.useSingleThread=true +compiler.process.vm.options.description=Additional options for the build process' VM + +compiler.process.use.memory.temp.cache=true +compiler.process.use.memory.temp.cache.description=Store temporary data in memory for faster compilation; requires larger server heap size + +compiler.process.use.external.javac=false +compiler.process.use.external.javac.description=Run javac compiler in a separate process (allows to run build process with smaller heap size) + +compiler.process.debug.port=-1 +#compiler.server.javac.debug.port=-1 + + +# parameters specific to server implementation +compiler.server.max.simultaneous.builds=1 +compiler.server.max.simultaneous.builds.description=The max number of simultaneous build sessions. Increasing this value may require larger server heap size + +compiler.server.ping.interval=5 +compiler.server.ping.interval.description=Interval in seconds between ping requests the IDE periodically sends to server. If server does not receive pings for some time, it shuts down. Specify -1 to disable this feature. + +# end of out-of-process build parameters + + +vcs.show.colored.annotations=true +vcs.showConsole=true + +psi.incremental.reparse.depth.limit=1000 +psi.viewer.selection.color=0,153,153 +psi.deferIconLoading=true + +find.search.in.project.files=false + +structureView.coalesceTime=500 + +keymap.show.alias.actions=false +frameworks.download.libraries.server.url=http://pluginsrepo-test:8080 +caches.indexerThreadsCount=-1 +vcs.show.history.numbers=true +navbar.updateMergeTime=250 +navbar.userActivityMergeTime=500 + +inspectionGadgets.telemetry.enabled=false + +jvmbugfix.mac.caccessibleLeak=true + +projectView.showHierarchyErrors=true +projectView.hide.dot.idea=true +show.live.templates.in.completion=false +documentation.component.editor.font=false + +ide.completion.middle.matching=true +ide.completion.middle.matching.description=Suggest items in completion that contain the entered string somewhere in the middle + +ide.goto.middle.matching=true +ide.goto.middle.matching.description=Suggest items in goto actions that contain the entered string somewhere in the middle + +ide.enable.toolwindow.stack=false + +change.signature.awesome.mode=true +change.signature.awesome.mode.description=Enables list view for change signature + +enable.groovy.hotswap=true +enable.groovy.hotswap.description=Whether IDEA should add a special java agent to the debugged process which allows to hot-swap Groovy changes in some cases +dump.threads.on.empty.lookup=false +dump.threads.on.empty.lookup.description=Whether IDEA should issue a thread dump when an empty completion lookup appears + +file.structure.tree.mode=true + +disable.toolwindow.overlayed=true +disable.toolwindow.overlayed.description=Disable transparent toolwindow stripes + +core.pooled.threads=20 + +editor.dumb.mode.available=true +enable.animation.on.dialogs=false +vcs.remote.management.ready=false +type.ahead.logging.enabled=false +fast.tree.expand.in.structure.view=false + +ide.use.nautilus3=true +ide.use.nautilus3.description=Use Nautilus if available + +ide.goto.implementation.show.interfaces=false +ide.goto.implementation.show.interfaces.description=Whether to show sub-interfaces when invoking Goto Implementation (Ctrl+Alt+B) on an interface + +ide.open.editors.asynchronously=true +ide.open.editors.asynchronously.description=Prepare editors in background thread +file.colors.in.commit.dialog=false + +testng.serialized.protocol.enabled=false +testng.skip.expected.exceptions=true +dark.laf.available=false + +actionSystem.force.alt.gr=false