定义解析器
一个Sublime Text插件,帮助您获取C源代码中#define的值。
详细信息
安装
- 总数 74
- Win 51
- Mac 14
- Linux 9
8月6日 | 8月5日 | 8月4日 | 8月3日 | 8月2日 | 8月1日 | 7月31日 | 7月30日 | 7月29日 | 7月28日 | 7月27日 | 7月26日 | 7月25日 | 7月24日 | 7月23日 | 7月22日 | 7月21日 | 7月20日 | 7月19日 | 7月18日 | 7月17日 | 7月16日 | 7月15日 | 7月14日 | 7月13日 | 7月12日 | 7月11日 | 7月10日 | 7月9日 | 7月8日 | 7月7日 | 7月6日 | 7月5日 | 7月4日 | 7月3日 | 7月2日 | 7月1日 | 6月30日 | 6月29日 | 6月28日 | 6月27日 | 6月26日 | 6月25日 | 6月24日 | 6月23日 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Windows | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 |
Mac | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Linux | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
README
SublimeText-DefineParser
这是一个用于计算C语言#define值的python解析器,由ukyouz/C-define-Parser扩展。
支持的功能
- 显示光标下的#define值/所有#define值
- 从标记为根目录的文件夹中解析#define值
- 在指定配置下标记无效代码
用途
使用Sublime Text打开一个C项目文件夹,此插件将开始构建定义数据。
默认设置下,解析器将查找包含以下根标记的最接近的父文件夹。
{
"define_parser_root_markers": [".root", ".git", ".gitlab"],
}
构建定义数据后,您可以享受以下功能。
获取#define值
默认情况下,您必须手动执行Define Parser: Calculate #define Value
来获取光标下的宏值。我强烈建议您在插件Mouse Binding文件中添加以下配置,该文件可以在菜单 -> 偏好设置 -> 包设置 -> Define Parser -> 鼠标绑定中打开。
[
{
"button": "button1",
"count": 1,
"press_command": "drag_select",
"modifiers": ["alt"],
"command": "calculate_define_value"
},
]
然后,您可以按下Alt
键并左击,以显示当前光标位置下方#define的计算值。
或,按下Alt
键并拖动一个选择。
突出显示无效代码区域
无效代码区域将默认以灰色突出显示。
如果您不想在启动时执行此操作,可以更改以下设置
{
"highlight_inactive_enable": true,
}
您还可以运行Define Parser: Toggle Highlight for Inactive Code
命令来切换当前窗口的高亮状态,或使用默认快捷键Ctrl-\
。
默认情况下,只突出显示具有以下扩展名的文件中的无效代码高亮显示
{
//"highlight_inactive_extensions": [".h", ".c", ".cpp"], // deprecated!
"highlight_inactive_header_exts": [".h"],
"highlight_inactive_source_exts": [".c", ".cpp"],
}
注意,这些设置是区分大小写的。会对源文件中的本地定义进行仔细考虑,以计算准确且正确的结果。
如果出现不匹配或定义数据损坏,请尝试运行Define Parser: Rebuild #define Data
命令来重新构建解析数据。
编译器配置
对于C编译器,某些额外的定义在编译命令中指定,而无需在源代码中编写。为了设置这些额外的定义,您可以只需运行定义解析器:选择定义配置
命令来创建一个编译器标志文件。按照说明,此插件帮助您在根目录中创建配置文件。配置文件创建后,您可以选择配置以获得更精确的解析结果。
文件名将用作配置名,对于定义解析器使用,此插件只使用-D
选项。
选择配置后,需要一些时间(可能需要几分钟)来重新构建定义数据;然后新配置生效,不再活动的区域相应地改变。
例如,我们在配置文件中指定了-DENV=ENV_TEST
局限性/已知问题
- 目前仅支持在Sublime Text窗口中打开一个文件夹。
出现在.#define DEFINITION
之前的所有DEFINITION都将被视为已定义的值,上下文顺序没有得到很好的处理- 构建定义数据对于大型项目可能很慢(几秒钟),需要对解析速度进行进一步的优化。