diff --git a/arduino-ide-extension/src/browser/contributions/contribution.ts b/arduino-ide-extension/src/browser/contributions/contribution.ts index 309a72dbc..920e4dfd9 100644 --- a/arduino-ide-extension/src/browser/contributions/contribution.ts +++ b/arduino-ide-extension/src/browser/contributions/contribution.ts @@ -222,6 +222,12 @@ export abstract class CoreServiceContribution extends SketchContribution { } catch {} } if (message) { + if (message.includes('Missing FQBN (Fully Qualified Board Name)')) { + message = nls.localize( + 'arduino/coreContribution/noBoardSelected', + 'No board selected. Please select your Arduino board from the Tools > Board menu.' + ); + } const copyAction = nls.localize( 'arduino/coreContribution/copyError', 'Copy error messages' diff --git a/arduino-ide-extension/src/browser/contributions/upload-sketch.ts b/arduino-ide-extension/src/browser/contributions/upload-sketch.ts index d3278f0ec..a6be799f9 100644 --- a/arduino-ide-extension/src/browser/contributions/upload-sketch.ts +++ b/arduino-ide-extension/src/browser/contributions/upload-sketch.ts @@ -61,10 +61,11 @@ export class UploadSketch extends CoreServiceContribution { registry.registerCommand(UploadSketch.Commands.UPLOAD_SKETCH, { execute: async () => { const key = this.selectedFqbnAddress(); - if (!key) { - return; - } - if (this.boardRequiresUserFields && !this.cachedUserFields.has(key)) { + if ( + this.boardRequiresUserFields && + key && + !this.cachedUserFields.has(key) + ) { // Deep clone the array of board fields to avoid editing the cached ones this.userFieldsDialog.value = ( await this.boardsServiceProvider.selectedBoardUserFields() diff --git a/i18n/en.json b/i18n/en.json index 1b8a65f74..014067cc6 100644 --- a/i18n/en.json +++ b/i18n/en.json @@ -132,7 +132,8 @@ "replaceTitle": "Replace" }, "coreContribution": { - "copyError": "Copy error messages" + "copyError": "Copy error messages", + "noBoardSelected": "No board selected. Please select your Arduino board from the Tools > Board menu." }, "daemon": { "restart": "Restart Daemon",