String () { var text = new StringBuilder(); myInfo.forEach(s -> text.append(s).append('\n')); text.append(SystemInfo.getOsNameAndVersion()).append('\n'); for (var aboutInfoProvider : EP_NAME.getExtensions()) { var description = aboutInfoProvider.getDescription(); if (description != null) { text.append(description).append('\n'); } } text.append("GC: ") .append(ManagementFactory.getGarbageCollectorMXBeans().stream().map(GarbageCollectorMXBean::getName).collect(Collectors.joining(", "))) .append('\n'); text.append("Memory: ").append(Runtime.getRuntime().maxMemory() / FileUtilRt.MEGABYTE).append("M\n"); text.append("Cores: ").append(Runtime.getRuntime().availableProcessors()).append('\n'); if (UIUtil.isMetalRendering()) { text.append("Metal Rendering is ON\n"); } var changedValues = Registry.getAll().stream().filter(RegistryValue::isChangedFromDefault).toList(); if (!changedValues.isEmpty()) { text.append("Registry:\n"); changedValues.forEach(v -> text.append(" ").append(v.getKey()).append('=').append(v.asString()).append('\n')); } var extraPlugins = PluginManagerCore.getLoadedPlugins().stream().filter(p -> !p.isBundled()).toList(); if (!extraPlugins.isEmpty()) { text.append("Non-Bundled Plugins:\n"); extraPlugins.forEach(p -> text.append(" ").append(p.getPluginId().getIdString()).append(" (").append(p.getVersion()).append(")\n")); } if (PlatformUtils.isIntelliJ()) { var kotlinPlugin = PluginManagerCore.getPlugin(PluginId.findId("org.jetbrains.kotlin")); if (kotlinPlugin != null) { text.append("Kotlin: ").append(kotlinPlugin.getVersion()).append('\n'); } } if (SystemInfo.isUnix && !SystemInfo.isMac) { text.append("Current Desktop: ").append(requireNonNullElse(System.getenv("XDG_CURRENT_DESKTOP"), "Undefined")).append('\n'); } return text.toString(); }