compiler.nvim支持语言大揭秘:24种语言入口文件与默认输出对照表,让任何代码1分钟跑起来

📅 2026/8/23 14:38:35
compiler.nvim支持语言大揭秘:24种语言入口文件与默认输出对照表,让任何代码1分钟跑起来
compiler.nvim支持语言大揭秘24种语言入口文件与默认输出对照表让任何代码1分钟跑起来【免费下载链接】compiler.nvimNeovim compiler for building and running your code without having to configure anything项目地址: https://gitcode.com/gh_mirrors/co/compiler.nvimcompiler.nvim 是一款专为 Neovim 打造的零配置编译器插件它内置了 24 种编程语言的入口文件识别规则与默认输出路径让你打开任意代码文件后一键编译运行——无需手写任何编译命令。本文带你完整拆解 compiler.nvim 支持的语言清单、每种语言的入口文件与默认输出对照表以及 1 分钟快速上手指南。 什么是 compiler.nvim零配置的 Neovim 编译器compiler.nvim 的本质是一个编译器任务调度器它根据你当前编辑文件的文件类型filetype自动加载对应的语言后端生成并执行编译/运行任务。它的核心工作流非常简单你打开某个语言的文件比如main.go触发命令:CompilerOpen弹出该语言的所有可选操作选一个选项compiler.nvim 自动查找入口文件、编译、并运行四个核心命令定义于lua/compiler/init.lua命令作用:CompilerOpen打开编译器选项菜单基于 Telescope 界面:CompilerToggleResults展开/收起编译结果输出窗口:CompilerRedo重复上一次选择的编译操作:CompilerStop停止所有正在运行的编译任务语言后端的加载逻辑在lua/compiler/utils.lua的require_language函数中它按当前文件类型去lua/compiler/languages/目录下寻找同名.lua文件找到即支持。 24种语言入口文件与默认输出对照表这就是本文的核心——以下对照表全部提取自lua/compiler/languages/目录下各语言源文件的实际定义 编译型语言入口文件 → 可执行文件语言默认入口文件默认输出编译工具Cmain.cbin/programgcc-Wall -gCmain.cppbin/programgC#Program.csbin/Program.exedotnetGomain.gobin/programgoRustmain.rsbin/programrustcJavaMain.javabin/Mainjavac jarKotlinMain.ktbin/MainKtkotlincSwiftmain.swiftbin/programswiftcDartlib/main.dartbin/maindart compile汇编Assemblymain.asmbin/program汇编器 链接器Zigbuild.zig需先zig init-exezig build产物zig 规律一目了然编译器系语言统一从入口文件向上递归收集同后缀源文件 → 输出到bin/目录这个逻辑由lua/compiler/utils.lua中的find_files_to_compile函数统一实现。 解释型语言入口文件 → 直接运行语言默认入口文件运行方式Pythonmain.py解释执行也可用 Nuitka 编译为机器码输出bin/program、PyInstaller 打包字节码JavaScriptsrc/index.jsnode直接运行TypeScriptsrc/index.ts输出到dist/目录Luamain.lualua直接运行Rubymain.rbruby直接运行Perlmain.plperl直接运行Rmain.rR 脚本直接运行Elixir当前文件 /mix.exselixir单文件运行或mix runPython 是全家桶最豪华的成员lua/compiler/languages/python.lua 提供了解释执行、机器码编译、字节码打包、REPL 共 12 个操作选项。️ 框架驱动型语言交给项目构建工具语言项目文件运行方式F#Fsharp.fsproj项目dotnet runVisual BasicProgram.vbprojdotnet run/dotnet buildGleamgleam.tomlgleam buildgleam runFortran当前文件 /fpm.tomlgfortran单文件编译输出到 cache 目录的program或fpm build/run另外lua/compiler/languages/下还有第 25 个文件make.lua——当你正在编辑 Makefile 时可以直接运行make -f ./Makefile方便在编译过程中调整构建规则。 想改入口文件名一个 .solution.toml 搞定如果你项目的入口不叫main.c或Main.java不必改源码。compiler.nvim 支持在项目根目录放置.solution.toml或.solution配置文件按入口段声明多个程序entry_point指定真正的入口文件output指定自定义输出路径arguments覆盖默认编译参数executable登记需要在构建后执行的产物解析逻辑位于lua/compiler/utils.lua的parse_solution_file函数。配置好之后每个入口文件会在并行构建适合多模块项目。 bau5种主流构建系统的开箱集成除了语言本身compiler.nvim 还内置了构建系统后端位于lua/compiler/bau/目录cmake.lua—— CMake 项目gradle.lua—— Gradle / Java 项目make.lua—— Make 构建meson.lua—— Meson 构建nodejs.lua—— Node.js 项目npm 脚本这意味着 CMake、Gradle 这类项目同样可以一键构建无需手动敲cmake --build。⚡ 1分钟上手从打开到运行的3个步骤第一步安装 overseer.nvim依赖与 compiler.nvim并注册require(compiler).setup()第二步打开任意受支持语言的文件比如一个main.go。第三步执行:CompilerOpen在弹出菜单中选择操作例如 Go 语言的 Build and run program。几秒后编译输出会自动显示在结果窗口中——从打开文件到看到运行结果1 分钟绰绰有余。❓ 新手常见疑问Q入口文件名必须是 main.xxx 吗A默认如此见上文对照表但可以用.solution.toml自定义任意入口。QWindows 能用吗A可以。路径处理由lua/compiler/utils.lua的os_path函数自动适配 Windows / Unix 分隔符文件搜索在 Windows 下改用 PowerShell 实现。Q我的语言不在 24 种清单里A参考lua/compiler/languages/下任意一个文件的前端 options 后端 action结构写一个同名文件即可扩展新语言这也是该项目对贡献者最友好的地方。Q支持哪些语言AC、C、C#、Go、Rust、Java、Kotlin、Swift、Dart、汇编、Zig、Fortran、F#、Visual Basic、Gleam、Python、JavaScript、TypeScript、Lua、Ruby、Perl、R、Elixir外加 Makefile 与 5 种构建系统CMake / Gradle / Make / Meson / Node.js。【免费下载链接】compiler.nvimNeovim compiler for building and running your code without having to configure anything项目地址: https://gitcode.com/gh_mirrors/co/compiler.nvim创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考