@@ -25,16 +25,7 @@ export async function deactivate() {
2525export async function activate (
2626 context : vscode . ExtensionContext ,
2727) : 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 ( ) ;
3829
3930 const ctx = new Ctx ( context , createCommands ( ) , fetchWorkspace ( ) ) ;
4031 // VS Code doesn't show a notification when an extension fails to activate
@@ -200,3 +191,26 @@ function createCommands(): Record<string, CommandFactory> {
200191 revealDependency : { enabled : commands . revealDependency } ,
201192 } ;
202193}
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