Apply Kotlin official code style for projects created from wizards (KT-23400)

- Kotlin templates
- New Java projects with Kotlin support
- Gradle projects with Kotlin support
- Gradle projects with Kotlin DSL
This commit is contained in:
Nikolay Krasko
2018-09-06 17:18:13 +03:00
parent 921af44cb9
commit 3831ff1d05
5 changed files with 45 additions and 1 deletions
@@ -18,6 +18,8 @@ import com.intellij.openapi.roots.ui.configuration.FacetsProvider
import com.intellij.openapi.roots.ui.configuration.libraries.CustomLibraryDescription
import org.jetbrains.kotlin.idea.configuration.BuildSystemType
import org.jetbrains.kotlin.idea.configuration.getBuildSystemType
import org.jetbrains.kotlin.idea.formatter.KotlinStyleGuideCodeStyle
import org.jetbrains.kotlin.idea.formatter.ProjectCodeStyleImporter
import javax.swing.JComponent
class JavaFrameworkSupportProvider : FrameworkSupportInModuleProvider() {
@@ -46,6 +48,10 @@ class JavaFrameworkSupportProvider : FrameworkSupportInModuleProvider() {
"Kotlin/\u200BJS")
description!!.finishLibConfiguration(module, rootModel, false)
if (isInNewProject(module)) {
ProjectCodeStyleImporter.apply(module.project, KotlinStyleGuideCodeStyle.INSTANCE)
}
}
override fun onFrameworkSelectionChanged(selected: Boolean) {
@@ -20,7 +20,10 @@ import com.intellij.CommonBundle;
import com.intellij.facet.impl.ui.libraries.LibraryCompositionSettings;
import com.intellij.facet.impl.ui.libraries.LibraryOptionsPanel;
import com.intellij.framework.library.FrameworkLibraryVersionFilter;
import com.intellij.ide.util.projectWizard.*;
import com.intellij.ide.util.projectWizard.ModuleBuilder;
import com.intellij.ide.util.projectWizard.ModuleWizardStep;
import com.intellij.ide.util.projectWizard.SettingsStep;
import com.intellij.ide.util.projectWizard.WizardContext;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.module.JavaModuleType;
import com.intellij.openapi.module.Module;
@@ -41,6 +44,8 @@ import kotlin.collections.ArraysKt;
import kotlin.jvm.functions.Function1;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.kotlin.idea.formatter.KotlinStyleGuideCodeStyle;
import org.jetbrains.kotlin.idea.formatter.ProjectCodeStyleImporter;
import org.jetbrains.kotlin.js.resolve.JsPlatform;
import org.jetbrains.kotlin.resolve.TargetPlatform;
import org.jetbrains.kotlin.resolve.jvm.platform.JvmPlatform;
@@ -107,6 +112,10 @@ public class KotlinModuleSettingStep extends ModuleWizardStep {
((CustomLibraryDescriptorWithDeferredConfig) customLibraryDescription).finishLibConfiguration(module, rootModel, isNewProject);
}
}
if (isNewProject) {
ProjectCodeStyleImporter.INSTANCE.apply(module.getProject(), KotlinStyleGuideCodeStyle.Companion.getINSTANCE());
}
}
};
}