【问题标题】:Create a Notepad++ plugin in C++在 C++ 中创建 Notepad++ 插件
【发布时间】:2018-03-09 16:55:59
【问题描述】:

我正在 Visual Studio 中创建一个 notepad++ 插件。 我已经下载了演示插件并尝试了一些基本功能,它正在工作。

我正在寻找一些有助于满足我的要求的功能,即“在当前打开的文件中查找特定文本并将其复制到新文件中。”

我知道如何打开新文件

// Open a new document
::SendMessage(nppData._nppHandle, NPPM_MENUCOMMAND, 0, IDM_FILE_NEW);

我只想要查找和复制文本的函数。

基本上我想在VC的插件代码中使用可用的记事本选项,如serach、find、replace。任何帮助将不胜感激。

谢谢

【问题讨论】:

    标签: c++ visual-studio plugins notepad++


    【解决方案1】:
        `//Belong to MENU FILE
        #define    IDM_OPEN_ALL_RECENT_FILE             (IDM_EDIT + 40)
        #define    IDM_CLEAN_RECENT_FILE_LIST           (IDM_EDIT + 41)
    
    #define    IDM_SEARCH    (IDM + 3000)
        #define    IDM_SEARCH_FIND                 (IDM_SEARCH + 1)
        #define    IDM_SEARCH_FINDNEXT             (IDM_SEARCH + 2)
        #define    IDM_SEARCH_REPLACE              (IDM_SEARCH + 3)
        #define    IDM_SEARCH_GOTOLINE             (IDM_SEARCH + 4)
        #define    IDM_SEARCH_TOGGLE_BOOKMARK      (IDM_SEARCH + 5)
        #define    IDM_SEARCH_NEXT_BOOKMARK        (IDM_SEARCH + 6)
        #define    IDM_SEARCH_PREV_BOOKMARK        (IDM_SEARCH + 7)
        #define    IDM_SEARCH_CLEAR_BOOKMARKS      (IDM_SEARCH + 8)
        #define    IDM_SEARCH_GOTOMATCHINGBRACE    (IDM_SEARCH + 9)
        #define    IDM_SEARCH_FINDPREV             (IDM_SEARCH + 10)
        #define    IDM_SEARCH_FINDINCREMENT        (IDM_SEARCH + 11)
        #define    IDM_SEARCH_FINDINFILES          (IDM_SEARCH + 13)
        #define    IDM_SEARCH_VOLATILE_FINDNEXT    (IDM_SEARCH + 14)
        #define    IDM_SEARCH_VOLATILE_FINDPREV    (IDM_SEARCH + 15)
        #define    IDM_SEARCH_CUTMARKEDLINES       (IDM_SEARCH + 18)
        #define    IDM_SEARCH_COPYMARKEDLINES      (IDM_SEARCH + 19)
        #define    IDM_SEARCH_PASTEMARKEDLINES     (IDM_SEARCH + 20)
        #define    IDM_SEARCH_DELETEMARKEDLINES    (IDM_SEARCH + 21)
        #define    IDM_SEARCH_MARKALLEXT1          (IDM_SEARCH + 22)
        #define    IDM_SEARCH_UNMARKALLEXT1        (IDM_SEARCH + 23)
        #define    IDM_SEARCH_MARKALLEXT2          (IDM_SEARCH + 24)
        #define    IDM_SEARCH_UNMARKALLEXT2        (IDM_SEARCH + 25)
        #define    IDM_SEARCH_MARKALLEXT3          (IDM_SEARCH + 26)
        #define    IDM_SEARCH_UNMARKALLEXT3        (IDM_SEARCH + 27)
        #define    IDM_SEARCH_MARKALLEXT4          (IDM_SEARCH + 28)
        #define    IDM_SEARCH_UNMARKALLEXT4        (IDM_SEARCH + 29)
        #define    IDM_SEARCH_MARKALLEXT5          (IDM_SEARCH + 30)
        #define    IDM_SEARCH_UNMARKALLEXT5        (IDM_SEARCH + 31)
        #define    IDM_SEARCH_CLEARALLMARKS        (IDM_SEARCH + 32)
    
        #define    IDM_SEARCH_GOPREVMARKER1        (IDM_SEARCH + 33)
        #define    IDM_SEARCH_GOPREVMARKER2        (IDM_SEARCH + 34)
        #define    IDM_SEARCH_GOPREVMARKER3        (IDM_SEARCH + 35)
        #define    IDM_SEARCH_GOPREVMARKER4        (IDM_SEARCH + 36)
        #define    IDM_SEARCH_GOPREVMARKER5        (IDM_SEARCH + 37)
        #define    IDM_SEARCH_GOPREVMARKER_DEF     (IDM_SEARCH + 38)
    
        #define    IDM_SEARCH_GONEXTMARKER1        (IDM_SEARCH + 39)
        #define    IDM_SEARCH_GONEXTMARKER2        (IDM_SEARCH + 40)
        #define    IDM_SEARCH_GONEXTMARKER3        (IDM_SEARCH + 41)
        #define    IDM_SEARCH_GONEXTMARKER4        (IDM_SEARCH + 42)
        #define    IDM_SEARCH_GONEXTMARKER5        (IDM_SEARCH + 43)
        #define    IDM_SEARCH_GONEXTMARKER_DEF     (IDM_SEARCH + 44)
    
        #define    IDM_FOCUS_ON_FOUND_RESULTS      (IDM_SEARCH + 45)
        #define    IDM_SEARCH_GOTONEXTFOUND        (IDM_SEARCH + 46)
        #define    IDM_SEARCH_GOTOPREVFOUND        (IDM_SEARCH + 47)
    
        #define    IDM_SEARCH_SETANDFINDNEXT       (IDM_SEARCH + 48)
        #define    IDM_SEARCH_SETANDFINDPREV       (IDM_SEARCH + 49)
        #define    IDM_SEARCH_INVERSEMARKS         (IDM_SEARCH + 50)
        #define    IDM_SEARCH_DELETEUNMARKEDLINES  (IDM_SEARCH + 51)
        #define    IDM_SEARCH_FINDCHARINRANGE      (IDM_SEARCH + 52)
        #define    IDM_SEARCH_SELECTMATCHINGBRACES (IDM_SEARCH + 53)
        #define    IDM_SEARCH_MARK                 (IDM_SEARCH + 54)` 
    

    【讨论】:

    • 感谢您提供此代码 sn-p,它可能会提供一些有限的即时帮助。 proper explanation would greatly improve its long-term value 通过展示为什么这是一个很好的解决问题的方法,并将使其对未来有其他类似问题的读者更有用。请edit您的回答添加一些解释,包括您所做的假设。
    猜你喜欢
    • 2012-11-29
    • 2016-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-24
    相关资源
    最近更新 更多