web-dev-qa-db-fra.com

Intellisense ne fonctionne pas automatiquement VSCode

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?

15
MaylorTaylor

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 fichiers project.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 et project.json et que VSCode essaiera de tous les charger.

enter image description here

38
Nacimota

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.

5
Sam Storie

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! 

1

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."

0
MungeWrath

Essayez "Install Extension" à partir de la commande Pallete - probablement si C # intellisense n’est pas là:

 enter image description here

https://code.visualstudio.com/docs/customization/colorizer

0
ShahMansoor