自定义notepad++ --添加插件SourceCookifier

原文地址:https://www.cnblogs.com/coding-my-life/p/3676665.html

对coder来说,notepad ++ 是一个很不错的文本编辑器。平时用来看看代码、xml文件,都比系统自带的记事本舒服得多。不过,对于像我这种每天用notepad ++写代码的人,一个原装的notepad ++远远不能满足。下面对notepad++做一些调整。

一、更改主题与颜色

npp的主题与颜色设置在setting/style configurator下。

首先,先选择一种主题。主题是一般包含了各种语言的代码高亮方案,当然也包含全局设置。全局设置也就无法识别语言时的方案(如打开一txt文本时)。notepad ++在改变主题时是即时预览的。所以当你改变主题时当前文本没有改变高亮,检查一下当前文件是否识别正确。例如当前文本被识别为java语言,但你改变的是C++的高亮,则当前文本反映不出来的。

下面以C语言为例,修改代码高亮

在language里选中C语言后,在Style里可以看到C语言可自定义的项(好像不同主题、不同语言的可定义项都不一样)。下面列出各个可自定义项:

PREPROCESSOR    预处理

DEFAULT              默认(即除了其他可定义项目以外的代码)

INSTRUCTION WORD    结构关键字if else for while switch之类

TYPE WORD    类型关键字,int float struct之类

NUMBER    数字,也就是常数

STRING    字符串,通常在""之间的字符被认为是字符串

CHARACTER    字符,在''之间的单个字符被认为是字符

OPERATOR    操作数,如+ - * / =

COMMENT     注释,通常在//之后

COMMENT LINE    注释行,以/*开头以*/结束

COMMENT DOC    文档注释,以/**开头,以*/结束

有部分我也不知道是什么,抱歉。

知道了这些类型,我们选择自己要调整的类型,在右边选择颜色、字体、大小、是否加粗、倾斜、是否加下划线即OK。

有部分是可以添加自定义数据的。如TYPE WORD和INSTRUCTION WORD,是否要添加自定义的关键字类型

注意:搜索结果是在language的最底下,而选中文字后的高亮则在global style里

二、添加自己所需要的插件。

在plugins/plugin manager里可以管理插件。

我常用的插件:

light explorer    轻量的资源管理器,有收藏夹功能,stander menu可打开系统的右键。比explorer插件好用

nppFTP    FTP插件,主要是因为服务器不在身边,经常需要上传、下载

sourcecookefier    主要是函数列表、定义跳转,比npp自带的function list好用。函数列表能自动刷新、排列。

下面介绍一下sourcecookefier的跳转,也就是go go define功能。

先把source cookefier的模式改为cookie session mode(这三个模式的介绍在右键/帮助下有介绍)

然后把工程目录拖到sorucecookifier里,它会自动列出所有文件类型,选择检测的文件类型(C语言一般为.c和.h文件)

等待生成缓存文件,之后在代码里按住ctrl键+鼠标左击就会自动跳转到函数或宏定义的声明处理。这个功能主要是用CTAGS实现的,不能区分同名函数(会有选择)。另外,请记得保存缓存文件。下次打开npp时也要再次打开。每次修改文件后,也要记得保存。

三、修改右键菜单

npp修改右键的入口在setting/edit popup contextMenu,然后打开一个文件让我们编辑。其实我们也可以自己找到那个contextMenu.xml文件自己修改。这个文件里有比较详细的注释。

npp的右键菜单分三种类型,一种是以名字来区分菜单,一种是插件菜单,另一种是以ID来区分的菜单。

1、以名字来区分的菜单就是你把Npp的语言改为英文,在npp菜单里的功能都可以添加到右键。如

        <Item MenuEntryName="Edit" MenuItemName="Cut"/>
        <Item MenuEntryName="Edit" MenuItemName="Copy"/>
        <Item MenuEntryName="Edit" MenuItemName="Paste"/>
        <Item MenuEntryName="Edit" MenuItemName="Delete"/>
        <Item MenuEntryName="Edit" MenuItemName="Select all"/>
        <Item MenuEntryName="Edit" MenuItemName="Begin/End Select"/>

Item MenuEntryName="Edit" MenuItemName="Cut"则表示其功能就是编辑里的剪切功能。当然,你也可以添加一个Item MenuEntryName="Search" MenuItemName="Find In Files...",即搜索下的在文件中查找。

2、插件菜单就是你装的插件的功能。

        <Item FolderName="Plugin commands" PluginEntryName="MIME Tools" PluginCommandItemName="Base64 Encode" />
        <Item FolderName="Plugin commands" PluginEntryName="MIME Tools" PluginCommandItemName="Base64 Decode" />

把PluginEnteerName改成自己的插件名,PluginCommandItemName改成自己的功能就OK.这些都可以在菜单栏中plugin里找到。

3、最后一种则是以ID来区分的,

        <Item FolderName="Remove style" id="43023"/>
        <Item FolderName="Remove style" id="43025"/>
        <Item FolderName="Remove style" id="43027"/>
        <Item FolderName="Remove style" id="43029"/>
        <Item FolderName="Remove style" id="43031"/>
        <Item FolderName="Remove style" id="43032"/>

这里头疼的是这些ID表示什么。它在安装目录下的\localization\english.xml里。

View Code

其他的,如分隔线、文件夹(Folder)怎么添加,看注释就知道了。

四、更高级的自定义

本人写的语言是一种非主流的脚本LPC。没有IDE,没有语法高亮。幸好LPC与C十分类似,使用C的语法高亮就可以。一开始我考虑Npp的自定义语法高亮,但没有成功。好像不管我怎么设置,其的类型检测如宏定义、预处理、字符串这些不如它内置语言的精准,也有可能是我没设置好。下面记录一下相关文件:

主题文件在npp/themes里

<WordsStyle name="PREPROCESSOR" styleID="9" fgColor="FFAA00" bgColor="2A211C" fontName="" fontStyle="0" fontSize="10" />

name="PREPROCESSOR" styleID="9"是内置类型,用于正则表达式判断是否关键字、预处理以及如何高亮,不能自定义,有FUCNTION类型,但我设置了没效果

<LexerType name="searchResult" desc="Search result" ext="">是修改搜索结果,

在类型里如TYPE WORD能添加自定义是因为有insert1字段或type1字段,这两个字段在npp/stylers.xml里定义

Notepad++的自动补全的列表文件在\plugins\APIs文件夹下,xml文件,需要在设置里把自动补全打开


展开阅读全文

没有更多推荐了,返回首页