IntelliJ IDEA中项目SDK的相对路径

3

有没有一种方法可以将Intellij Idea Python项目的项目sdk设置为相对路径?我想将项目sdk设置为存储库中包含的虚拟环境。

1个回答

5

没有。如果你查看 {projectRoot}/.idea/misc.xml 设置文件,你会发现项目的 SDK(因历史原因命名为 project-jdk)设置是按名称引用的:

<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="false" assert-keyword="true" jdk-15="true" project-jdk-name="My Python SDK" project-jdk-type="Python SDK">

那个名称是存储在系统范围的{ideaSettings}/config/options/jdk.table.xml文件中的SDK的(唯一)名称(出于历史原因而命名)。该文件列出了IntelliJ IDEA中定义的所有SDK。因此,没有办法定义一个与项目相关的SDK。
我建议您提出功能请求以允许这样做。对于大多数SDK,具有特定于项目的定义并不太有意义。但是对于Python虚拟环境,我认为有意义。
唯一的解决方法是让所有开发人员创建一个唯一命名的Python SDK项目,指向项目内的SDK。
IntelliJ IDEA有一个路径变量功能。当保存配置文件中的路径信息时,IntelliJ IDEA将替换定义路径变量中的任何项的变量名(即占位符)。然而,这对于存储在项目配置中的路径设置更为重要。例如,它将允许库设置“指向”$GLOBAL_JAVA_LIBS$/apache-commons-lang3.jar。然后,每个开发人员都可以在他们系统上的任何位置找到全局Java Libs目录,然后只需定义GLOBAL_JAVA_LIBS路径变量即可将其指向该目录。你可以用你的Python SDK做到这一点。但是最终,尽管系统特定的{ideaSettings}/config/options/jdk.table.xml中会有变量占位符,但那并没有多大用处,因为开发人员仍然需要定义Python SDK,使其在jdk.table.xml中。而且由于这不受版本控制。使用路径占位符毫无意义。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接