# Turn on debug tracing for org.eclipse.jdt.core plugin
org.eclipse.jdt.core/debug=true

# Reports incremental builder activity : nature of build, built state reading, indictment process
org.eclipse.jdt.core/debug/builder=false

# Reports compiler activity
org.eclipse.jdt.core/debug/compiler=false

# Reports codeassist completion activity : recovered unit, inferred completions
org.eclipse.jdt.core/debug/completion=false

# Reports classpath variable initialization, and classpath container resolution
org.eclipse.jdt.core/debug/cpresolution=false

# Report type hierarchy connections, refreshes and deltas
org.eclipse.jdt.core/debug/hierarchy=false

# Reports background indexer activity: indexing, saving index file, index queries
org.eclipse.jdt.core/debug/indexmanager=false

# Print notified Java element deltas
org.eclipse.jdt.core/debug/javadelta=false

# Reports Java model elements opening/closing
org.eclipse.jdt.core/debug/javamodel=false

# Reports post actions addition/run
org.eclipse.jdt.core/debug/postaction=false

# Reports java search activity
org.eclipse.jdt.core/debug/search=false

# Reports open on selection activity : recovered unit, inferred selection
org.eclipse.jdt.core/debug/selection=false

# Reports shared working copy use
org.eclipse.jdt.core/debug/sharedworkingcopy=false

# Reports access to zip and jar files through the Java model
org.eclipse.jdt.core/debug/zipaccess=false