8000 Need a setting to force case-sensitive folder support · Issue #1994 · microsoft/vscode-cpptools · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
Need a setting to force case-sensitive folder support #1994
Closed
@adpa

Description

@adpa

System

Windows 10, Version 1703 (OS Build 15063.966)
VSCode 1.23.1
Cpptools 0.17.0

Description

I'm seeing issues with workspaces on drives mapped using the built-in Windows NFS client (i.e., the one installed from "Windows Features -> Services for NFS -> Client for NFS").

With case sensitivity enabled (mount option casesensitive=yes), the extension logs an error: Unable to retrieve file system information for <path>. error = -1 for paths in browse.path that reside on the NFS drive. Tooltips and navigation shortcuts (e.g., "Go to Definition" and "Switch Header/Source") subsequently fail in this configuration because the extension cannot find my files.

With case sensitivity disabled (casesensitive=no), the error goes away and indexing seems to work, but any files opened using navigation shortcuts have their paths converted to ALL CAPS and you can end up with duplicate tabs (one with normal casing and one with all caps) or duplicate search results if the file in question was already opened through the Explorer pane.

Sample mount output

>mount -o casesensitive=yes <servername>:/share x:
x: is now successfully connected to <servername>:/share

>mount

Local    Remote                                 Properties
-------------------------------------------------------------------------------
x:       \\<servername>\share                   UID=<uid>, GID=<gid>
                                                rsize=131072, wsize=131072
                                                mount=soft, timeout=6.4
                                                retry=1, locking=yes
                                                fileaccess=755, lang=ANSI
                                                casesensitive=yes
                                                sec=sys

Sample Cpptools log

IntelliSense Engine = Default.
The extension will use the Tag Parser for IntelliSense when #includes don't resolve.
Autocomplete is enabled.
Error squiggles are enabled.
File exclude: **/.git
File exclude: **/.svn
File exclude: **/.hg
File exclude: **/CVS
File exclude: **/.DS_Store
File exclude: **/.vscode
Search exclude: **/node_modules
Search exclude: **/bower_components
Search exclude: **/.vscode
Code browsing service initialized
  Unable to retrieve file system information for X:\vscode-cpp-test. error = -1
  Folder: C:/TOOLS/MINGW64/LIB/GCC/X86_64-W64-MINGW32/5.3.0/INCLUDE/ will be indexed
  Folder: C:/TOOLS/MINGW64/LIB/GCC/X86_64-W64-MINGW32/5.3.0/INCLUDE-FIXED/ will be indexed
  Folder: C:/TOOLS/MINGW64/X86_64-W64-MINGW32/INCLUDE/ will be indexed
Discovering files...
  Processing folder (recursive): C:/TOOLS/MINGW64/LIB/GCC/X86_64-W64-MINGW32/5.3.0/INCLUDE/
  Processing folder (recursive): C:/TOOLS/MINGW64/LIB/GCC/X86_64-W64-MINGW32/5.3.0/INCLUDE-FIXED/
  Processing folder (recursive): C:/TOOLS/MINGW64/X86_64-W64-MINGW32/INCLUDE/
  Discovering files: 2283 file(s) processed
  0 file(s) removed from database
Done discovering files.
Parsing remaining files...
  Parsing: 0 files(s) processed
Done parsing remaining files.

Sample Cpptools configuration

{
    "configurations": [
        {
            "name": "MinGW",
            "intelliSenseMode": "clang-x64",
            "compilerPath": "C:/tools/mingw64/bin/gcc.exe",
            "includePath": [
                "${workspaceFolder}",
                "${workspaceFolder}/foo",
                "${workspaceFolder}/bar/baz"
            ],
            "defines": [],
            "browse": {
                "path": [
                    "${workspaceFolder}"
                    ],
                "limitSymbolsToIncludedHeaders": true,
                "databaseFilename": ""
            },
            "cStandard": "c11",
            "cppStandard": "c++17"        
        }
    ],
    "version": 4
}

Metadata

Metadata

Assignees

Labels

Feature RequestLanguage ServicefixedCheck the Milestone for the release in which the fix is or will be available.

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions

    0