问题标签 [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.
f# - Ionide:如何指定 FSharpLint 的配置?
根据FSharpLint 文档,在命令行上,您可以通过--lint-config
.
由于该工具已集成到 Ionide 中,因此我期待有一些方法可以在该扩展的设置中指定配置文件。但是,记录在案的唯一设置是FSharp.Linter
,它允许您打开或关闭 linter。
真的没有办法在 Ionide 中配置 FSharpLint 吗?
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
执行之间的差异?
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。
visual-studio-code - Visual Studio Code 看不到 F# 的变化
目前我正在尝试将 Visual Studio Code 与 Ionide 一起使用来构建 F# 解决方案。为了描述我的问题,我首先描述我做了什么,什么有效。
我用两个项目创建了一个解决方案。一个项目是一个Queue
包含 F# 库的项目。另一个项目是Queue.Test
使用该Queue
库的控制台应用程序,并且应该包含该Queue
库的测试。
我正在使用 .Net6 并使用dotnet
cli 工具创建了解决方案和项目。
一般来说,我dotnet
可以使用 Visual Studio Code 构建项目,也可以使用所有内容。我加载包含两个项目的文件夹,Visual Studio Code 加载库。
我能够编辑库和我的控制台应用程序。在我的控制台应用程序中,我也可以访问Queue
等等。自动完成工作,等等。
但是,有一个问题。当我向我的库中添加一个新函数时,假设Queue.help
在我的控制台应用程序中,我看不到该函数。它没有显示在自动完成中,当我编写使用该函数的代码时,我收到一个编译器错误,告诉我该函数不存在。
我可以从 VS Code 或 CLI 构建/重建,但问题并没有消失。
Ionide 开始看到新功能的唯一方法是构建库并重新启动 VS Code。只要我不重新启动,它似乎就不会更新生成的 dll(我猜)。
这肯定很烦人,因为我不想每次向库中添加新函数时都重新加载/重新启动 VSCode。
所以我的问题是:我该如何解决这个问题?
我想要的是能够更改我的库,同时在另一个项目中编写测试并获得完整的代码自动完成。
其他人是否有同样的问题,或者我应该改变我的工作流程?
我该怎么做才能自己调试这个问题?
一些技巧?