turbo-editors/turbo-pythonpublic Fork 0
main
Commits
Clone
git clone https://git.rickub.com/turbo-editors/turbo-python.git
git clone ssh://git@rickub.com/turbo-editors/turbo-python.git

Host key fingerprint (ed25519): SHA256:iycHnxEyq0Q7uyVpB7JlznP0G7JrTPXLYRcAU5CSLhc — verify it before your first connect.

📦 Turbo Python 6fc62ea · on main · k33g · 9h ago
menus.md · 150 lines · 8.9 KBmarkdown
Blame HistoryOpen raw

Référence : menus

Liste complète des entrées de la barre de menus, avec leurs raccourcis et les conditions dans lesquelles elles peuvent être choisies.

Une entrée marquée fichier requis est grisée quand aucune fenêtre n'est ouverte.

La barre porte toujours File, Edit, Search, Run, Code, Options, Window, Snippets, Python et Help, dans cet ordre. Le fichier d'outils d'un projet peut y ajouter ses propres menus, entre Python et Help ; ils sont décrits sous Menus du projet plus bas.

File

Entrée Raccourci Fichier requis Effet
New F4 Ouvrir une fenêtre vide sans titre
Open… F3 Ouvrir l'explorateur de fichiers et ouvrir ce qui est choisi
Save F2 oui Écrire le fichier ; demande un nom s'il n'en a pas
Save as… oui Demander un nom et écrire dedans, en adoptant ce chemin
Close Ctrl-W oui Fermer la fenêtre courante, en proposant d'enregistrer d'abord
Exit Alt-X Quitter l'éditeur, en proposant d'enregistrer chaque fichier modifié

Edit

Entrée Raccourci Fichier requis Effet
Undo Ctrl-Z oui Annuler la dernière modification
Redo Ctrl-R oui Rétablir la dernière modification annulée. Ctrl-Y le faisait avant ; il supprime désormais une ligne, comme dans Turbo C.
Insert line Ctrl-N oui Ouvrir une ligne vide au-dessus du curseur, en laissant le curseur sur son propre texte
Delete line Ctrl-Y oui Supprimer la ligne où est le curseur. Le curseur reste au même numéro de ligne : maintenir la touche en supprime une série.
Cut Maj-Suppr oui Copier la sélection dans le presse-papier et la supprimer
Copy Ctrl-Inser oui Copier la sélection dans le presse-papier
Paste Maj-Inser oui Insérer le presse-papier, en remplaçant la sélection
Select all Ctrl-A oui Sélectionner tout le fichier

Le presse-papier est partagé entre toutes les fenêtres d'une même session.

Entrée Raccourci Fichier requis Effet
Find… Ctrl-F oui Demander un texte et des options, puis aller à la première occurrence
Find next F7 oui Aller à l'occurrence suivante, en bouclant en fin de fichier
Find previous Maj-F7 oui Aller à l'occurrence précédente, en bouclant en début de fichier
Go to line… Ctrl-G oui Demander un numéro de ligne, à partir de un

Run

Entrée Raccourci Fichier requis Effet
Completion Ctrl-Espace oui Ouvrir la liste de complétion au curseur
Language server status Indiquer si un serveur de langage tourne, et ce qu'il fait

Code

Tout ce que l'éditeur demande au serveur de langage à propos du symbole sous le curseur. Rien ici n'exige de sélection : presque toutes les requêtes du protocole prennent une position et non une plage, il n'y a donc rien de plus à dire en sélectionnant d'abord.

Sa touche d'accès est Alt-C.

Entrée Raccourci Fichier requis Effet
Describe symbol F1 oui Montre ce que le serveur de langage sait du symbole sous le curseur
Go to definition F12 oui Où le symbole est déclaré. Une seule réponse l'ouvre ; plusieurs proposent la liste.
Go to type definition oui Où le type du symbole est déclaré, ce qui est une autre question
Find implementations… oui Ce qui l'implémente : les types satisfaisant une interface, les blocs impl d'un trait
Find references… Shift-F12 oui Où il est utilisé, sa déclaration comprise
Symbol in file… oui Le plan du fichier, indenté, avec la sorte de chaque symbole. En choisir un y va.
Symbol in project… Ctrl-T non Demande un nom et cherche dans tout le projet
Problems… non Tous les problèmes signalés par le serveur, pour tous les fichiers dont il a parlé

Une liste de lieux montre le fichier, la ligne, et le texte de cette ligne — douze entrées affichant handler.go:42 ne disent rien de celle qu'on veut. Le texte vient d'une fenêtre ouverte quand il y en a une : un fichier modifié et non enregistré est donc listé tel qu'il se lit maintenant.

Trois réponses sont distinguées, et la différence compte : rien trouvé le dit avec les mots de la question (No references found), le serveur n'est pas prêt montre ce qu'il est en train de faire, et une seule réponse vous y emmène sans dialogue.

