Importing SvsServiceProvider in VS 2012
Asked Answered
N

1

4

I am new to Visual Studio Extensibility and am try to implement one of the Microsoft Walkthroughs from the VS 2012 SDK (Displaying Statement Complete). I am having some difficulty with one class in the walkthrough. The problem is that I get a an error that SVsServiceProvider is not defined. I have imported Microsoft.VisualStudio.Shell.

Imports System
Imports System.Collections.Generic
Imports System.Linq
Imports System.Text
Imports System.ComponentModel.Composition
Imports System.Runtime.InteropServices
Imports Microsoft.VisualStudio
Imports Microsoft.VisualStudio.Editor
Imports Microsoft.VisualStudio.Language.Intellisense
Imports Microsoft.VisualStudio.OLE.Interop
Imports Microsoft.VisualStudio.Shell
Imports Microsoft.VisualStudio.Text
Imports Microsoft.VisualStudio.Text.Editor
Imports Microsoft.VisualStudio.TextManager.Interop
Imports Microsoft.VisualStudio.Utilities


<Export(GetType(IVsTextViewCreationListener))>
<Name("token completion handler")>
<ContentType("plaintext")> <TextViewRole(PredefinedTextViewRoles.Editable)>
Friend Class TestCompletionHandlerProvider
Implements IVsTextViewCreationListener

<Import()>
Friend AdapterService As IVsEditorAdaptersFactoryService = Nothing
<Import()>
Friend Property CompletionBroker() As ICompletionBroker
<Import()>
Friend Property ServiceProvider() As SVsServiceProvider

Public Sub VsTextViewCreated(ByVal textViewAdapter As IVsTextView) Implements IVsTextViewCreationListener.VsTextViewCreated
    Dim textView As ITextView = AdapterService.GetWpfTextView(textViewAdapter)
    If textView Is Nothing Then
        Return
    End If

    Dim createCommandHandler As Func(Of TestCompletionCommandHandler) = Function() New TestCompletionCommandHandler(textViewAdapter, textView, Me)
    textView.Properties.GetOrCreateSingletonProperty(createCommandHandler)
End Sub
Nisus answered 26/6, 2013 at 17:6 Comment(2)
Have you added the reference to Microsoft.VisualStudio.Shell.Immutable.10.0.dll?Susysuter
Microsoft.VisualStudio.Shell.Immutable.10.0.dll is the answer. I was using Microsoft.VisualStudio.Shell.Immutable.11.0. Thank you SimonNisus
P
2

As posted by Simon in the comments on the original question, add a reference to:

Microsoft.VisualStudio.Shell.Immutable.10.0.dll

If you are using Microsoft.VisualStudio.Shell.Immutable.11.0.dll then you will encounter a null SvsServiceProvider.

Powys answered 26/6, 2013 at 17:6 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.