void (final @NotNull AnActionEvent event) { InspectionProfile profile = InspectionProfileManager.getInstance().getCurrentProfile(); Collection<String> classes = new TreeSet<>(); Map<String, Collection<String>> groups = new TreeMap<>(); String tempDirectory = FileUtil.getTempDirectory(); File descDirectory = new File(tempDirectory, "inspections"); if (!descDirectory.mkdirs() && !descDirectory.isDirectory()) { LOG.error("Unable to create directory: " + descDirectory.getAbsolutePath()); return; } for (InspectionToolWrapper<?, ?> toolWrapper : profile.getInspectionTools(null)) { classes.add(getInspectionClass(toolWrapper).getName()); String group = getGroupName(toolWrapper); Collection<String> names = groups.get(group); if (names == null) groups.put(group, (names = new TreeSet<>())); names.add(toolWrapper.getShortName()); InputStream stream = getDescriptionStream(toolWrapper); if (stream != null) { doDump(descDirectory.toPath().resolve(toolWrapper.getShortName() + ".html"), new Processor() { @Override public void process(BufferedWriter writer) throws Exception { writer.write(ResourceUtil.loadText(stream)); } }); } } doNotify("Inspection descriptions dumped to\n" + descDirectory.getAbsolutePath()); Path fqnListFile = Path.of(tempDirectory, "inspection_fqn_list.txt"); boolean fqnOk = doDump(fqnListFile, new Processor() { @Override public void process(BufferedWriter writer) throws Exception { for (String name : classes) { writer.write(name); writer.newLine(); } } }); if (fqnOk) { doNotify("Inspection class names dumped to\n" + fqnListFile); } Path groupsFile = Path.of(tempDirectory, "inspection_groups.txt"); final boolean groupsOk = doDump(groupsFile, new Processor() { @Override public void process(BufferedWriter writer) throws Exception { for (Map.Entry<String, Collection<String>> entry : groups.entrySet()) { writer.write(entry.getKey()); writer.write(':'); writer.newLine(); for (String name : entry.getValue()) { writer.write(" "); writer.write(name); writer.newLine(); } } } }); if (groupsOk) { doNotify("Inspection groups dumped to\n" + fqnListFile); } }