如何抑制某些文件的智能感知错误?

2024-04-20

Visual Studio 2015 提供了在同一窗口中显示 Intellisense 错误的选项,该窗口还显示常规生成错误。我喜欢它,因为我什至不需要构建来查看代码的语法是否正确。

然而,该窗口还显示一个误报错误,该错误似乎与智能感知错误有关。有没有办法抑制特定代码区域或整个文件的智能感知错误?


我知道,这是一个老问题,但我刚刚对 Visual Studio 2019 / IntelliSense 有类似的抱怨,并找到了解决方案。

我的具体示例是 C++,涉及可变长度数组的使用。 Clang 支持/编译它们,我可以通过添加一个来抑制构建警告-Wno-vla选项 (Properties -> C/C++ -> Command Line -> Additional Options).
但是,IntelliSense 会忽略“-Wno-vla”,将 VLA 视为错误而不是警告。因此,代码及其错误列表中出现了红色曲线:E0028 expression must have a constant value
(这个错误号28在下面很重要)

关键是要记住 IntelliSense 使用不同的编译器前端,因此对于什么是“正确”的想法可能与您选择的构建编译器和选项不同。前端已获得许可EDG http://www.edg.com幸运的是,他们在这里记录了它的一些操作,包括命令行选项、编译指示等:C++ 前端 PDF http://www.edg.com/docs/edg_cpp.pdf

我不知道如何将他们的命令行选项专门定向到他们的前端,这似乎从项目中提取其选项,与构建编译器使用的选项相同......并且它对这些选项感到窒息,尤其是那些选项期望在空格后有一个参数(例如--diag_suppress 28从来没有工作过)。

然而我什么could开始工作是前端特定的编译指示!因此这需要少量的不可移植代码。具体来说,我将以下内容放入我的顶级(“每个人都包含”)头文件之一中,并且效果很好:

#ifdef __INTELLISENSE__
  #pragma diag_suppress 28
#endif

如果没有__INTELLISENSE__条款,你还可以这样做:#pragma clang diagnostic ignored "-Wunknown-pragmas"

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何抑制某些文件的智能感知错误? 的相关文章

