-
-
Notifications
You must be signed in to change notification settings - Fork 209
fix: watch svelte files and project files outside workspace #2299
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
Changes from 1 commit
ed008d0
a506a5b
88fe192
53fea03
38323dd
e4246be
934f873
f655893
6061a1c
7576632
6f19719
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -66,7 +66,13 @@ export class LSAndTSDocResolver { | |
// where multiple files and their dependencies | ||
// being loaded in a short period of times | ||
docManager.on('documentOpen', (document) => { | ||
const path = document.getFilePath(); | ||
const isNewFile = path && !this.globalSnapshotsManager.get(path); | ||
handleDocumentChange(document); | ||
if (isNewFile && document.openedByClient) { | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Does this mean we would kick off the costly "update project files" logic on every new file created through the editor UI? Is there a way to do this in less cases? "update project files" reads the file system, creates a new program version etc, which seems costly. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I changed to detection to file watch since #2393 also needs it. I also delay the check to the next time the language service is used. TypeScript also has some directory watching info in the config file parse result. So we can skip the project file check if the file isn't in the target directories. This should make it trigger a bit less. If there are performance regressions reported, there is a TypeScript's internal method to cache directory file entries and we can try using that. The info is also used to watch directories outside the root using the fallback watch or when the client supports it. This is added because the optimization check might break a way to workaround directory watching outside the workspace, not sure if anyone actually uses it though 😅. |
||
// check if is a file that belongs to other project as well | ||
this.updateProjectFiles(); | ||
} | ||
docManager.lockDocument(document.uri); | ||
}); | ||
|
||
|
Uh oh!
There was an error while loading. Please reload this page.