microsoft / pylance-release

Documentation and issues for Pylance
Creative Commons Attribution 4.0 International
1.71k stars 765 forks source link

Repo indexing is confused #5302

Open andreigh opened 10 months ago

andreigh commented 10 months ago

Environment data

Code Snippet

N/A

Repro Steps

I have the same repository cloned in multiple folders, let's say "/driving" and "/driving2", and am working on both but in different VSCode instances. In the VSCode instance open on "/driving2", when I command-click a symbol:

image

for example tracking.fetch_model

image

it navigates to the source file where the symbol is defined (tracking.py), but in the other folder the repo is cloned ("/driving"), not the tracking.py under "/driving2", as it should.

image

Expected behavior

It should navigate to the correct file under "/driving2", the folder open in VSCode.

Actual behavior

It navigates to a file in the wrong folder.

Logs

https://git.zooxlabs.com/gist/agheorghe/25e59b6598ac4a6e001ddb9e3b5df0a1

heejaechang commented 9 months ago

can you provide some repro sample project? or step by step instructions on how to repro it?

andreigh commented 9 months ago

I can't really provide a repo, but I can give more logs if needed.

Aren't the logs I've added enough to get an idea why this happens ?

Thank you !

heejaechang commented 9 months ago

@andreigh I am not sure I am following the repro step. and I can't access the log you linked. It said Hmmm… can't reach this page

so, you have same repo cloned in 2 folders. let's say A and B and you opened each folder in 2 different vscode and did go to definition on a symbol s in A and s in B, and you expects both vscode to go to s.py in A and s.py in B, but it didn't happen?

so, where did it go?

andreigh commented 9 months ago

Hello, this is the log.

No, it didn't happen. When I click on "s" on a file in repository B it opens the file in repository A where "s" is defined.

25e59b6598ac4a6e001ddb9e3b5df0a1-c36cb496677370fad6a411101c74476cc75b3aa7.zip

heejaechang commented 8 months ago

@andreigh so the log is not full log, it is random portion of the full logs. we need full logs to see what source files are loaded into the server and what options you have and etc. otherwise, there is not much we can do.

if capturing logging is an issue, can you provide us some sample workspaces that we can use to repro the issue?

the thing we are confused is that our server is isolated between each vscode or workspace, so confused how go to def on one vsocode or workspace affect the other vscode or workspace.

andreigh commented 8 months ago

pylance.log

Can you please check this ? Thank you

heejaechang commented 7 months ago

I added an issue so we can just get log ourselves. unfortunately, the log you shared is just random part of full log. not unedited full log that we need to figure out how things are configured and executed.

heejaechang commented 7 months ago

by the way, I see from the log this

2024-02-15 11:09:31.161 [info] [Info - 11:09:31 AM] (285786) LibraryFile: Received fs event 'change' for path '/home/agheorghe/driving/.git/FETCH_HEAD'

I think your setting is messed up somewhere causing us to not ignore .git folder. check your include/excldue settings in setting.json or pyproject.toml or pyrightconfig.json files.