- Add the Codota plugin to your IDE and get smart completions
private void myMethod () {}
@Nullable private static Sdk createDefaultErlangSdk(@NotNull ProjectJdkTable projectJdkTable, @NotNull SdkType erlangSdkType, @NotNull String homePath) { String sdkName = erlangSdkType.suggestSdkName("Default " + erlangSdkType.getName(), homePath); ProjectJdkImpl projectJdkImpl = new ProjectJdkImpl(sdkName, erlangSdkType); projectJdkImpl.setHomePath(homePath); erlangSdkType.setupSdkPaths(projectJdkImpl); final Sdk erlangSdk; if (projectJdkImpl.getVersionString() != null) { ApplicationManager.getApplication().invokeAndWait( () -> ApplicationManager.getApplication().runWriteAction(() -> projectJdkTable.addJdk(projectJdkImpl) ), NON_MODAL ); erlangSdk = projectJdkImpl; } else { erlangSdk = null; } return erlangSdk; }
/** * Creates and adds new Perl SDK * * @param interpreterPath interpreter path * @param sdkConsumer created sdk consumer */ public static void createSdk(@NotNull String interpreterPath, @NotNull PerlHostData hostData, @NotNull PerlVersionManagerData versionManagerData, @NotNull Consumer<Sdk> sdkConsumer) { VersionDescriptor perlVersionDescriptor = PerlSdkType.getPerlVersionDescriptor(interpreterPath, hostData, versionManagerData); if (perlVersionDescriptor == null) { ApplicationManager.getApplication().invokeLater( () -> Messages.showErrorDialog("Failed to fetch perl version, see logs for more details", "Failed to Create Interpreter")); return; } String newSdkName = SdkConfigurationUtil.createUniqueSdkName( suggestSdkName(perlVersionDescriptor, hostData, versionManagerData), PerlSdkTable.getInstance().getInterpreters()); final ProjectJdkImpl newSdk = PerlSdkTable.getInstance().createSdk(newSdkName); newSdk.setHomePath(interpreterPath); PerlImplementationData<?, ?> implementationData = PerlImplementationHandler.createData( interpreterPath, hostData, versionManagerData); if (implementationData == null) { return; } newSdk.setVersionString(perlVersionDescriptor.getVersionString()); newSdk.setSdkAdditionalData(new PerlSdkAdditionalData(hostData, versionManagerData, implementationData)); sdkConsumer.accept(newSdk); }