fsprojects/VisualFSharpPowerTools — pull request #242 by dungpa (2014-03-23 18:47:26+00:00)
Title: Add "Implement Interface" feature

The feature is requested in #211.

It assumes that users click on interface identifiers e.g. `IDisposable` in

```fsharp
type T() =
interface System.IDisposable with
```

or

```fsharp
let t =
{ new System.IDisposable with
```

The feature can be used from:
- "Implement Interface Explicitly" smart tagger (the blue rectangle appears when we click on interface identifiers).
- Context menu: "Implement Interface --> Explicitly"
- Main menu: "Edit --> Intellisense --> Implement Interface --> Explicitly"

The feature works fine for F# interfaces. There is a bug with non-F# interfaces reported at https://github.com/fsharp/FSharp.Compiler.Service/issues/102; therefore, I couldn't test further than checking member names.

It will blindly insert members although the interface might already have implemented everything. I haven't had time to implement extra checks there. Perhaps we should merge and polish it later.