【问题标题】:How to copy text from one window and paste it into the code window? (VSIX C#)如何从一个窗口复制文本并将其粘贴到代码窗口中? (VSIX C#)
【发布时间】:2017-05-20 20:09:56
【问题描述】:

我想为 Visual Studio (VSIX) 编写一个插件,我可以使用它将预制文本复制/粘贴到我的代码中。我打算用 ApplicationCommands.Paste 来做,但我不知道如何将我的 CommandTarget 绑定到我的插入符号的代码窗口中。我非常感谢提前在这件事上的任何想法或提示!

选择要复制的文本,然后单击按钮将选定的文本粘贴到代码中的脱字符光标处。

【问题讨论】:

    标签: c# visual-studio plugins copy-paste vsix


    【解决方案1】:

    您可以使用 IVsTextManager.GetActiveView() 找到当前的 IWpfTextView,然后使用 textView.TextBuffer.Insert 将文本粘贴到当前插入符号位置。请参阅以下完整代码示例:Insert text into the current active text view

    【讨论】:

    • 非常感谢您的快速答复,对于延迟回复我深表歉意。我一直在尝试实施您的解决方案,并询问了我的教授和朋友,但是......不幸的是,我未能成功添加您提供的代码示例。我已经添加了 Microsoft 引用和导入,但是当我添加代码示例时,我的 VisualStudio 仍然说它不知道 VisualCommanderExt.ICommand,也不知道 .text.UI,尽管添加了引用。你有什么想法,我做错了什么?非常感谢您的帮助。
    • @KonstantinHolm VisualCommanderExt.ICommand 仅当您在我的 Visual Commander 扩展中运行代码时才需要。
    • 啊,我明白了。所以它是关于 IVsTextManager 的。我今天一直在努力,但是我无法实现 GetActiveView 的方法参数(int fMustHaveFocus,IVsTextBuffer pBuffer,out IVsTextView ppView)如果我要通过 XAML 中的按钮功能调用该方法,我很难找到正确的参数来调用它..
    猜你喜欢
    • 2017-03-31
    • 1970-01-01
    • 2020-06-18
    • 2022-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多