Symbol in file n'a pas de raccourci, à dessein. Le raccourci évident serait Ctrl-Shift-O, et un terminal ne sait pas le distinguer de Ctrl-O — la touche Maj est perdue avant que l'éditeur ne la voie.

Options

Entrée Fichier requis Effet
Theme… Lister tous les thèmes chargeables et appliquer immédiatement celui choisi. Si un fichier de réglages de projet existe, y écrit aussi le choix.
Line numbers oui Afficher ou masquer la gouttière dans la fenêtre courante
Create project settings Écrire .turbo-python/settings.toml avec le thème en cours, et l'ouvrir. Grisée dès que le projet en a un.
Project settings… Ouvrir .turbo-python/settings.toml. Grisée tant que le projet n'en a pas.

Window

Entrée Raccourci Fichier requis Effet
Next F6 oui Passer au premier plan la fenêtre située derrière
New terminal F8 non Ouvrir une fenêtre exécutant un shell, dans le dossier du fichier au premier plan
Project tree F9 non Ouvrir une fenêtre montrant les fichiers du projet ; ramène l'existante au premier plan s'il y en a une
Tile oui Disposer toutes les fenêtres en grille, sans recouvrement
Cascade oui Empiler les fenêtres décalées, tous les titres visibles
Maximise oui Donner tout le bureau à la fenêtre courante, ou la remettre où elle était si elle l'a déjà. Le même bascule que la case [■] sur le cadre de la fenêtre.
List… Alt-0 oui Lister les fenêtres ouvertes et passer la choisie au premier plan

Snippets

Construit depuis .turbo-python/snippets.toml et votre propre fichier à chaque ouverture. Sa touche d'accès est Alt-N, parce que Search répond déjà au S.

Entrée Fichier requis Effet
Un sous-menu par groupe Insérer le snippet choisi au curseur ; les entrées exigent un fichier ouvert
Create snippets file non Écrire .turbo-python/snippets.toml avec des exemples travaillés, puis l'ouvrir. Grisée dès que le projet en a un.
Open snippets file non Ouvrir .turbo-python/snippets.toml. Grisée tant que le projet n'en a pas. Toujours le fichier du projet, jamais le vôtre.

Voir Snippets.

Python

Construit depuis .turbo-python/tools.toml à chaque ouverture. Sa touche d'accès est Alt-P.

Entrée Effet
Une ligne par outil ne nommant aucun menu Lancer cette commande, en montrant sa sortie là où l'outil le demande : une popup, une fenêtre terminal, ou une fenêtre d'édition
Create tools file Écrire .turbo-python/tools.toml avec les cinq commandes Python, puis l'ouvrir. Grisée dès que le projet en a un.
Open tools file Ouvrir .turbo-python/tools.toml. Grisée tant que le projet n'en a pas.

Voir Outils Python.

Non fixes : un menu par nom de menu dans .turbo-python/tools.toml, dans l'ordre où les noms y apparaissent pour la première fois, entre Python et Help. Un projet sans fichier d'outils, ou dont tous les outils restent dans Python, n'en a aucun.

Entrée Effet
Une ligne par outil nommant ce menu Lancer cette commande, en montrant sa sortie là où l'outil le demande

Leurs touches d'accès sont attribuées et non fixées, pour qu'un nom venu d'un fichier ne puisse jamais prendre une lettre à laquelle un des menus ci-dessus répond déjà. Les règles sont dans Outils Python.

Help

Entrée Effet
Keyboard Afficher les touches à connaître
About Afficher la version, le commit et la date de build quand le build les a enregistrés, et le thème courant. Voir le numéro de version.

Barre d'état

Les indices du bas sont cliquables et exécutent les mêmes actions.

Indice Action
F1 Describe Code ▸ Describe symbol
F2 Save File ▸ Save
F3 Open File ▸ Open…
F6 Window Window ▸ Next
F7 Next Search ▸ Find next
F10 Menu Ouvrir la barre de menus
Alt-X Exit File ▸ Exit

L'extrémité droite affiche, dans cet ordre : le curseur sous la forme ligne:colonne, puis soit la première erreur signalée par le serveur de langage pour ce fichier (précédée de ), soit l'état du serveur de langage.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
# Référence : menus

> Liste complète des entrées de la barre de menus, avec leurs raccourcis et les conditions dans lesquelles elles peuvent être choisies.

Une entrée marquée **fichier requis** est grisée quand aucune fenêtre n'est ouverte.

