F12 qui ne fonctionne pas

Bonjour

Je tente d'aider mon grand garçon à apprendre la programmation mais je me heurte à un problème particulièrement frustrant dans Arduino ide 2 : la touche F12 qui fonctionne quand elle veut (et pas souvent). J'aimerais qu'il soit convaincu de l’intérêt d'utiliser des fonctions mais là comme il est impossible d'atteindre la définition facilement, l'utilisation de fonctions perd tout son intérêt. Je me rends compte que sans F12 développer devient presque pas drôle.

J'ai trouvé ce post qui parle du problème

mais je n'en comprends pas un traitre mot, sans doute car ça date de si longtemps que je n'en reviens pas qu'un bug sur un truc aussi basique et essentiel puisse encore exister.

Apparemment ça dépendrait du microcontrôleur cible (why?) => là on est sur un Arduino uno officiel.
Et plus étrange encore à des brefs moments ça fonctionne, je ne saurais dire ce qu'il y avait de spécial durant ces instants où ça a bien voulu fonctionner.

Merci par avance pour votre aide.

Faut pas charrier, l'intérêt des fonctions ce n'est pas ça. C'est de découper le code en petits morceaux facile à tester et à réutiliser avant tout.

Tu utilises quelle version de l'IDE.
J'ai la version 2.1.0 pour Linux et F12 fonctionne ainsi que le clic_droit

Bonjour

Quand on est débutant et qu'on perd en visibilité, l’inconvénient devient un obstacle au reste. Il ne lui reste que croire son petit père sur parole.

Je suis aussi en 2.1.0 mais sous windows.

Sur mon pc W11 à l'instant le F12 fonctionne.
Sur le pc que mon fils utilise, sous W10 le même code a le F12 qui ne fonctionne pas à cet instant, dimanche soir ça a fonctionné pendant un moment.
Même version de Arduino IDE dans les 2 cas.

Sur quoi se base cette fonctionnalité qui pourrait expliquer un fonctionnement aléatoire comme ça ?

Aucune idée.
Est-ce que la fonction est accessible par un clic droit sur le nom de fonction lorsque F12 ne fonctionne pas?

Bonjour petitours

Quand F12 ne fonctionne pas, est-ce que clic droite/Atteindre la définition
image
fonctionne, si oui, il y a un problème de clavier. C'est quel type de clavier?

Si F12 et clic droite/Atteindre la définition ne fonctionnent pas, est-ce qu'il y a un Arduino sélectionné?
image

Cordialement
jpbbricole

Bonjour,

