ionide / ionide-vscode-fsharp

VS Code plugin for F# development
http://ionide.io
MIT License
858 stars 277 forks source link

Syntax highlighting failing in v7.16, works in 7.15 #1961

Open geysernrd opened 10 months ago

geysernrd commented 10 months ago

Describe the bug

In v7.16, much of the expected syntax highlighting has gone "all white," and none of the error highlighting (red squiggles) is working for me:

image

If I rollback to v7.15, it all works again:

image

My projects are still in .NET 6.0. Is a newer version required?

Machine info

MangelMaxime commented 10 months ago

I believe you don't have the syntax highlighting and the error message Ionide is not started yet / project not loaded.

I am saying that because you can see that the Reference and inline hint are not their yet. Do you have intellisense in the file ?

Could you please share the output of the Ouput > Ionide to check if there is an error message in it?

geysernrd commented 10 months ago

Hi @MangelMaxime,

It may be that the project isn't fully loading, but if so it never does. I've waited as long as two hours (while doing other things, of course) and the syntax and error highlighting never appear in 7.6. In 7.5 every loads up in 5-10 seconds. Also the "project loading" indicator in VS Code only lasts a few seconds, if at all.

Apologies for my ignorance on this next part: I tried Output > Ionide in the terminal and got back "The term 'Output' is not recognized as the name of a cmdlet, function..." Is there somewhere else I should be entering that command?

Thanks!

--Nathan

geysernrd commented 10 months ago

By the way, IntelliSense does work. E.g., I can backspace to "ValidationHelpe" and it correctly suggests "ValidationHelpers" at the top of the snippet above. But then it's still white and inline-hint free after I accept it.

MangelMaxime commented 10 months ago

By the way, IntelliSense does work. E.g., I can backspace to "ValidationHelpe" and it correctly suggests "ValidationHelpers" at the top of the snippet above. But then it's still white and inline-hint free after I accept it.

Is this the Ionide intellisense or the basic VSCode intellisense based on the file content ?

Ionide intellisense should have some symbol on the left of the tooltip and not just abc

Apologies for my ignorance on this next part: I tried Output > Ionide in the terminal and got back "The term 'Output' is not recognized as the name of a cmdlet, function..." Is there somewhere else I should be entering that command?

Here is how you can find the output panel:

https://github.com/ionide/ionide-vscode-fsharp/assets/4760796/02cc2f95-7f42-409f-9e60-1f333a32ba49

geysernrd commented 10 months ago

Ah, good call, it's just the VS Code IntellSense (abc).

Thanks, here is the Ionide output:

