-
Notifications
You must be signed in to change notification settings - Fork 29.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
DAP sources are case sensitive on insensitive filesystems #106382
Comments
Yes, the fact that node.js allows to import a different casing of a file (and the fact that drive letter casing on Windows is not predictable either) is a nightmare. [In the legacy node-debugger I was registering breakpoints with a regexp instead of path for that reason (to make the breakpoint matching case insensitive). But it seems that breakpoint matching is not your problem here...] We came to the conclusion that ideally VS Code should handle cases like this in a smart way: mapping file paths that differ only in casing back to a single file in the workspace (instead of opening another editor...). However, at that time for some reason (@isidorn?) it was not easy/possible to implement that strategy with the workspace API. So we added workarounds in the debug adapters to return paths that would "match" VS Code's expectations. But today workspace has better support for smart matching files with case differences. I think we should finally tackle the problem on the VS Code side so that debug adapters don't have to deal with this anymore. @isidorn what is your take? |
Fyi @jrieken and me tackled casing issues in the workbench with the use of |
I think it makes sense that we tackle this on the VS Code. More specificily:
Let me know what you think |
At least for js-debug, I always normalize path casing on windows, so it doesn't matter. |
Ok, since there are no complaints let's do what I suggested above. |
@isidorn Yes, VS Code should leave data received from the DA unmodified when sending it back to the DA. |
I have pushed a change as we have agreed Whenever VS Code ui recieves a However I did not have a chance to try this out since I do not have exact repro steps. |
Insiders build with this change is out. Let me know how it behaves. Thanks! |
I was able to repro this in today's insiders. Here's what I'm doing: https://memes.peet.io/img/20-09-8e9d658e-4062-4eca-9e66-068c3ae4c21a.mp4 |
@connor4312 thanks a lot for that example. I was able to repro. Required a bit more changes from my side, but now it behaves good for me. |
Let's add a verification needed here. So @connor4312 can add verified when this seems to work all right for him. |
Looks good in my testing 👍 |
Thanks a lot for testing it out! |
From #102493 (comment)
In this case:
socks5udp
) than what was actually on their disk (socks5UDP
).socks5UDP
socks5udp
What should be the proper behavior here? Who should canonicalize the path?
The text was updated successfully, but these errors were encountered: