如何设置Visual Studio代码来运行/调试F#项目/脚本?

时间:2015-12-30 14:37:15

标签: macos f# osx-elcapitan visual-studio-code

我尝试使用Visual Studio Code运行一个简单的F#脚本。

我今天下载所有最新版本。我在http://ionide.io/安装了所有插件。尽管有漂亮的GIF动画显示它有效,但我无法看到make如何使用构建代码。

我创建了一个.ionide文件:

[Fake]
linuxPrefix = "mono"
command = "build.cmd"
build = "build.fsx"

但是,如何安装假?所以,我是从xamarin做的并安装它。好的,现在我得到了build.fsx:

#r "packages/FAKE.4.12.0/tools/FakeLib.dll" // include Fake lib
RestorePackages()

// Properties
let buildDir = "./build/"
let testDir  = "./test/"
let deployDir = "./deploy/"

// version info
let version = "0.2"  // or retrieve from CI server

// Targets
Target "Clean" (fun _ ->
    CleanDirs [buildDir; testDir; deployDir]
)

Target "fakeBuild" (fun _ ->
!! "./*.fsproj"
    |> MSBuildRelease buildDir "Build"
    |> Log "AppBuild-Output: "
)

Target "Default" (fun _ ->
    trace "Hello World from FAKE"
)

// Dependencies
"Clean"
==> "fakeBuild"
==> "Default"

// start build
RunTargetOrDefault "Default"

运行Fake:Build命令并获取:

No handler found for the command: 'fake.fakeBuild'. Ensure there is an activation event defined, if you are an extension.

现在迷路了。

3 个答案:

答案 0 :(得分:1)

安装yeoman:“> ext install yeoman” 然后用> yo设置一个独立的项目 并按照说明对paket和FAKE说“是”。

然后> paket init 和> paket安装,它应该工作。

获取>使用ctrl + shift + p

对于Atom IDE,您还必须安装我在此描述的yeoman npm包:http://www.implementingeventsourcingwithfsharp.com/?p=61

如何安装软件包:https://www.npmjs.com/package/generator-fsharp

不确定您是否需要Visual Studio Code

希望这有帮助

答案 1 :(得分:1)

通常的做法是使用一个调用F#脚本的bash脚本。您的bash脚本应该类似于:

#!/bin/bash
if test "$OS" = "Windows_NT"
then # For Windows
    .paket/paket.bootstrapper.exe
    exit_code=$?
    if [ $exit_code -ne 0 ]; then
        exit $exit_code
    fi
    .paket/paket.exe restore
    exit_code=$?
    if [ $exit_code -ne 0 ]; then
        exit $exit_code
    fi
    packages/FAKE/tools/FAKE.exe $@ --fsiargs build.fsx
else #For non Windows
    mono .paket/paket.bootstrapper.exe
    exit_code=$?
    if [ $exit_code -ne 0 ]; then
        exit $exit_code
    fi
    mono .paket/paket.exe restore
    exit_code=$?
    if [ $exit_code -ne 0 ]; then
        exit $exit_code
    fi
    mono packages/FAKE/tools/FAKE.exe $@ --fsiargs build.fsx
fi

现在,您可以在build.fsx脚本中定义构建步骤

#r "packages/FAKE/tools/FakeLib.dll"

open Fake

// Targets
// Dependencies
// Default target

希望它有所帮助。

答案 2 :(得分:0)

我得到了它的工作。

那就是说,我几乎和你一样迷失,可用的文档并不是非常完整的IMO。以下是您必须做的事情(您标记为 osx-elcapitan 所以我假设 OS X ):

  • 摆脱 .ionide 文件,如果您不想使用默认值,则只需要它。让我们现在坚持使用默认值来保持简单。

  • 确保 build.fsx

  • FakeLib.dll 的路径正确无误
  • 使用以下脚本创建名为 build.sh 的文件(确保FAKE.exe的路径正确):

    mono packages / FAKE.4.12.0 / tools / FAKE.exe build.fsx $ @

  • 如果再次失败,请发布输出错误(单击顶部的“打开”按钮以获取FAKE命令)

PS:你的问题已经有两个月了,所以如果你已经知道这一切,我会道歉。