Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
小 白蛋
Intellij Community
Commits
640ae884
Commit
640ae884
authored
10 years ago
by
Ekaterina Tuzova
Browse files
Options
Download
Email Patches
Plain Diff
cosmetics
parent
ea5c1ba3
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
python/ide/src/com/jetbrains/python/PythonSdkConfigurator.java
+31
-32
...n/ide/src/com/jetbrains/python/PythonSdkConfigurator.java
with
31 additions
and
32 deletions
+31
-32
python/ide/src/com/jetbrains/python/PythonSdkConfigurator.java
+
31
-
32
View file @
640ae884
...
...
@@ -45,50 +45,49 @@ public class PythonSdkConfigurator implements DirectoryProjectConfigurator {
public
void
configureProject
(
final
Project
project
,
@NotNull
final
VirtualFile
baseDir
,
Ref
<
Module
>
moduleRef
)
{
// it it a virtualenv?
final
PythonSdkType
py_
sdk
_t
ype
=
PythonSdkType
.
getInstance
();
final
PythonSdkType
sdk
T
ype
=
PythonSdkType
.
getInstance
();
//find virtualEnv in project directory
final
List
<
String
>
candidates
=
new
ArrayList
<
String
>();
if
(
project
!=
null
)
{
final
VirtualFile
rootDir
=
project
.
getBaseDir
();
if
(
rootDir
!=
null
)
candidates
.
addAll
(
VirtualEnvSdkFlavor
.
findInDirectory
(
rootDir
));
if
(!
candidates
.
isEmpty
())
{
String
filePath
=
candidates
.
get
(
0
);
if
(
StringUtil
.
startsWithChar
(
filePath
,
'~'
))
{
final
String
home
=
SystemProperties
.
getUserHome
();
filePath
=
home
+
filePath
.
substring
(
1
);
}
final
Sdk
virtualEnvSdk
=
SdkConfigurationUtil
.
createAndAddSDK
(
filePath
,
py_sdk_type
);
if
(
virtualEnvSdk
!=
null
)
{
SdkConfigurationUtil
.
setDirectoryProjectSdk
(
project
,
virtualEnvSdk
);
SdkAdditionalData
additionalData
=
virtualEnvSdk
.
getSdkAdditionalData
();
if
(
additionalData
==
null
)
{
additionalData
=
new
PythonSdkAdditionalData
(
PythonSdkFlavor
.
getFlavor
(
virtualEnvSdk
.
getHomePath
()));
((
ProjectJdkImpl
)
virtualEnvSdk
).
setSdkAdditionalData
(
additionalData
);
}
((
PythonSdkAdditionalData
)
additionalData
).
associateWithProject
(
project
);
return
;
if
(
project
==
null
)
return
;
final
VirtualFile
rootDir
=
project
.
getBaseDir
();
if
(
rootDir
!=
null
)
candidates
.
addAll
(
VirtualEnvSdkFlavor
.
findInDirectory
(
rootDir
));
if
(!
candidates
.
isEmpty
())
{
String
filePath
=
candidates
.
get
(
0
);
if
(
StringUtil
.
startsWithChar
(
filePath
,
'~'
))
{
final
String
home
=
SystemProperties
.
getUserHome
();
filePath
=
home
+
filePath
.
substring
(
1
);
}
final
Sdk
virtualEnvSdk
=
SdkConfigurationUtil
.
createAndAddSDK
(
filePath
,
sdkType
);
if
(
virtualEnvSdk
!=
null
)
{
SdkConfigurationUtil
.
setDirectoryProjectSdk
(
project
,
virtualEnvSdk
);
SdkAdditionalData
additionalData
=
virtualEnvSdk
.
getSdkAdditionalData
();
if
(
additionalData
==
null
)
{
additionalData
=
new
PythonSdkAdditionalData
(
PythonSdkFlavor
.
getFlavor
(
virtualEnvSdk
.
getHomePath
()));
((
ProjectJdkImpl
)
virtualEnvSdk
).
setSdkAdditionalData
(
additionalData
);
}
((
PythonSdkAdditionalData
)
additionalData
).
associateWithProject
(
project
);
return
;
}
return
;
}
final
Sdk
existing_sdk
=
ProjectRootManager
.
getInstance
(
project
).
getProjectSdk
();
if
(
existing_sdk
!=
null
&&
existing_sdk
.
getSdkType
()
==
py_sdk_type
)
return
;
// SdkConfigurationUtil does the same
final
File
py_exe
=
PythonSdkType
.
findExecutableFile
(
new
File
(
project
.
getBasePath
(),
"bin"
),
"python"
);
if
(
py_exe
!=
null
)
{
final
File
env_root
=
PythonSdkType
.
getVirtualEnvRoot
(
py_exe
.
getPath
());
if
(
env_root
!=
null
)
{
final
Sdk
existingSdk
=
ProjectRootManager
.
getInstance
(
project
).
getProjectSdk
();
if
(
existingSdk
!=
null
&&
existingSdk
.
getSdkType
()
==
sdkType
)
return
;
// SdkConfigurationUtil does the same
final
File
executableFile
=
PythonSdkType
.
findExecutableFile
(
new
File
(
project
.
getBasePath
(),
"bin"
),
"python"
);
if
(
executableFile
!=
null
)
{
final
File
virtualEnvRoot
=
PythonSdkType
.
getVirtualEnvRoot
(
executableFile
.
getPath
());
if
(
virtualEnvRoot
!=
null
)
{
// yes, an unknown virtualenv; set it up as SDK
final
Sdk
an_
sdk
=
SdkConfigurationUtil
.
createAndAddSDK
(
py_ex
e
.
getPath
(),
py_
sdk
_t
ype
);
if
(
an_
sdk
!=
null
)
{
SdkConfigurationUtil
.
setDirectoryProjectSdk
(
project
,
an_
sdk
);
final
Sdk
sdk
=
SdkConfigurationUtil
.
createAndAddSDK
(
executableFil
e
.
getPath
(),
sdk
T
ype
);
if
(
sdk
!=
null
)
{
SdkConfigurationUtil
.
setDirectoryProjectSdk
(
project
,
sdk
);
return
;
}
}
}
// default
SdkConfigurationUtil
.
configureDirectoryProjectSdk
(
project
,
new
PreferredSdkComparator
(),
py_
sdk
_t
ype
);
SdkConfigurationUtil
.
configureDirectoryProjectSdk
(
project
,
new
PreferredSdkComparator
(),
sdk
T
ype
);
}
}
This diff is collapsed.
Click to expand it.
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment