microsoft / microsoft/vscode-cpptools

includepath with network folders

Ouverte
#3,402 5 commentaires 2 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

bug Language Service network drive
Langage dominant
TypeScript
Étoiles
6.2k
Forks
1.7k
Merge moyen
14 h 46 min
PR mergées (30 j)
61

Description

I have a C++ workspace with following folder hierarchy

myWorkspace/
myWorkspace/component1/ImportedInterfaces/*.h --> need to exclude this folder
myWorkspace/component1/publicinterfaces/*.h
myWorkspace/component1/module1/localinterfaces/*.h
myWorkspace/component1/module1/src/*.cpp
myWorkspace/component2/ImportedInterfaces/*.h --> need to exclude this folder
myWorkspace/component2/publicinterfaces/*.h
myWorkspace/component2/module1/localinterfaces/*.h
myWorkspace/component2/module1/src/*.cpp

myWorkspace also depends on two other workspace folders on the network with similar hierarchy:

\\machine1\home\users\myDependentWorkspace1
\\machine2\home\users\myDependentWorkspace2

below is my c_cpp_properties.json file:

{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceFolder}/**",
                "//machine1//home/users/myDependentWorkspace1/**",
                "//machine2//home/users/myDependentWorkspace1/**",
                ],
            "windowsSdkVersion": "10.0.14393.0",
            "compilerPath": "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/cl.exe",
            "cStandard": "c11",
            "cppStandard": "c++11",
            "intelliSenseMode": "msvc-x64",
            "browse": {
                "path": [
                    "${workspaceFolder}/**",
                "//machine1//home/users/myDependentWorkspace1/**",
                "//machine2//home/users/myDependentWorkspace1/**",
                ],
            }
        }
    ],
    "version": 4
}

=============================
for folder exclusion i have the following in my settings.json file:

"C_Cpp.intelliSenseEngineFallback": "Enabled",
    "C_Cpp.loggingLevel": "Debug",
    "C_Cpp.exclusionPolicy": "checkFolders",
    "files.exclude": {
       "**/ImportedInterfaces": true
    }

========================================
I see the following message in Log(Extension Host):

[2019-04-03 16:05:17.018] [exthost] [error] [ms-vscode.cpptools] provider FAILED
[2019-04-03 16:05:17.018] [exthost] [error] Error: [UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")
	at c:\Program Files\Microsoft VS Code\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:111:329
	at new d (c:\Program Files\Microsoft VS Code\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:111:464)
	at new f (c:\Program Files\Microsoft VS Code\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:112:671)
	at Function.parse (c:\Program Files\Microsoft VS Code\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:112:11)
	at nullConverter (C:\Users\rip\.vscode\extensions\ms-vscode.cpptools-0.22.1\node_modules\vscode-languageclient\lib\protocolConverter.js:22:47)
	at asLocation (C:\Users\rip\.vscode\extensions\ms-vscode.cpptools-0.22.1\node_modules\vscode-languageclient\lib\protocolConverter.js:300:34)
	at item.map (C:\Users\rip\.vscode\extensions\ms-vscode.cpptools-0.22.1\node_modules\vscode-languageclient\lib\protocolConverter.js:290:43)
	at Array.map (<anonymous>)
	at asDefinitionResult (C:\Users\rip\.vscode\extensions\ms-vscode.cpptools-0.22.1\node_modules\vscode-languageclient\lib\protocolConverter.js:290:25)

Workaround is to copy all these folders to a local folder(e:\folder or d:\folder). Include paths to local drive folders work fine. Is network drive folders supported in VSCode. If so, how do we point to it via includepath ?

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par includePath et les entrées browse dans c_cpp_properties.json, ainsi que par les paramètres d’exclusion dans settings.json, puis reproduisez l’erreur Extension Host URI à l’aide des chemins de dossiers réseau indiqués. Vérifiez si les chemins UNC pris en charge peuvent être résolus sans l’erreur signalée ; le travail est terminé lorsque les includes réseau fonctionnent sans l’échec du provider et que l’exclusion du dossier demandé reste effective.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
cpp, vscode
Domaine
tooling
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
38/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.