@@ -25,16 +25,7 @@ export async function deactivate() {
25
25
export async function activate (
26
26
context : vscode . ExtensionContext ,
27
27
) : Promise < RustAnalyzerExtensionApi > {
28
- if ( vscode . extensions . getExtension ( "rust-lang.rust" ) ) {
29
- vscode . window
30
- . showWarningMessage (
31
- `You have both the rust-analyzer (rust-lang.rust-analyzer) and Rust (rust-lang.rust) ` +
32
- "plugins enabled. These are known to conflict and cause various functions of " +
33
- "both plugins to not work correctly. You should disable one of them." ,
34
- "Got it" ,
35
- )
36
- . then ( ( ) => { } , console . error ) ;
37
- }
28
+ checkConflictingExtensions ( ) ;
38
29
39
30
const ctx = new Ctx ( context , createCommands ( ) , fetchWorkspace ( ) ) ;
40
31
// VS Code doesn't show a notification when an extension fails to activate
@@ -200,3 +191,26 @@ function createCommands(): Record<string, CommandFactory> {
200
191
revealDependency : { enabled : commands . revealDependency } ,
201
192
} ;
202
193
}
194
+
195
+ function checkConflictingExtensions ( ) {
196
+ if ( vscode . extensions . getExtension ( "rust-lang.rust" ) ) {
197
+ vscode . window
198
+ . showWarningMessage (
199
+ `You have both the rust-analyzer (rust-lang.rust-analyzer) and Rust (rust-lang.rust) ` +
200
+ "plugins enabled. These are known to conflict and cause various functions of " +
201
+ "both plugins to not work correctly. You should disable one of them." ,
202
+ "Got it" ,
203
+ )
204
+ . then ( ( ) => { } , console . error ) ;
205
+ }
206
+
207
+ if ( vscode . extensions . getExtension ( "panicbit.cargo" ) ) {
208
+ vscode . window
209
+ . showWarningMessage (
210
+ `You have both the rust-analyzer (rust-lang.rust-analyzer) and Cargo (panicbit.cargo) plugins enabled` +
211
+ 'you can disable it or set {"cargo.automaticCheck": false} in settings.json to avoid invoking cargo twice' ,
212
+ "Got it" ,
213
+ )
214
+ . then ( ( ) => { } , console . error ) ;
215
+ }
216
+ }
0 commit comments