IntelliJ Platform SDK DevGuide

SDK

每个项目都使用软件开发工具包(SDK). 对于Java项目,SDK称为JDK(Java Development Kit). SDK确定用于构建项目的API库. 如果您的项目是多模块,则默认情况下项目SDK对于项目中的所有模块都是通用的. (可选)您可以为每个模块配置各个SDK. 有关SDK的更多信息,请参阅IntelliJ IDEA Web帮助中的SDK.

获取项目SDK信息

有关项目SDK的主要信息可以通过ProjectRootManager.java访问,如下例所示

Sdk projectSdk = ProjectRootManager.getInstance(project).getProjectSdk();

获取和设置项目SDK属性

*获取项目级SDK

Sdk projectSDK = ProjectRootManager.getInstance(project).getProjectSdk();
  • To get the project level SDK name:

    String projectSDKName = ProjectRootManager.getInstance(project).getProjectSdkName();
  • To set the project level SDK:

    ProjectRootManager.getInstance(project).setProjectSdk(Sdk jdk);
  • To set the project level SDK name:

    ProjectRootManager.getInstance(project).setProjectSdkName(String name);

See the following code sample to get more familiar with SDK manipulation tool set.

使用自己的SDK

要创建自己的SDK,您需要创建一个类extends SdkType,将saveAdditionalData留空, 将它注册到com.intellij.sdkType扩展点.

要使您的SDK设置保持不变,您应该覆盖setupSdkPaths并通过modificator.commitChanges()保存您的设置:

@Override public boolean setupSdkPaths(@NotNull Sdk sdk, @NotNull SdkModel sdkModel) { SdkModificator modificator = sdk.getSdkModificator(); modificator.setVersionString(getVersionString(sdk)); modificator.commitChanges(); // save return true; }

要让用户选择SDK,请参阅ProjectJdksEditor.

但是,建议不要在非IDEA IDE中使用“SDK”. 虽然“SDK”在大多数JB产品中都可用,但ProjectJdksEditor是IntelliJ特有的,使得围绕“SDK”的操作变得困难.

管理“SDK”设置的最佳推荐方法是创建CustomStepProjectGenerator

在[PersistentStateComponent]中实现和保存设置(/basics/persisting_state_of_components.md).

Last modified: 28 August 2019