-
-
Notifications
You must be signed in to change notification settings - Fork 277
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
ionide creates an .ionide directory when not loading F# projects or files #1041
Comments
Looks like it's related to background caching unconditionally invoking FsAutoComplete. Examining FsAutoComplete, it seems to create the directory unconditionally when starting its persistent state, so probably the error is possibly invoking FsAutoComplete in situations with no F# projects or data. Source code probably needs to be combed over to ensure that nothing will start up FsAutoComplete inappropriately or unconditionally. |
Can't reproduce on latest Ionide and VSCode. |
I've (very recently, since you closed this, and, I think, for the first time) started getting this unwanted behaviour too, seemingly on all my projects, none of which have anything to do with F#. I'm on VS Code 1.35.1 and Ionide-fsharp 4.0.0, so I'm guessing the latter has (re-)introduced this behaviour. Hope that helps... |
This is happening to me as well, I wonder if this should be reopened. |
Happening here too. Ionide 4.0.5 on VS Code 1.36.1. |
Same here I've had to disable ionide when not using F# |
I've seen it quite a few times in projects without any F# or .Net but I don't have a good repro, need ot investigate. There's clearly something fishy. |
I also get this all the time when working on .NET documentation such as https://github.com/dotnet/docs |
We have following activation events (https://github.com/ionide/ionide-vscode-fsharp/blob/master/release/package.json#L1596-L1607):
As far as I understand - if neither of that is hit, the extension shouldn't start. We create Hey @Tyriar could you point me at someone from Team who could help us with that? |
We do have fsharp snippets inside the content. Maybe that triggers this? |
@mairaw, if snippets are in separate |
@Krzysztof-Cieslak Are you saying that if any of those conditions are met, then If so, then surely any VS-style solution (for, say a C# solution/project) will create the folder... and indeed I have noticed that any VS-style (C#, non-F#) solution (with a PS I'd suggest (anyway) not using file extensions as indicators of anything; a given sequence of a couple of characters could have many meanings! Much better to rely on explicit setting of language mode etc., as you do later on in your array of events... |
@Krzysztof-Cieslak nope, no solution files, no |
This is not acceptable as only activation condition in project file based IDE. |
@Krzysztof-Cieslak Sure understood (and I expect the ... but please do consider removing the |
Your understanding is right, it shouldn't run code unless one of the activation events is hit. @mjbvz do markdown snippets activate language extensions?
This seems like a good idea, ionide would activate for any C# or VB.NET project otherwise, no? |
Fair enough, |
Or in @mairaw case with https://github.com/dotnet/docs |
As previously mentioned (back in March), FsAutoComplete creates an It's really bad to potentially get an It's happening in places where there exist none of the files cited for activation. It probably comes down to needing a specific case to start creating files instead of assuming the user wants them. Even if F# language support is getting activated more often than it should, it's still making these folders in arbitrary projects/directories that have little or nothing to do with F#. The approach Visual Studio and others seem to use is making the cache per-user rather than per-directory. |
I am also getting this behaviour for C# projects that contain a solution file (.Sln). I've been adding |
It seems to be difficult to reproduce, right? May I suggest a work around, if it is relevant and the design permits? As I mentioned in #1278 the produced SQLite table is empty. Is it possible to check for "no symbols" before creating this table and avoid its creation? |
That's a great idea, although it seems to be odd that it could be difficult to reproduce. It happens 100% of the time here, in every directory regardless of contents. In the code, that's exactly how it's written. |
At one point, I was experiencing this issue 100% of the time, like @TheGoddessInari reports. Now it seems to happen only occasionally. However, the following reliably causes the issue for me: Steps to reproduce
I've tried this on two machines. In both cases, the Machine 1
Machine 2
|
I have found a workspace with stable reproduction of the issue on my two machines.
As a result the directory .ionide is created. |
It’s .Net project so I assume it has |
I see, it is by design that |
I have the same problem.
(note |
BTW one common source for me of that is updates, vscode seem to run extensions after they update (Maybe also after it update itself) and ionide take that as a signal that it should create the directory in the current workspace... not always a good idea. |
Disabling this extension until this is fixed :( |
If the extension loads because of the presence of |
I opened an empty folder to start a brand new, from scratch ReactJS project! And an
Missed the annotation directly above my comment that the |
BTW, I've been seeing this behavior ever since I installed this extension including this functionality. Every single folder--100% of the time. It doesn't matter what I'm working on. This folder is created. |
I'm still facing this problem. Opening C# .NET Core project in vscode regularly creates the .ionide folder and loads the ionide extension. I have to manually delete the .ionide folder. Is there any update on potential fix? |
@olivercoad |
I'm also seeing this on C# solutions using the latest ionide and vs code. The thing with sln files being included in the activation criteria was mentioned over a year ago and yet it is still there. The presence of an sln file is not a positive indicator of an F# project. When can we get that removed? |
C:\Users\dz.vscode\extensions\ionide.ionide-fsharp-4.17.0 remove .sln here or on similar path on windows. |
Still have this problem on react-project |
@Fi1osof Do you have steps to repro? |
@olivercoad , sorry, no. I got this again, but after close and reopen VSCODE all fine again... |
Problem
If you open a folder, an
.ionide
directory is required for the symbol cache, even if there's no F# files, no project files, no intent to use F# , and hence no symbols to save.I'm not certain what triggers this, I'm seeing this on some things but not others. I always get an
.ionide
folder with https://github.com/servo/servo.Steps to reproduce
.ionide
folder is created because of symbol cache.Machine infos
Microsoft (R) Build Engine version 16.0.443+g5775d0d6bb for .NET Framework Copyright (C) Microsoft Corporation. All rights reserved.
The text was updated successfully, but these errors were encountered: