C Main Tab
一个专注于 C 语言入口补全的 VS Code 扩展。输入 main,按下 Tab,开始编写程序。
作者:anbq1223 · 版本:0.1.2 · 支持:VS Code 1.85.0 及以上 · 许可证:MIT
使用效果
在 C 文件顶层的空行输入 main,将光标放在词尾,按 Tab:
#include <stdio.h>
int main(int argc, const char *argv[])
{
return 0;
}
光标停在 return 0; 前的空行,可立即编写代码。缩进跟随编辑器设置。
功能特性
- main + Tab:快速插入完整的 main 函数模板。
- 重复检查:当前文件已有 main 函数定义时,取消生成并显示中文提示。
- 头文件检查:已有
#include <stdio.h> 或 #include "stdio.h" 时,不再重复添加。
- 中文提示:操作提示使用中文,生成的函数体保留空行和
return 0;。
- 限定触发位置:仅在 C 语言模式、单光标、文件顶层独占一行的 main 后展开。
- 本地运行:没有运行时第三方依赖,不联网、不收集代码。
补全规则
在语言模式为 C 的文档中,将 main 输入在函数外的独立一行,光标放在词尾。使用单光标且没有选中文本时,按 Tab 即可展开。
注释、字符串、已有函数体内部,以及 int main、main() 这类其他形式的文本,都不会触发模板。多光标、代码片段占位符编辑或“Tab 键移动焦点”模式下,本插件的 Tab 快捷键不生效。
避免重复入口
当前文件已有 main 函数定义时,再次输入 main 并按 Tab,会显示:
当前 C 文件已存在 main 函数,不能重复生成。
本次输入的 main 保持原样,不插入第二个函数。注释、字符串中的示例,以及 int main(void); 这样的函数声明,不视为已有函数定义。
检查范围是当前文件。插件不阻止手动编辑,不限制其他补全插件,也不检查整个项目是否存在多个入口。检测采用轻量文本分析,支持常见 C 函数定义;不展开宏或求值条件编译,因此 #if 0 内的函数定义也会被计入。带编译器专有属性或宏生成的入口可能无法识别。
复用已有头文件
当前文件已包含 stdio.h 时,仅插入 main 函数。注释中的 include 不会被识别为有效头文件引用。
命令
除了 Tab 快捷键,也可以在命令面板中执行以下命令。命令使用相同的触发位置检查和重复检查。
| 命令 |
作用 |
| C Main Tab:插入 main 函数 |
将光标前独占一行的 main 替换为完整模板 |
需要调整快捷键时,可在 VS Code 的键盘快捷方式中搜索 cMainTab.insertMain。
运行要求
- VS Code 1.85.0 或更高版本。
- 文档语言模式为 C。
- 使用补全功能无需 Node.js、C 编译器或其他扩展。
插件只负责生成代码,编译和运行由你使用的 C 开发环境完成。
问题反馈
遇到问题时,可通过扩展商店页面的问答区域反馈,并提供 VS Code 版本、操作步骤,以及可以复现问题的最小 C 代码示例。
许可证
本项目采用 MIT License,版权归 anbq1223 所有。完整许可文本随插件一同提供。