随机推荐

  • 我什么时候应该使用 Odbc、OleDb、SQLClient?有哪些权衡

    我从 SQLServer 数据库开始 所以看来我应该使用System Data SqlClient命名空间 但是 我们有可能关闭 SqlServer 数据库并转到 MySql 或 Oracle 因此 我提出了一套有关 Net 应用程序如何与
  • Visual Studio 2013 浏览器链接无法在 Firefox 中正常运行 - 引发异常

    刚才我在调试一个简单的 ASP NET MVC 应用程序时尝试使用 Firefox 27 0 1 进行浏览器链接 我有 Visual Studio Ultimate 2013 Update 1 这是浏览器链接仪表板 我尝试在剃刀视图中更改某
  • 正则表达式中的波形符运算符

    我想知道正则表达式中波浪线运算符的含义是什么 我有这样的声明 if preg match d 10 POST isbn warnings ISBN should be 10 digits 我发现这个文档解释了波浪号的含义 http en a
  • 如何向角度垫表添加边框半径?

    我正在努力使mat table边框为圆形 但它不起作用 试过这个 table width 100 border collapse collapse border radius 1em 如何实现这一目标 对我来说最简单的解决方案是隐藏某些元素
  • Laravel 1048 存储数据时列不能为 NULL

    当我尝试保存新联系人时 我收到1048 Column username cannot be NULL错误 很明显 这个错误的原因是空值username 但是我想让它工作而不将列设置为 NULL 或检查是否usernamePOST 数据为空
  • Boost Spirit 规则和语法中模板参数中的括号

    看着这个例子 http boost spirit com home articles qi example parsing a list of key value pairs using spirit qi 为了实现 Spirit 解析器
  • 复制期间的字节交换

    我需要有效地交换数组的字节顺序during复制到另一个数组中 源数组是某种类型 char short 或 int 因此所需的字节交换是明确的 并且将根据该类型进行 我的计划是通过多遍字节复制 short 为 2 int 为 4 来非常简单地
  • 如何使用 GCM 在 php 中向数百万 Android 设备发送通知

    我是一名新的 Android 应用程序开发人员 我正在使用 GCM 将 PHP 代码的通知发送到 Android 设备 我制作了所有设备 ID 的数组并发送 但问题是当我发送超过一千个设备时 我发现内部服务器错误 我的代码如下 functi
  • 未定义的方法`fog_host='

    当我尝试运行我的应用程序时 出现以下错误 config initializers carrierwave rb 4 未定义方法 fog host CarrierWave Uploader Base Class NoMethodError 这
  • JavaFX GridPane:如果内容被禁用且不可见则缩小

    如果 GridPane 行的内容既禁用又不可见 是否可以缩小该行 当我将节点设置为disable true和visible false时 单元格仍然占用空间 如果我有 8 行 并且只有第一行和最后一行可见 我不希望空行占用太多空间 好像只有
  • OpenGL 超级采样抗锯齿?

    在办公室 我们正在使用旧的 GLX Motif 软件 该软件使用 OpenGL 的 AccumulationBuffer 来实现保存图像的抗锯齿功能 我们的问题是Apple从其所有驱动程序中删除了AccumulationBuffer 从OS
  • 如何为所有用户设置所有 ulimit 不受限制?

    是的 我想删除all ulimits并将它们设置为unlimited 我该怎么做呢 谢谢 使用这样的东西 for opt in ulimit a sed s a z a zA Z 1 do ulimit opt ulimited done
  • Android中如何增加ScrollView的高度?

    嗨朋友们 我在用GridView里面一个ScrollView用于显示图像 在 GridView 中 我有 16 个动态添加的图像 但是ScrollView不显示全部 16 张图像 参见屏幕截图 我想要ScrollView显示整体GridVi
  • C#:运行 shell 命令时出现问题

    我试图让 PHP 解析器运行一个页面 然后将结果返回到我的服务器 但是当我通过代码运行该命令时 它什么也不返回 我知道该命令是正确的 因为如果我使用相同的路径手动运行它 它就可以正常工作 这是我的代码 var p new Process S
  • 线程 - 访问资源避免饥饿

    我知道这不是一个 作业助手网站 但最近几天我疯了 因为我必须实现对资源的访问以避免饥饿 但我不知道如何做到这一点 谁能帮助我提供一些应用程序示例或文档 分配是 资源可以由两种类型的进程使用 黑色和白色 当白色进程使用该资源时 黑色进程就不能
  • 自定义 Bootstrap 4 中的折叠过渡

    Bootstrap 4 使用该类 collapsing在打开 关闭 collapse element 时对它的宽度 高度进行动画处理 不幸的是 实际的更改是通过将宽度 高度作为内联样式添加到元素并在过渡的开始和结束处添加和删除类来实现的 因
  • php将所有链接转换为绝对url

    我正在用 php 编写一个网站爬虫 并且我已经有了可以从网站提取所有链接的代码 问题 网站使用绝对 URL 和相对 URL 的组合 示例 http 替换为 hxxp 因为我无法发布超链接 hxxp site com site com sit
  • 服务器<->设备的数据同步框架/算法?

    我正在寻求实现服务器和分布式客户端之间的数据同步 服务器上的数据源是mysql 上面是django 客户可能会有所不同 更新可以在客户端或服务器上进行 并且服务器和客户端之间的连接不可靠 例如 可以在断开连接的手机上进行更改 当手机再次连接
  • 如何“实时”检查输入的内容

    我正在开发一个网络表单 它已经设置了一个文本字段来接收预期的数值 如果此字段的内容不是数字 则表单不会提交 但没有放置错误消息来让用户知道他们填写了错误的此字段 我的问题是 有没有办法实时检查输入内容并采取措施告诉用户他们没有正确填写 如果
  • 如何抑制某些文件的智能感知错误?

    Visual Studio 2015 提供了在同一窗口中显示 Intellisense 错误的选项 该窗口还显示常规生成错误 我喜欢它 因为我什至不需要构建来查看代码的语法是否正确 然而 该窗口还显示一个误报错误 该错误似乎与智能感知错误有