Je viens de faire le mise à jour 2.1.0 sous Win7 et F12 et le clic droit ne fonctionnent plus (avec le clic droit j'ai toujours le menu "mettre en forme le document" ...)
Ce n'est pas la première régression sévère après une mise à jour. Reste plus qu'a attendre la correction.

1 Like

Le clic droit "atteindre la définition" fonctionne (ou pas) pareil que son raccourci F12. Quand l'un est HS, l'autre l'est aussi.

Je l'aurais bien mis sur visual studio code mais c'est tellement plus lourd que je ne suis pas sur que ce soit mieux pour un débutant. L'environnement c'est un sujet important mais configurer la chaine de dev est bien peu pertinent pour l'apprentissage de la programmation.

A priori, problème connu et cause identifiée

This fault only occurs when the sketch is on a different drive from your system's temporary folder (which is on C:\ for both of you).

Donc le problème se produirait lorsque le sketch est dans un répertoire qui n'est pas sur le disque par défaut de Windows.

La solution proposée

please try saving your sketch to any convenient location on the C:\ drive your your computer and then tell me whether the problem still occurs in that sketch.

Déplacer le sketch dans un répertoire sur le disque par défaut. Et selon les demandeurs cela à résolu le problème.

Pour la même raison, l'affichage des détails lors du survol d'un nom de variable ou de fonction ne fonctionne pas non plus.

1 Like

hello
j'avoue que je ne suis pas curieux. j'utilise peu les versions 2.01,2,3,4.
hier en voyant ce post, j'ai voulu voir j'ai ouvert l'ide 2.04 et il m'a proposé de passer en 2.10. ce que j'ai fait.
donc, en 2.1.0, sous windows 11:
le clic droit sur le nom d'une fonction lors de son appel me propose bien d'aller sur la définition de la fonction.
F12 va directement sur la définition de la fonction.

j'ignorais l'existence de f12 et du clic droit. et j'ignore surement l'existence d'un tas d'autres touches de fonction ou de raccourcis clavier.

je n'ai jamais utilisé ce "confort" de codage. et j'ai quand même pris beaucoup de plaisir à coder. lorsque l'on est dans son programme, on sait ou retrouver ses fonctions, surtout si elles sont judicieusement stockées. je pense à la possibilité de faire différents onglets qui peuvent par exemple regrouper les définitions de fonctions par thème

Bonjour petitours

Tout à fait d'accord et c'est pour ça qu'Arduino existe et que son environnement de développement est simple et rapide à installer et simple d'emploi.

Quand tu dis

C'est au cours de la même session tout d'un coup ça "marche/marche pas" ou une session d'édition, ça fonctionne, je quitte l'IDE, je reviens, ça ne marche plus?

Cordialement
jpbbricole

Bonjour,

Ce n'est pas la cause, c'est une explication.
La cause est une régression entre la version 2.0.4 et 2.1.0
Je mets mon répertoire user sur le disque D, comme ça en cas de problème nécessitant une réinstallation voire un formatage du disque système j'ai toujours mes fichiers utilisateur.

Après vérification ce n'est pas ça, cette personne a juste du associer ça au "miracle" de quand c'est retombé en marche.

Je viens de vérifier le projet de mon fils actuel : il est sur la partition par defaut c:/Arduino/Projet_truc_bidule/

Dimanche le F12 a marché brièvement quand 'ai repris le projet et créé pleins de fonctions, hier ça ne marchait plus , ce matin idem quand j'ai ré-ouvert pour vérifier la version de l'ide.
Là en rallumant le pc pour vérifier l'emplacement ça refonctionne et je n'ai absolument rien touché, ni au sketch, ni à l'ide, ni au pc.

Si quelqu'un a une idée sur le comment trouver une logique à ce bug je suis preneur.

A la réflexion abandonner le .ino et aller vers une arborescence de projet avec des .cpp et .h "normaux" ne serait pas plus mal, si ArduinoIDE ne fait pas le job ça vaut peut être le coup de changer.
A part Visual studio code (dont je ne suis pas fan du tout), y a t-il une autre plateforme de dev pour Arduino que je peux regarder ?

Merci

Tu peux déjà commencer par associer PlatformIO à VSCode.
Et si vraiment VSCode ne te/lui convient pas tu peux aussi te tourner vers Eclipse avec l'extension Sloeber.

Normalement le répertoire Arduino est dans documents. Le problème se produit peut être aussi quand le répertoire Arduino est à la racine.

Bonjour

Hier j'ai re-regardé pour utiliser le multifichier avec Arduino IDE et je me suis un peu arraché mes quelques cheveux restants. C'est très limité (pas grave) et ce qui est masqué par le ino au niveau de la compilation rend le truc hautement spécifique à Arduino. Je ne pensais pas avoir à tout réapprendre pour pouvoir aider mon fils et la notion de .ino est difficile à expliquer puisque sans réel intérêt. Au final ceci renforce l'envie/besoin d'abandonner ArduinoIDE.

Je vais regarder Sloeber plus en détail parce que j'aime bien éclipse qui peut être très ergonomique si on a pas à toucher au château de carte des configurations. Je suis juste inquiet par ma première lecture de la doc qui parle de comment garder la logique du ino qui est à mes yeux le truc à ne pas garder.

Et à coté de ça mon fils me dit qu'il a lu ici et là que PlatformIO ne serait pas bien, pas adapté aux Arduino mais plutôt à l'esp32. Il est fort possible qu'il se trompe mais comme vscode est assez complexe ça ne va pas être simple de lui montrer qu'il se trompe le cas échéant.

Merci

Je ne suis pas adepte de platformio, mais je ne vois pas trop comment il pourrait être plus adapté au Esp32 avec surcouche Arduino, qu'un Atmel avec la même surcouche ?

Par contre je préfère de loin Visual code à l'ancien IDE Arduino, je n'ai pas l'impression que Visual code soit particulièrement complexe à utiliser?

Autant programmer avec l'Arduino IDE 1.8.19. Ce que je fait quand je n'ai pas besoin des avantages de la version 2.1.0

1 Like

Si vous n'êtes pas adepte de plateformio mais adepte de Visual studio code, peut être avez vous autre chose ( mieux ?) que plateformio ?

Pas vraiment, j'avais essayé PlatformIO dans VS, il y a longtemps et cela ne fonctionnait pas.
N'ayant pas retester, je ne peux pas dire que ce que j'utilise est mieux.
J'utilise donc l'extension Arduino et la palette de commande qui vient avec l'extension.
Ici PlatformIO semble faire consensus au près des ArduinoKiller, j'aurais donc tendances à leur faire confiance :slight_smile:

Je n'avais pas l'impression qu'il y avait des Arduinokiller parmi ceux qui font et vantent Arduino si régulièrement.
Perso je suis pro "outil officiel" et donc pro ArduinoIDE mais là faut savoir reconnaitre la fausse route, trop de bugs et bizarreries.

J'ai essayé plateformeIO et, s'il y a plein de choses dont un débutant n'a pas besoin, la base est très claire est accessible avec création d'un projet et une gestion des librairies avec exemple de code claire. Et pas besoin de bidouiller des json comme cela peut vite devenir infernal avec Visual Studio Code.

J'ai essayé sous Eclipse aussi mais je me suis perdu dans l'extension (sans doute à cause de ce .ino qui persiste) alors que j'utilise beaucoup Eclipse et que je le connais bien mieux que vsc.

Pour le moment mon grand est allergique à vsc qui serait "pour ceux qui ont du temps à perdre", je verrai plus tard, quand il sera curieux de perdre moins de temps.