[12:46:14 DEBUG] [LanguageService] FSAC (NETCORE): 'c:\Users\natha\.vscode\extensions\ionide.ionide-fsharp-7.16.1\bin\net6.0\fsautocomplete.dll'
[12:46:14 DEBUG] [LanguageService] F# language server options: % {
  command: 'C:\\Program Files\\dotnet\\dotnet.exe',
  args: [
    'c:\\Users\\natha\\.vscode\\extensions\\ionide.ionide-fsharp-7.16.1\\bin\\net6.0\\fsautocomplete.dll',
    '--state-directory',
    'c:\\Users\\natha\\AppData\\Roaming\\Code\\User\\workspaceStorage\\5598c115c681bab4288116dd09283633\\Ionide.Ionide-fsharp'
  ],
  options: {
    env: {
      ALLUSERSPROFILE: 'C:\\ProgramData',
      APPDATA: 'C:\\Users\\natha\\AppData\\Roaming',
      APPLICATION_INSIGHTS_NO_DIAGNOSTIC_CHANNEL: '1',
      CHROME_CRASHPAD_PIPE_NAME: '\\\\.\\pipe\\crashpad_11480_VHCLXPDSZIZVDTXF',
      COMPUTERNAME: 'DESKTOP-0SFTIA2',
      ChocolateyInstall: 'C:\\ProgramData\\chocolatey',
      ChocolateyLastPathUpdate: '132840848203873202',
      ComSpec: 'C:\\WINDOWS\\system32\\cmd.exe',
      CommonProgramFiles: 'C:\\Program Files\\Common Files',
      'CommonProgramFiles(x86)': 'C:\\Program Files (x86)\\Common Files',
      CommonProgramW6432: 'C:\\Program Files\\Common Files',
      DriverData: 'C:\\Windows\\System32\\Drivers\\DriverData',
      ELECTRON_RUN_AS_NODE: '1',
      FPS_BROWSER_APP_PROFILE_STRING: 'Internet Explorer',
      FPS_BROWSER_USER_PROFILE_STRING: 'Default',
      HOME: 'C:\\Users\\natha',
      HOMEDRIVE: 'C:',
      HOMEPATH: '\\Users\\natha',
      LOCALAPPDATA: 'C:\\Users\\natha\\AppData\\Local',
      LOGONSERVER: '\\\\DESKTOP-0SFTIA2',
      MSMPI_BENCHMARKS: 'C:\\Program Files\\Microsoft MPI\\Benchmarks\\',
      MSMPI_BIN: 'C:\\Program Files\\Microsoft MPI\\Bin\\',
      NUMBER_OF_PROCESSORS: '8',
      ORIGINAL_XDG_CURRENT_DESKTOP: 'undefined',
      OS: 'Windows_NT',
      OneDrive: 'C:\\Users\\natha\\OneDrive - Round Table Investment Strategies',
      OneDriveCommercial: 'C:\\Users\\natha\\OneDrive - Round Table Investment Strategies',
      OneDriveConsumer: 'C:\\Users\\natha\\OneDrive',
      PATHEXT: '.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC',
      PROCESSOR_ARCHITECTURE: 'AMD64',
      PROCESSOR_IDENTIFIER: 'Intel64 Family 6 Model 158 Stepping 9, GenuineIntel',
      PROCESSOR_LEVEL: '6',
      PROCESSOR_REVISION: '9e09',
      PSModulePath: 'C:\\Program Files\\WindowsPowerShell\\Modules;C:\\WINDOWS\\system32\\WindowsPowerShell\\v1.0\\Modules;C:\\Program Files (x86)\\Microsoft SQL Server\\150\\Tools\\PowerShell\\Modules\\',
      PUBLIC: 'C:\\Users\\Public',
      Path: 'C:\\Program Files (x86)\\Microsoft SDKs\\Azure\\CLI2\\wbin;C:\\Program Files\\Microsoft MPI\\Bin\\;C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\;C:\\WINDOWS\\System32\\OpenSSH\\;C:\\Program Files\\Microsoft SQL Server\\150\\Tools\\Binn\\;C:\\Program Files\\Microsoft SQL Server\\Client SDK\\ODBC\\170\\Tools\\Binn\\;C:\\Program Files\\dotnet\\;C:\\Program Files (x86)\\Microsoft SQL Server\\150\\Tools\\Binn\\;C:\\Program Files (x86)\\Microsoft SQL Server\\150\\DTS\\Binn\\;C:\\Program Files\\Microsoft SQL Server\\150\\DTS\\Binn\\;C:\\Program Files\\Azure Data Studio\\bin;C:\\Program Files\\Git\\cmd;C:\\Program Files\\nodejs\\;C:\\ProgramData\\chocolatey\\bin;C:\\Users\\natha\\AppData\\Local\\Microsoft\\WindowsApps;C:\\Users\\natha\\.dotnet\\tools;C:\\Program Files\\Azure Data Studio\\bin;C:\\Users\\natha\\AppData\\Local\\Programs\\Microsoft VS Code\\bin;C:\\Users\\natha\\AppData\\Roaming\\npm;C:\\Program Files (x86)\\GitHub CLI\\;C:\\Program Files (x86)\\Nmap',
      ProgramData: 'C:\\ProgramData',
      ProgramFiles: 'C:\\Program Files',
      'ProgramFiles(x86)': 'C:\\Program Files (x86)',
      ProgramW6432: 'C:\\Program Files',
      SESSIONNAME: 'Console',
      SystemDrive: 'C:',
      SystemRoot: 'C:\\WINDOWS',
      TEMP: 'C:\\Users\\natha\\AppData\\Local\\Temp',
      TMP: 'C:\\Users\\natha\\AppData\\Local\\Temp',
      USERDOMAIN: 'DESKTOP-0SFTIA2',
      USERDOMAIN_ROAMINGPROFILE: 'DESKTOP-0SFTIA2',
      USERNAME: 'natha',
      USERPROFILE: 'C:\\Users\\natha',
      VSCODE_AMD_ENTRYPOINT: 'vs/workbench/api/node/extensionHostProcess',
      VSCODE_CODE_CACHE_PATH: 'C:\\Users\\natha\\AppData\\Roaming\\Code\\CachedData\\1a5daa3a0231a0fbba4f14db7ec463cf99d7768e',
      VSCODE_CRASH_REPORTER_PROCESS_TYPE: 'extensionHost',
      VSCODE_CWD: 'C:\\Users\\natha\\AppData\\Local\\Programs\\Microsoft VS Code',
      VSCODE_HANDLES_UNCAUGHT_ERRORS: 'true',
      VSCODE_IPC_HOOK: '\\\\.\\pipe\\00de6f31a5273d827cf5a9ece2c28bd1-1.84.2-main-sock',
      VSCODE_NLS_CONFIG: '{"locale":"en-us","osLocale":"en-us","availableLanguages":{},"_languagePackSupport":true}',
      VSCODE_PID: '11480',
      ZES_ENABLE_SYSMAN: '1',
      windir: 'C:\\WINDOWS',
      DOTNET_GCConserveMemory: 0,
      DOTNET_GCServer: 1
    }
  }
}
philipcraig commented 10 months ago

To echo, I have the same problem, that the extension is just "not there" contributing anything as of version 7.16. I've turned on all the logging I can find, and can't see the issue. The only difference I can even find in any logged thing is that in the successful case, in the Ionide output window,the below lines appears:

[13:15:36 DEBUG] [Main] Activating features
leonitousconforti commented 10 months ago

I have the same problem as well, there is no error I can find anywhere in any of the logs it just doesn't seem to load

geysernrd commented 8 months ago

Unfortunately I've just confirmed that the issue persists in v7.17, so at this point I'm still stuck on 7.15.2.

If I'm on 7.15.2 for a while, will there be any issues upgrading to .NET 8? (I'm planning to skip over 7 when v5 of the SAFE Stack is released.)

EDIT: Looks like I'm behind the times and SAFE V5 has released. I may just attempt the upgrade and see what happens.

TheAngryByrd commented 8 months ago

I think this issue is because something isn't working with only the 6 SDK installed. I use it at work with 6/7/8 installed and don't see this behavior.

geysernrd commented 8 months ago

Thanks, @TheAngryByrd. I will upgrade and attempt to confirm.

philipcraig commented 8 months ago

So we have the essential issue found. Ionide no longer works on .Net SDK 6., as of Ionide version v7.16. The release notes don't mention this.

Would anyone be willing to reinstate .Net SDK 6 support, or should there be a documentation update and a (late) release note mentioning the dropping of .Net SDK 6 support?

baronfel commented 8 months ago

Not supporting 6 is a bug, we'll take a look.

geysernrd commented 8 months ago

To confirm, after upgrade to .NET 8, Ionide is working again for me.