intellij想法中项目sdk的相对路径

时间:2015-06-24 12:10:51

标签: python intellij-idea

有没有办法将intellij idea Python项目的项目sdk设置为相对路径?我想将项目sdk设置为我包含在存储库中的虚拟环境。

1 个答案:

答案 0 :(得分:3)

没有。如果查看{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。

我建议您open a feature request允许此操作。对于大多数具有项目特定定义的SDK而言,没有多大意义。但对于Python虚拟环境,我认为确实如此。

唯一的解决方法是让所有开发人员创建一个名为Python SDK的项目,该项目指向项目中的SDK。

IntelliJ IDEA中有 Path Variables 功能。在配置文件中保存路径信息时,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中,因此这不会有多大用处。 。因为那不受版本控制。拥有路径占位符是没有意义的。