diff --git a/python/python-sdk/src/com/jetbrains/python/sdk/BasePySdkExt.kt b/python/python-sdk/src/com/jetbrains/python/sdk/BasePySdkExt.kt index b3b529b9ed7c..553a273fae30 100644 --- a/python/python-sdk/src/com/jetbrains/python/sdk/BasePySdkExt.kt +++ b/python/python-sdk/src/com/jetbrains/python/sdk/BasePySdkExt.kt @@ -2,13 +2,18 @@ package com.jetbrains.python.sdk import com.intellij.openapi.module.Module import com.intellij.openapi.roots.ModuleRootManager +import com.intellij.openapi.vfs.VfsUtil import com.intellij.openapi.vfs.VirtualFile val Module.rootManager: ModuleRootManager get() = ModuleRootManager.getInstance(this) val Module.baseDir: VirtualFile? - get() = rootManager.contentRoots.firstOrNull() + get() { + val moduleFile = moduleFile ?: return null + val roots = rootManager.contentRoots + return roots.firstOrNull { VfsUtil.isAncestor(it, moduleFile, true) } ?: roots.firstOrNull() + } val Module.basePath: String? get() = baseDir?.path \ No newline at end of file