问题标签 [ionide]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
183 浏览

f# - Ionide:如何指定 FSharpLint 的配置?

根据FSharpLint 文档,在命令行上,您可以通过--lint-config.

由于该工具已集成到 Ionide 中,因此我期待有一些方法可以在该扩展的设置中指定配置文件。但是,记录在案的唯一设置是FSharp.Linter,它允许您打开或关闭 linter。

真的没有办法在 Ionide 中配置 FSharpLint 吗?

0 投票
1 回答
170 浏览

f# - Ionide VS Code 始终看到运行 dotnet build 时不会发生的错误?

我在使用 .NET Core 3.1/5 的 Windows 上。

dotnet build我似乎一直遇到运行/时不会发生的 Ionide 报告错误的问题dotnet run,以及看似锁定 DLL 文件阻止我运行dotnet build直到关闭 VS Code,有时甚至需要手动终止 dotnet 进程。

在过去,当出现不一致时重新启动 VS Code 通常可以解决问题(单独的“清除项目缓存”似乎很少做任何事情)。不过,我一直在为一个新项目的一个非常具体的问题而苦苦挣扎:

报告的异常是:System.IO.FileNotFoundException - 无法加载文件或程序集“FSharp.Core,版本=5.0.0.0,文化=中性,PublicKeyToken=b03f5f7f11d50a3a”。该系统找不到指定的文件。

确切的消息因我尝试了一些包版本和框架目标(netstandard2.0、netcoreapp3.1、net5)的组合而有所不同,但最终在构建/运行时完美运行的项目定义/DLL似乎因各种原因而失败通过 Ionide 的原因。

另一个例子:

检测到的包降级:FSharp.Core 从 4.7.2 到 4.7.1。直接从项目中引用包以选择不同的版本。

即使每个 .fsproj 文件都包含以下内容:

我可以检查什么来发现 Ionide 如何运行构建与如何dotnet build执行之间的差异?

0 投票
1 回答
608 浏览

visual-studio-code - 修复 build.fsx 中的“未注册包管理器密钥包”

当我在 Visual Studio Code 中打开 Fake 构建脚本时,如下所示:

我在编辑器中看到此错误消息,并且没有定义任何 Fake 命名空间、模块或类型:

我该如何纠正这个错误?

运行dotnet fake build正常。错误只是出现在编辑器中。

"FSharp.dotNetRoot": "C:\\Program Files\\dotnet\\sdk",的设置文件中有。该文件夹包括文件夹 2.1.701 2.2.401 3.1.407 5.0.103 和 5.0.104。

0 投票
0 回答
55 浏览

visual-studio-code - F# Codelens 语言环境

我正在使用 VSCode 和 Ionide 扩展。

VSCode 语言是英文,所以我想要 Code 镜头也是英文的,但它没有。

VSCode F# 代码镜头语言环境

如何更改 Code 镜头语言?

0 投票
1 回答
52 浏览

visual-studio-code - Visual Studio Code 看不到 F# 的变化

目前我正在尝试将 Visual Studio Code 与 Ionide 一起使用来构建 F# 解决方案。为了描述我的问题,我首先描述我做了什么,什么有效。

我用两个项目创建了一个解决方案。一个项目是一个Queue包含 F# 库的项目。另一个项目是Queue.Test使用该Queue库的控制台应用程序,并且应该包含该Queue库的测试。

我正在使用 .Net6 并使用dotnetcli 工具创建了解决方案和项目。

一般来说,我dotnet可以使用 Visual Studio Code 构建项目,也可以使用所有内容。我加载包含两个项目的文件夹,Visual Studio Code 加载库。

我能够编辑库和我的控制台应用程序。在我的控制台应用程序中,我也可以访问Queue等等。自动完成工作,等等。

但是,有一个问题。当我向我的库中添加一个新函数时,假设Queue.help在我的控制台应用程序中,我看不到该函数。它没有显示在自动完成中,当我编写使用该函数的代码时,我收到一个编译器错误,告诉我该函数不存在。

我可以从 VS Code 或 CLI 构建/重建,但问题并没有消失。

Ionide 开始看到新功能的唯一方法是构建库并重新启动 VS Code。只要我不重新启动,它似乎就不会更新生成的 dll(我猜)。

这肯定很烦人,因为我不想每次向库中添加新函数时都重新加载/重新启动 VSCode。

所以我的问题是:我该如何解决这个问题?

我想要的是能够更改我的库,同时在另一个项目中编写测试并获得完整的代码自动完成。

其他人是否有同样的问题,或者我应该改变我的工作流程?

我该怎么做才能自己调试这个问题?

一些技巧?