mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
refresh VFS for site-packages directory after installing or uninstalling a package
This commit is contained in:
@@ -14,6 +14,8 @@ import java.util.regex.Pattern;
|
||||
*/
|
||||
@NonNls
|
||||
public class PyNames {
|
||||
public static final String SITE_PACKAGES = "site-packages";
|
||||
|
||||
private PyNames() {
|
||||
}
|
||||
|
||||
|
||||
@@ -27,10 +27,12 @@ import com.intellij.util.ArrayUtil;
|
||||
import com.intellij.util.Function;
|
||||
import com.intellij.util.SystemProperties;
|
||||
import com.intellij.util.net.HttpConfigurable;
|
||||
import com.jetbrains.python.PyNames;
|
||||
import com.jetbrains.python.PythonHelpersLocator;
|
||||
import com.jetbrains.python.psi.PyExpression;
|
||||
import com.jetbrains.python.psi.PyListLiteralExpression;
|
||||
import com.jetbrains.python.psi.PyStringLiteralExpression;
|
||||
import com.jetbrains.python.psi.search.PyProjectScopeBuilder;
|
||||
import com.jetbrains.python.remote.PyRemoteInterpreterException;
|
||||
import com.jetbrains.python.remote.PythonRemoteInterpreterManager;
|
||||
import com.jetbrains.python.remote.PythonRemoteSdkAdditionalData;
|
||||
@@ -461,6 +463,13 @@ public class PyPackageManagerImpl extends PyPackageManager {
|
||||
public void clearCaches() {
|
||||
myPackagesCache = null;
|
||||
myExceptionCache = null;
|
||||
VirtualFile libDir = PyProjectScopeBuilder.findLibDir(mySdk);
|
||||
if (libDir != null) {
|
||||
VirtualFile sitePackages = libDir.findChild(PyNames.SITE_PACKAGES);
|
||||
if (sitePackages != null) {
|
||||
sitePackages.refresh(true, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static <T> List<T> list(T... xs) {
|
||||
|
||||
@@ -39,6 +39,7 @@ import com.intellij.util.ArrayUtil;
|
||||
import com.intellij.util.IncorrectOperationException;
|
||||
import com.intellij.util.SmartList;
|
||||
import com.jetbrains.python.PyBundle;
|
||||
import com.jetbrains.python.PyNames;
|
||||
import com.jetbrains.python.PythonFileType;
|
||||
import com.jetbrains.python.PythonHelpersLocator;
|
||||
import com.jetbrains.python.facet.PythonFacetSettings;
|
||||
@@ -750,7 +751,7 @@ public class PythonSdkType extends SdkType {
|
||||
if (pythonSdk != null) {
|
||||
final VirtualFile libDir = PyProjectScopeBuilder.findLibDir(pythonSdk);
|
||||
if (libDir != null && VfsUtilCore.isAncestor(libDir, vFile, false)) {
|
||||
final VirtualFile sitePackages = libDir.findChild("site-packages");
|
||||
final VirtualFile sitePackages = libDir.findChild(PyNames.SITE_PACKAGES);
|
||||
if (sitePackages != null && VfsUtilCore.isAncestor(sitePackages, vFile, false)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user