ctrl+shift+p filters: :st2 :st3 :win :osx :linux
浏览

SublimeLinter-gcc

SublimeLinter ST3

此 SublimeLinter 的 linter 插件提供了对 gcc 或其他 gcc-like (交叉)编译器的接口。

详情

  • 3.0.0
    2.0.1
  • github.com
  • github.com
  • 4个月前
  • 2小时前
  • 7年前

安装

  • 总计 19K
  • Win 9K
  • Mac 3K
  • Linux 7K
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日 6月22日
Windows 6 8 0 2 4 4 5 2 2 3 2 2 3 6 0 5 5 1 2 0 6 2 0 1 6 2 1 2 3 1 3 6 2 0 1 5 2 1 3 3 3 1 6 4 4 7
Mac 4 2 0 0 1 0 3 0 1 0 1 2 0 1 1 1 0 0 2 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 3 0 1 0 1 1 1 1 0 3 0 0
Linux 0 2 0 3 1 2 0 2 0 3 2 4 2 4 3 0 2 2 0 1 3 1 0 3 0 0 1 0 3 3 4 1 2 4 0 4 4 1 2 2 0 1 0 2 3 1

README

源代码
raw.githubusercontent.com

SublimeLinter-gcc

Package Control GitHub tag (latest SemVer) Project license GitHub stars Donate to this project using Paypal

此为 SublimeLinter 的 linter 插件,向 SublimeLinter 提供 gcc 或其他类似的 gcc-like (交叉)编译器的接口。它将用于具有 C/C++ 语法文件。如果您正在使用 clang,您可能希望查看 SublimeLinter-clang

安装

要使用此插件,必须安装 SublimeLinter。如果未安装 SublimeLinter,请按照 此处 的说明进行操作。

linter 安装

在开始使用此插件之前,您必须确保系统上已安装 gcc 或其他 gcc-like 编译器。

您可以使用以下方法安装 gcc

安装 gcc 后,您必须确保它位于系统路径中,以便 SublimeLinter 能够找到它。这可能不像您想象的那么简单,因此请在文档中查看 解决路径问题

插件安装

请使用 Package Control 安装 linter 插件。这将确保插件在新版本可用时更新。如果您想从源安装,以便修改源代码,您可能已经知道自己在做什么,所以我们在这里不讨论它。

通过 Package Control 安装的步骤如下

  1. 在Sublime Text中,通过按下 Ctrl + Shift + P 调出 命令面板 并输入 install。在出现的命令中,你应该看到 Package Control: Install Package。如果该命令没有被高亮,使用键盘或鼠标选择它。Package Control会暂停几秒钟以获取可用的插件列表。

  2. 当插件列表出现时,输入 gcc。你应该看到的条目是 SublimeLinter-gcc。如果该条目没有被高亮,请使用键盘或鼠标选择它。

设置

以下是一些最常用的自定义设置。

设置 描述
可执行 编译器的二进制路径。默认情况下为 ["gcc"]["g++"]。如果你不使用它们,你必须将其设置为你的编译器二进制路径,例如 ["arm-none-eabi-gcc"]
I 要添加到头文件搜索路径的目录列表。即,-I 标志的路径。
args 要传递给编译器的额外标志列表。应仔细使用这些标志,因为它们可能导致代码检查失败。

以下是一个示例设置

{
    "linters":
    {
        "gcc": {
            "disable": false,
            "executable": ["gcc"],
            "args": ["-fsyntax-only", "-std=c90"],
            "I": [
                "${file_path}/include",
                "${folder}/include",
                "/usr/local/include",
            ],
            "excludes": [],
        },
        "g++": {
            "disable": false,
            "executable": ["g++"],
            "args": ["-fsyntax-only", "-std=c++20"],
            "I": [
                "${file_path}/include",
                "${folder}/include",
                "/usr/local/include",
            ],
            "excludes": [],
        },
    },
}

以下是一些有用的SublimeLinter设置文档。

注意

  • 这里是gcc 13.2.0中官方的警告选项列表。我更喜欢通过-Wall(这是该插件的默认值)打开所有警告,然后通过-Wno-前缀抑制不需要的警告。

  • args中使用-fsyntax-only标志可以提供更快的仅语法检查,但一些在代码优化阶段发出的警告可能无法被捕获。

演示

linting_example

故障排除

C/C++代码检查并不总是直接的。当(几乎)没有代码检查信息可用时,可以尝试以下几个方法

  • 尝试从命令行编译,并验证它是否正常工作。
  • 代码检查器可能缺少一些头文件。这些可以通过设置I添加。
  • 有时gcc无法找到C/C++标准库头文件。

假设通过命令行执行时编译正常,尝试使用g++ -v编译。这将显示gcc使用的所有隐藏标志。作为最后的手段,它们都可以添加到设置args中。

贡献

如果你愿意贡献增强功能或修复,请按照以下方式操作

  1. 分叉插件的存储库。
  2. 从一个创建自最新master的单独主题分支中进行开发。
  3. 提交并将主题分支推送。
  4. 确保你的修改能够通过单元测试。
  5. 发起合并请求。
  6. 要有耐心。

请注意,修改应遵循以下编码准则

  • 缩进为4个空格。
  • 代码应通过flake8和pep257代码检查器。
  • 可能使用black代码格式化器格式化代码。
  • 垂直空白有助于可读性,不要害怕使用它。
  • 请使用描述性的变量名,除非缩写非常知名,否则不要使用缩写。

感谢你们的帮助!