Skip to content
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

Activate on top level Cargo.toml and rust-project.json files #16550

Merged

Conversation

DavisVaughan
Copy link
Contributor

I believe there is an issue with how rust-analyzer is activated from within a VS Code project.

IIUC, the intent is that when you open a rust project with a top level Cargo.toml, then rust-analyzer should just start right up due to a VS Code activation event. This is not currently the case. i.e. run something like cargo new ~/Desktop/hithere, then open that folder in VS Code:

Screen.Recording.2024-02-13.at.10.02.21.AM.mov

It is not until you actually open a Rust file that the extension starts up.

It looks like this was introduced in #10442. I do agree that recursive searching with **/ is likely overkill, but I'm not sure */Cargo.toml is working as expected in this comment (#10442 (comment)):

For some reason, */Cargo.toml works for both Cargo.toml in the project root and in a subdirectory (but not two levels deep).

That does not seem to be the case for me. I even went into VS Code itself and added some fake tests for glob.match() (which is eventually what gets used for this) and */Cargo.toml doesn't seem to match a top level Cargo.toml (and I think that makes sense).

Screenshot 2024-02-12 at 6 07 08 PM

Lastly, the VS Code search filtering uses the same glob patterns, and it also doesn't match with */Cargo.toml:

Screen.Recording.2024-02-12.at.6.10.45.PM.mov

If you want both top level Cargo.tomls and 1-level-deep Cargo.tomls to be detected by VS Code's activation events, then I think we need to lay both of those conditions out explicitly, which I've done in this PR. That does fix the problem for me.

Screen.Recording.2024-02-13.at.10.10.44.AM.mov

@rustbot rustbot added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Feb 13, 2024
@Veykril
Copy link
Member

Veykril commented Feb 13, 2024

I definitely observed this behavior before as well, thanks for double checking!
@bors r+

@bors
Copy link
Collaborator

bors commented Feb 13, 2024

📌 Commit 45e05ab has been approved by Veykril

It is now in the queue for this repository.

@bors
Copy link
Collaborator

bors commented Feb 13, 2024

⌛ Testing commit 45e05ab with merge 22ca3fd...

@bors
Copy link
Collaborator

bors commented Feb 13, 2024

☀️ Test successful - checks-actions
Approved by: Veykril
Pushing 22ca3fd to master...

@bors bors merged commit 22ca3fd into rust-lang:master Feb 13, 2024
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-review Status: Awaiting review from the assignee but also interested parties.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants