@@ -64,8 +64,8 @@ public static void LoadVSCodeInstances()
64
64
{
65
65
if ( _systemPath == Environment . GetEnvironmentVariable ( "PATH" ) )
66
66
return ;
67
-
68
-
67
+
68
+
69
69
Instances = new List < VSCodeInstance > ( ) ;
70
70
71
71
_systemPath = Environment . GetEnvironmentVariable ( "PATH" ) ?? "" ;
@@ -77,17 +77,24 @@ public static void LoadVSCodeInstances()
77
77
{
78
78
if ( ! Directory . Exists ( path ) )
79
79
continue ;
80
-
81
- var files = Directory . EnumerateFiles ( path ) . Where ( x =>
80
+
81
+ var newPath = path ;
82
+ if ( ! Path . GetFileName ( path ) . Equals ( "bin" , StringComparison . OrdinalIgnoreCase ) )
83
+ newPath = Path . Combine ( path , "bin" ) ;
84
+
85
+ if ( ! Directory . Exists ( newPath ) )
86
+ continue ;
87
+
88
+ var files = Directory . EnumerateFiles ( newPath ) . Where ( x =>
82
89
( x . Contains ( "code" , StringComparison . OrdinalIgnoreCase ) ||
83
90
x . Contains ( "codium" , StringComparison . OrdinalIgnoreCase ) )
84
91
&& ! x . EndsWith ( ".cmd" , StringComparison . OrdinalIgnoreCase ) ) . ToArray ( ) ;
85
92
86
- var iconPath = Path . GetDirectoryName ( path ) ;
93
+ var iconPath = Path . GetDirectoryName ( newPath ) ;
87
94
88
95
if ( files . Length <= 0 )
89
96
continue ;
90
-
97
+
91
98
var file = files [ 0 ] ;
92
99
var version = string . Empty ;
93
100
@@ -119,8 +126,8 @@ public static void LoadVSCodeInstances()
119
126
120
127
if ( version == string . Empty )
121
128
continue ;
122
-
123
-
129
+
130
+
124
131
var portableData = Path . Join ( iconPath , "data" ) ;
125
132
instance . AppData = Directory . Exists ( portableData ) ? Path . Join ( portableData , "user-data" ) : Path . Combine ( _userAppDataPath , version ) ;
126
133
var iconVSCode = Path . Join ( iconPath , $ "{ version } .exe") ;
@@ -140,4 +147,4 @@ public static void LoadVSCodeInstances()
140
147
}
141
148
}
142
149
}
143
- }
150
+ }
0 commit comments