【问题标题】:VisualStudio 2017 refactor doesnt work for F#Visual Studio 2017 重构不适用于 F#
【发布时间】:2017-04-13 22:06:49
【问题描述】:

我在F# 有项目,我正在处理VisualStudio2017。我尝试重构代码并使用内联,但此菜单项不可用。此外,当我单击 重命名 时,什么也没发生。

  • 为什么它不可用?
  • 如何强制重构操作工作?

let blobToBlobWithInfo (b:IListBlobItem ) = 
    try
        let blobUri = b.Uri.ToString()
        let blobUriParts = blobUri.Split '/'
        let t = Array.length blobUriParts
        let integrationName =  blobUriParts.[t-2]
        if(integrationName <> "LogsToBlobService") then
            let logTime = new System.DateTime( System.Int32.Parse <| blobUriParts.[t-1].Substring(0,4), System.Int32.Parse <|blobUriParts.[t-1].Substring(4,2), System.Int32.Parse <|blobUriParts.[t-1].Substring(6,2))
            Some((b,integrationName,logTime))
        else
            None
    with
        | :? System.ArgumentException -> None
        | _ -> None

【问题讨论】:

    标签: visual-studio f# refactoring visual-studio-2017


    【解决方案1】:

    这是 Visual Studio 2017 中的一个已知问题。

    它将在更新 2 中修复。

    已在此GitHub issue 中确认。

    【讨论】:

      【解决方案2】:

      Resharper 的重构还是 VS2017 的正确?如果您只想重命名,可以将 Visual F# 工具从 myget 更新到最新版本(将包含在答案中引用的 VS 更新中):
      https://github.com/Microsoft/visualfsharp/wiki/Using-Nightly-Releases-of-the-Visual-F%23-Tools

      例如将 csv 重命名为 csv2 inline:

      使用最新版本的 VF# 工具更新:

      您也可以从这里下载: https://dotnet.myget.org/feed/fsharp/package/vsix/VisualFSharp

      【讨论】:

      • Visual F# 工具目前不支持 Visual Studio 2017 >适用于 Visual Studio 2013、2015 marketplace.visualstudio.com/…
      • @burzhuy 你没看错,但那是旧的 Visual F# Power Tools。那已经贬值了。现在 F# 工具已内置到 VS2017 中。但是,由于 VS2017 RTW 的代码冻结,您获得的版本有点旧。因此,您应该启用 myget 提要并安装最新版本的 VS F# 工具。我将在我的版本中添加屏幕截图。
      • 谢谢,但答案只对 50% 有用!总之给你点赞!我已更新 F# 电动工具,但重命名是目前唯一有效的操作。 'inline' 仍然不可用。
      猜你喜欢
      • 1970-01-01
      • 2021-02-25
      • 2018-04-08
      • 2017-04-27
      • 2018-03-16
      • 1970-01-01
      • 2021-06-14
      • 1970-01-01
      • 2017-10-03
      相关资源
      最近更新 更多