我正在尝试找到一个简单的解决方案,不需要太多手动工作来参考包。在 .fsx 文件内。
-
LinqPad 4
lets me simply add nuget packages
- 没有智能感知或自动完成
- 下载某些类型的软件包后删除软件包(模板 https://www.nuget.org/packages/Templatus/例如)
-
LinqPad 5 beta
lets me add nuget packages
- 下载某些类型的软件包后删除软件包(模板 https://www.nuget.org/packages/Templatus/例如)
- 经常出现故障(智能感知和汇编 http://forum.linqpad.net/discussion/968/missing-method-exceptions?new=1)
-
VS2015
不允许您下载/安装 fsx 文件的软件包(仅限项目)
-
VSCode
不允许您下载/安装 fsx 文件的 nuget 或 paket 包。
因此,我最终不得不在 VS2015 中使用 .fsx,同时使用 linqpad 来下载软件包(对于像 templatus 这样的软件包,它下载的是 exe 而不是 dll,这仍然失败)。然后我可以将它们引用为
#I @"..\LINQPad\NuGet.FW46\FParsec\FParsec.1.0.2\lib\net40-client\" // references AppData\local\ ... since . is %localappdata%\TEMP
- 与 VSCode 中智能感知/自动完成引擎的相对路径不匹配,因此我无法从等式中删除 VS。
- 在该位置已具有该包的机器之外无法工作
- 最终做了一个一堆代码 https://github.com/ImaginaryDevelopment/LinqPad/blob/master/LINQPad%20Queries/Roslyn/convert%20INotifyClass%20to%20F%23.fsx#L6-L93这不能很好地跨越 .fsx 文件,必须根据包参考来解决
我不想创建项目。我有大量单独的脚本,需要单独维护并供其他人按需使用。
是否有一个 IDE(或上述其中之一的修复/扩展)可以为我提供智能感知、自动完成和 F# .fsx 文件的包管理,可以在用户到用户、机器到机器之间轻松工作?
Ionide 插件 http://ionide.io/ for VsCode https://code.visualstudio.com/ and Atom https://atom.io/具有您正在寻找的功能
VsCode 使用说明
使用命令选项板安装 Ionide 扩展离子化-fsharp https://marketplace.visualstudio.com/items/Ionide.Ionide-fsharp and 离子化物包 https://marketplace.visualstudio.com/items/Ionide.Ionide-Paket
您需要将 F# 安装添加到您的PATH
(在 Windows 上快速环境编辑器 http://www.rapidee.com/en/about是我的首选PATH
编辑)
对于 F# 4.0 添加C:\Program Files (x86)\Microsoft SDKs\F#\4.0\Framework\v4.0
打开将保存您的工作文件夹.fsx
files
通过命令面板执行 paket 命令将是使用 nuget 包的主要界面
做一个新的.fsx
文件,(我建议使用高级新文件 https://marketplace.visualstudio.com/items/dkundel.vscode-new-file对标准 VsCode 方法的扩展)
第一步是运行paket init
这是使用 pket 来管理你的包所必需的
如果您单击open
通知弹出窗口上的按钮,您可以在侧面板中查看数据包的输出
使用后add nuget package
命令和输入extcore
对于该包,您应该看到工作树
更新为
然后您需要做的就是在脚本中引用该包,您将获得您正在寻找的自动完成功能
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)