我有一个针对Visual Studio 2012的VSIX项目,它工作正常。
但是,当我将项目更新为针对Visual Studio 2013时。
没有调用跟随函数“ VsTextViewCreated”
using Microsoft.VisualStudio.Editor;
using Microsoft.VisualStudio.Language.Intellisense;
using Microsoft.VisualStudio.Shell;
using Microsoft.VisualStudio.Text.Editor;
using Microsoft.VisualStudio.TextManager.Interop;
using Microsoft.VisualStudio.Utilities;
using SnippetsUI;
using System;
using System.Collections.Generic;
using System.ComponentModel.Composition;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace VSIXProject1
{
class CompletionHandler
{
[Export(typeof(IVsTextViewCreationListener))]
[ContentType("CSharp")]
[Name("CodeCompletionTypeZero")]
[TextViewRole(PredefinedTextViewRoles.Editable)]
internal class CompletionHandlerProvider : IVsTextViewCreationListener
{
[Import]
internal IVsEditorAdaptersFactoryService _adapterService = null;
[Import]
internal ICompletionBroker _completionBroker { get; set; }
[Import]
internal SVsServiceProvider _serviceProvider { get; set; }
public void VsTextViewCreated(IVsTextView textViewAdapter)
{
Printer.Print("VsTextViewCreated");
ITextView textView = _adapterService.GetWpfTextView(textViewAdapter);
if (textView == null)
{
return;
}
return;
}
}
}
}
此外,如果我想在此行设置一个断点:“ Printer.Print(” VsTextViewCreated“);”
我得到“断点当前不会被命中。没有为该文档加载任何符号”
谢谢所有读过本文的人:)
最佳答案
删除
“ C:\ Users \您的用户名\ AppData \ Local \ yourCompanyName”
和
“ C:\ Users \您的用户名\ AppData \ Local \ Microsoft \ VisualStudio \ 12.0Exp”
另外,修改VSIXxShellExtensions清单文件,并将包标记为“ MEFComponent”。
这也是一个很好的主题:VSIX extension for VS2012 not running when debugging
关于c# - 从2012年到2013年VSIX项目更新后,IVsTextViewCreationListener不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20188402/