3
私は最初のVS拡張を書いています。 これまでのところ、私は選択したテキストを取得し、メッセージボックスを表示するかの選択を操作するためのコードがあります。WPFウィンドウアプリケーションフォームのVS拡張コマンドを開く
拡張子のCTOR ..
private StringRefactor(Package package)
{
if (package == null)
{
throw new ArgumentNullException("package");
}
this.package = package;
OleMenuCommandService commandService = this.ServiceProvider.GetService(typeof(IMenuCommandService)) as OleMenuCommandService;
if (commandService != null)
{
var menuCommandID = new CommandID(CommandSet, CommandId);
var menuItem = new MenuCommand(this.MenuItemCallback, menuCommandID);
commandService.AddCommand(menuItem);
}
}
コールバック:
今private void MenuItemCallback(object sender, EventArgs e)
{
var selection = getSelection();
var selectedText = selection == null ? "No text selected..." : selection.StreamSelectionSpan.GetText();
string message = string.Format(CultureInfo.CurrentCulture, "Inside {0}.MenuItemCallback()", this.GetType().FullName);
string title = "StringRefactor";
// Show a message box to prove we were here
VsShellUtilities.ShowMessageBox(
this.ServiceProvider,
selectedText,
title,
OLEMSGICON.OLEMSGICON_INFO,
OLEMSGBUTTON.OLEMSGBUTTON_OK,
OLEMSGDEFBUTTON.OLEMSGDEFBUTTON_FIRST);
}
をVsShellUtilities.ShowMessageBox(...
の代わりにいくつかのテキストボックスとok \ cancelボタンを表示するプロンプトウィンドウを開きたいと思っています。
私はcを考えました別のWPFアプリケーションプロジェクトを参照してコールバックから起動しますが、これがカスタムツールを開く拡張機能を作成する正しい方法であるかどうかはわかりません..
機能を備えたカスタムウィンドウを開くには、 VISIXから?