Je viens de télécharger le code Visual Studio et mon Intellisense ne fonctionne pas automatiquement.
Les deux paramètres qui contrôlent cela semblent être correctement définis:
"editor.quickSuggestions": true,
"editor.suggestOnTriggerCharacters": true,
Je reçois un menu Intellisense lorsque je commence à taper et à appuyer sur "CTRL + Espace", mais cela me donne une liste de tout et non de choses spécifiques à mon objet.
Qu'est-ce que je fais mal?
Les fonctions d'édition plus avancées de Visual Studio Code (IntelliSense, outils de refactoring, etc.) ne fonctionnent dans les fichiers C # que si vous avez un fichier project.json
ou un fichier *.sln
que VSCode connaît. Ouvrez le dossier (c.-à-d. Ouvrez le menu Fichier et cliquez sur Ouvrir le dossier ...) avec le fichier *.sln
ou project.json
et VSCode tentera de trouver tous les fichiers projet/solution du dossier. S'il existe plusieurs projets, vous devrez peut-être en sélectionner un à partir du bouton de projets situé à droite de la barre d'état (en bas de la fenêtre).
Depuis le site Web de VSCode :
- La sélection d'un fichier
project.json
- ouvre un projet DNX et VSCode chargera ce projet ainsi que les projets référencés.- La sélection d'un fichier
*.sln
- ouvre un projet MSBuild. Il chargera les fichiers*.csproj
- référence et les fichiersproject.json
- code frères ou descendants référencés, mais aucun autre fichier de projet référencé à partir du fichier de solution.- La sélection de
folder
fera en sorte que VSCode analyse les fichiers*.sln
etproject.json
et que VSCode essaiera de tous les charger.
Depuis la version 0.5, j'ai constaté que je devais fermer et rouvrir mes fichiers de travail pour obtenir de nouvelles informations intellisense et commencer à travailler pour mes propres fichiers. Cela se produit généralement après l'ouverture d'un fichier nécessitant l'utilisation d'informations de type provenant d'un autre fichier que je viens de créer. Tant que je ne les ferme pas et ne les rouvre pas (dans l'éditeur), l'intellisense ne fonctionne pas toujours.
J'espère que c'est quelque chose qui sera corrigé à mesure que l'application mûrira.
Pour que l'intelligence fonctionne, l'extension de code Visual Studio, OmniSharp, devrait accompagner Mono. Lorsque vous ouvrez un dossier projet/solution, OmniSharp obtient les dépendances du projet à partir de project.json ou du fichier de solution dotnet (si le projet/solution a été créé avec d'autres versions de visual studio).
Ainsi, lorsque vous regardez la fenêtre de sortie de omnisharp après avoir immédiatement ouvert le dossier projet/solution, vous pouvez voir les lignes suivantes
Starting OmniSharp server at 2017-9-18 09:26:44
Target: /Users/{username}/Source/{Your Solution Folder}/{Your Solution
file}.sln
OmniSharp server started wth Mono
Path: /Users/{username}/.vscode/extensions/ms-vscode.csharp-1.12.1/.omnisharp/run
PID: 5808
poster que, vous pouvez voir quelques lignes à venir comme ci-dessous,
[info]: OmniSharp.MSBuild.MSBuildProjectSystem
Update project: {Your Project1 Name}
[info]: OmniSharp.MSBuild.MSBuildProjectSystem
Update project: {Your Project2 Name}
....
ils signifient que vos projets sont reconnus par OmniSharp Extension.
Si vous recevez un message d'erreur vous informant de l'expiration du délai, entrez dans les paramètres du code Visual Studio et ajoutez un remplacement de configuration comme celui ci-dessous:
"omnisharp.projectLoadTimeout": 200
Je sais qu'il est trop long d'attendre 200 secondes. Mais ne vous inquiétez pas, cela ne vous empêchera plus de travailler avec des fichiers de projet. Mais rappelez-vous que l’IntelliSense sera automatiquement disponible une fois que tous les projets du dossier auront été chargés avec succès.
N'hésitez pas à étendre le paramètre Timeout, car cela vous aidera à obtenir l'intellisense même si vous ne l'obtenez pas immédiatement.
Voici un autre lien avec la même solution: https://github.com/OmniSharp/omnisharp-vscode/issues/1585
J'espère que mes informations vous aident! Profitez de votre VSCode!
J'ai eu jusqu'à présent de bonnes expériences en C # avec cette extension: https://marketplace.visualstudio.com/items?itemName=jchannon.csharpextensions
"Cette extension parcourt l’arborescence de dossiers pour trouver le fichier project.json ou * .csproj et l’utilise comme dossier parent pour déterminer les espaces de noms."
Essayez "Install Extension" à partir de la commande Pallete - probablement si C # intellisense n’est pas là: