visual-studio-code - Visual Studio 代码 F# 无法运行 - "Starting client failed"

标签 visual-studio-code f#

我这辈子都无法让 F# 在 Visual Studio Code 中运行。我之前已经启动并运行了它,但不是使用最新版本的软件。

我在一个月前和现在再次安装了最新版本的 .NET 和 VS 代码,两次都进行了完全删除并重新安装(包括手动删除 user/.vscode 和 roaming/Code),但错误仍然存​​在。

我在 Windows 10 上安装了 x64 版本的 .NET Core 3.1 和 VS Code 1.48,唯一的扩展是 C# 1.23 和 Ionide-fsharp 4.16。我已经为 ionide 启用了 Use Sdk Scripts,但在默认配置下运行。 dotnet fsi 在命令行中执行没有问题。

查看 VSC 扩展主机日志:

[2020-08-15 11:24:35.431] [exthost] [error] Error: Language client is not ready yet
    at LanguageClient.sendRequest (c:\Users\Bruger\.vscode\extensions\ionide.ionide-fsharp-4.16.0\fsharp.js:7887:19)
    at __exports.compilerLocation (c:\Users\Bruger\.vscode\extensions\ionide.ionide-fsharp-4.16.0\fsharp.js:4290:19)
    at fsacConfig (c:\Users\Bruger\.vscode\extensions\ionide.ionide-fsharp-4.16.0\fsharp.js:4730:12)
    at c:\Users\Bruger\.vscode\extensions\ionide.ionide-fsharp-4.16.0\fsharp.js:4797:20
    at Object.__exports.msbuild (c:\Users\Bruger\.vscode\extensions\ionide.ionide-fsharp-4.16.0\fsharp.js:4802:10)
    at activate (c:\Users\Bruger\.vscode\extensions\ionide.ionide-fsharp-4.16.0\fsharp.js:19152:91)
    at c:\Users\Bruger\.vscode\extensions\ionide.ionide-fsharp-4.16.0\fsharp.js:25116:90

我认为这是由 VSC F# 日志中出现的这个问题引起的:

[Error - 11.24.35] Starting client failed
Launching server using command Invalid macro definition. failed.

我被困在这里,因为我不知道这指的是什么宏定义,也不知道如何获取有关失败的更多信息。

最佳答案

我刚刚找到了问题的原因和解决方案。它与 Ionide 或 Visual Studio Code 无关。相反,我的 cmd 由于配置错误而出现问题。

有一段时间,当我打开 cmd 时,“无效的宏定义”消息一直是输出的第一件事,但我没有看到与上述问题的联系。结果是 VS 代码不喜欢这个输出,是 cmd 的自动运行配置触发了这个错误。

使用 regedit,我发现我有几个不好的自动运行文件,所以我分别从 Computer\HKEY_CURRENT_USER\Software\Microsoft\Command ProcessorComputer\HKEY_LOCAL_MACHINE\中删除了它们SOFTWARE\Microsoft\Command Processor 问题已解决。

关于visual-studio-code - Visual Studio 代码 F# 无法运行 - "Starting client failed",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63424682/

相关文章:

bash - 如何将 MSYS2 shell 集成到 Windows 上的 Visual Studio 代码中?

asynchronous - 使用 Async.Parallel 进行调度

.net - 具有长时间运行任务的 TPL Parallel.For

F# 如何标记用户输入 : separating numbers, 单位、单词?

使用 Delve 在 VSCode 上调试 GO

ruby - VSCode : Rubocop version of project gem seems to differ from version vscode uses

visual-studio-code - 如何在MacOS中设置VSCode + Chrome调试器+ Docker(适用于Mac的Docker)

Visual Studio 和 Visual Studio Code 中的 C#

arrays - 为什么遍历数组比 Seq.find 更快

f# - 是否可以将 DivideByInt 添加到现有类型?