La barre porte toujours File, Edit, Search, Run, Code, Options, Window, Snippets, Python et Help, dans cet ordre. Le fichier d'outils d'un projet peut y ajouter ses propres menus, entre Python et Help ; ils sont décrits sous [Menus du projet](#menus-du-projet) plus bas.

## File

| Entrée | Raccourci | Fichier requis | Effet |
| --- | --- | --- | --- |
| New | `F4` | | Ouvrir une fenêtre vide sans titre |
| Open… | `F3` | | Ouvrir l'explorateur de fichiers et ouvrir ce qui est choisi |
| Save | `F2` | oui | Écrire le fichier ; demande un nom s'il n'en a pas |
| Save as… | | oui | Demander un nom et écrire dedans, en adoptant ce chemin |
| Close | `Ctrl-W` | oui | Fermer la fenêtre courante, en proposant d'enregistrer d'abord |
| Exit | `Alt-X` | | Quitter l'éditeur, en proposant d'enregistrer chaque fichier modifié |

## Edit

| Entrée | Raccourci | Fichier requis | Effet |
| --- | --- | --- | --- |
| Undo | `Ctrl-Z` | oui | Annuler la dernière modification |
| Redo | `Ctrl-R` | oui | Rétablir la dernière modification annulée. **`Ctrl-Y` le faisait avant** ; il supprime désormais une ligne, comme dans Turbo C. |
| Insert line | `Ctrl-N` | oui | Ouvrir une ligne vide au-dessus du curseur, en laissant le curseur sur son propre texte |
| Delete line | `Ctrl-Y` | oui | Supprimer la ligne où est le curseur. Le curseur reste au même numéro de ligne : maintenir la touche en supprime une série. |
| Cut | `Maj-Suppr` | oui | Copier la sélection dans le presse-papier et la supprimer |
| Copy | `Ctrl-Inser` | oui | Copier la sélection dans le presse-papier |
| Paste | `Maj-Inser` | oui | Insérer le presse-papier, en remplaçant la sélection |
| Select all | `Ctrl-A` | oui | Sélectionner tout le fichier |

Le presse-papier est partagé entre toutes les fenêtres d'une même session.

## Search

| Entrée | Raccourci | Fichier requis | Effet |
| --- | --- | --- | --- |
| Find… | `Ctrl-F` | oui | Demander un texte et des options, puis aller à la première occurrence |
| Find next | `F7` | oui | Aller à l'occurrence suivante, en bouclant en fin de fichier |
| Find previous | `Maj-F7` | oui | Aller à l'occurrence précédente, en bouclant en début de fichier |
| Go to line… | `Ctrl-G` | oui | Demander un numéro de ligne, à partir de un |

## Run

| Entrée | Raccourci | Fichier requis | Effet |
| --- | --- | --- | --- |
| Completion | `Ctrl-Espace` | oui | Ouvrir la liste de complétion au curseur |
| Language server status | | | Indiquer si un serveur de langage tourne, et ce qu'il fait |

## Code

Tout ce que l'éditeur demande au serveur de langage à propos du symbole **sous le curseur**. Rien ici n'exige de sélection : presque toutes les requêtes du protocole prennent une position et non une plage, il n'y a donc rien de plus à dire en sélectionnant d'abord.

Sa touche d'accès est `Alt-C`.

| Entrée | Raccourci | Fichier requis | Effet |
| --- | --- | --- | --- |
| Describe symbol | `F1` | oui | Montre ce que le serveur de langage sait du symbole sous le curseur |
| Go to definition | `F12` | oui | Où le symbole est déclaré. Une seule réponse l'ouvre ; plusieurs proposent la liste. |
| Go to type definition | | oui | Où le *type* du symbole est déclaré, ce qui est une autre question |
| Find implementations… | | oui | Ce qui l'implémente : les types satisfaisant une interface, les blocs `impl` d'un trait |
| Find references… | `Shift-F12` | oui | Où il est utilisé, sa déclaration comprise |
| Symbol in file… | | oui | Le plan du fichier, indenté, avec la sorte de chaque symbole. En choisir un y va. |
| Symbol in project… | `Ctrl-T` | non | Demande un nom et cherche dans tout le projet |
| Problems… | | non | Tous les problèmes signalés par le serveur, pour tous les fichiers dont il a parlé |

Une liste de lieux montre le fichier, la ligne, et le texte de cette ligne — douze entrées affichant `handler.go:42` ne disent rien de celle qu'on veut. Le texte vient d'une fenêtre ouverte quand il y en a une : un fichier modifié et non enregistré est donc listé tel qu'il se lit maintenant.

Trois réponses sont distinguées, et la différence compte : **rien trouvé** le dit avec les mots de la question (`No references found`), **le serveur n'est pas prêt** montre ce qu'il est en train de faire, et **une seule réponse** vous y emmène sans dialogue.

*Symbol in file* n'a pas de raccourci, à dessein. Le raccourci évident serait `Ctrl-Shift-O`, et un terminal ne sait pas le distinguer de `Ctrl-O` — la touche Maj est perdue avant que l'éditeur ne la voie.

## Options

| Entrée | Fichier requis | Effet |
| --- | --- | --- |
| Theme… | | Lister tous les thèmes chargeables et appliquer immédiatement celui choisi. Si un fichier de réglages de projet existe, y écrit aussi le choix. |
| Line numbers | oui | Afficher ou masquer la gouttière dans la fenêtre courante |
| Create project settings | | Écrire `.turbo-python/settings.toml` avec le thème en cours, et l'ouvrir. **Grisée dès que le projet en a un.** |
| Project settings… | | Ouvrir `.turbo-python/settings.toml`. **Grisée tant que le projet n'en a pas.** |

## Window

| Entrée | Raccourci | Fichier requis | Effet |
| --- | --- | --- | --- |
| Next | `F6` | oui | Passer au premier plan la fenêtre située derrière |
| New terminal | `F8` | non | Ouvrir une fenêtre exécutant un shell, dans le dossier du fichier au premier plan |
| Project tree | `F9` | non | Ouvrir une fenêtre montrant les fichiers du projet ; ramène l'existante au premier plan s'il y en a une |
| Tile | | oui | Disposer toutes les fenêtres en grille, sans recouvrement |
| Cascade | | oui | Empiler les fenêtres décalées, tous les titres visibles |
| Maximise | | oui | Donner tout le bureau à la fenêtre courante, ou la remettre où elle était si elle l'a déjà. Le même bascule que la case `[■]` sur le cadre de la fenêtre. |
| List… | `Alt-0` | oui | Lister les fenêtres ouvertes et passer la choisie au premier plan |

## Snippets

Construit depuis `.turbo-python/snippets.toml` et votre propre fichier à chaque ouverture. Sa touche d'accès est `Alt-N`, parce que Search répond déjà au S.

| Entrée | Fichier requis | Effet |
| --- | --- | --- |
| Un sous-menu par groupe | | Insérer le snippet choisi au curseur ; les entrées exigent un fichier ouvert |
| Create snippets file | non | Écrire `.turbo-python/snippets.toml` avec des exemples travaillés, puis l'ouvrir. **Grisée dès que le projet en a un.** |
| Open snippets file | non | Ouvrir `.turbo-python/snippets.toml`. **Grisée tant que le projet n'en a pas.** Toujours le fichier du projet, jamais le vôtre. |

Voir [Snippets](snippets.md).

## Python

Construit depuis `.turbo-python/tools.toml` à chaque ouverture. Sa touche d'accès est `Alt-P`.

| Entrée | Effet |
| --- | --- |
| Une ligne par outil ne nommant aucun `menu` | Lancer cette commande, en montrant sa sortie là où l'outil le demande : une popup, une fenêtre terminal, ou une fenêtre d'édition |
| Create tools file | Écrire `.turbo-python/tools.toml` avec les cinq commandes Python, puis l'ouvrir. **Grisée dès que le projet en a un.** |
| Open tools file | Ouvrir `.turbo-python/tools.toml`. **Grisée tant que le projet n'en a pas.** |

Voir [Outils Python](python-tools.md).

## Menus du projet

Non fixes : un menu par nom de `menu` dans `.turbo-python/tools.toml`, dans l'ordre où les noms y apparaissent pour la première fois, entre Python et Help. Un projet sans fichier d'outils, ou dont tous les outils restent dans Python, n'en a aucun.

| Entrée | Effet |
| --- | --- |
| Une ligne par outil nommant ce menu | Lancer cette commande, en montrant sa sortie là où l'outil le demande |

Leurs touches d'accès sont attribuées et non fixées, pour qu'un nom venu d'un fichier ne puisse jamais prendre une lettre à laquelle un des menus ci-dessus répond déjà. Les règles sont dans [Outils Python](python-tools.md#touches-daccès).

## Help

| Entrée | Effet |
| --- | --- |
| Keyboard | Afficher les touches à connaître |
| About | Afficher la version, le commit et la date de build quand le build les a enregistrés, et le thème courant. Voir [le numéro de version](versioning.md). |

## Barre d'état

Les indices du bas sont cliquables et exécutent les mêmes actions.

| Indice | Action |
| --- | --- |
| `F1 Describe` | Code ▸ Describe symbol |
| `F2 Save` | File ▸ Save |
| `F3 Open` | File ▸ Open… |
| `F6 Window` | Window ▸ Next |
| `F7 Next` | Search ▸ Find next |
| `F10 Menu` | Ouvrir la barre de menus |
| `Alt-X Exit` | File ▸ Exit |

L'extrémité droite affiche, dans cet ordre : le curseur sous la forme `ligne:colonne`, puis soit la première erreur signalée par le serveur de langage pour ce fichier (précédée de `⚠`), soit l'état du serveur de langage.