gpt4 book ai didi

c# - 尝试从记事本++ .NET 插件创建新选项卡

转载 作者:太空宇宙 更新时间:2023-11-03 16:13:51 25 4
gpt4 key购买 nike

我正在编写一个 Notepad++ 插件,需要为一个新文件创建一个新选项卡。我在文档中找不到任何内容。

我最接近的是:

IntPtr curScintilla = PluginBase.GetCurrentScintilla();
IntPtr documentPtr = Win32.SendMessage(curScintilla, SciMsg.SCI_CREATEDOCUMENT, 1, 1);
Win32.SendMessage(curScintilla, SciMsg.SCI_SETDOCPOINTER, 0, documentPtr);

但这在当前选项卡中起作用(我认为它正在创建一个新文档并将当前选项卡指向该文档)。

我正在阅读 http://www.scintilla.org/ScintillaDoc.html 的“多 View ”部分但我无法比上述更进一步。我通常不在 C# 甚至 Windows 中工作,所以我可能会遗漏一些明显的东西。我尝试查看现有插件的示例,但其中大多数似乎是用 C++ 而不是 C# 编写的。

感谢任何指导。

谢谢。

最佳答案

我还没有经历 Scintilla 。但是我使用了简单的方法。我用它来创建,您可能需要寻找更多信息来发送消息。

如果目录中不存在文件,则在开始之前创建文件。否则它将要求用户确认。

流程的参数应该不同于第一个和下一个选项卡:

File.Create(yourNewFile); //or yourNextNewFile in case of second, third, so on..
Process notepadPlus = new Process();

notepadPlus.StartInfo.FileName = "notepad++.exe";

对于第一个文件使用 as(具有新 session 的新实例 - 没有任何旧选项卡):

notepadPlus.StartInfo.Arguments = @"-multiInst -nosession yourNewFile";

对于下一个文件,使用 as(只会创建新标签):

notepadPlus.StartInfo.Arguments = @"yourNextNewFile";

/* Start the process */
notepadPlus.Start();

关于c# - 尝试从记事本++ .NET 插件创建新选项卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16434708/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com