c++ - Visual Studio 2017 - C++ 模板文件没有 IntelliSense
问题描述
我对 C++ 还很陌生,在编写模板类时,我遇到了来自 Visual Studio 的一些奇怪的 IntelliSense 行为。我有一个单独的头文件和源文件,源文件包含在头文件中,如下所示:
// header.h
#ifndef MY_HEADER
#define MY_HEADER
namespace my_namespace {
template <class Item>
Item my_func(Item& item);
}
#include "template.template"
#endif
// template.template
namespace my_namespace {
template <class Item>
Item my_func(Item& item) {
return item;
}
}
似乎无论我做什么,IntelliSense 都不起作用template.template
(当缺少分号时,我没有得到红色波浪下划线等)。我已经设置了我的自定义 .template 扩展名,以便代码突出显示适用于我的 .template 文件,特别是缺少的红色曲线。
我试过的东西不起作用:
- 正如其他答案所建议的那样,我已确保“C/C++ -> Advanced”中的“Disable Squiggles”和“Disable Intellisense”都设置为 False
- 我已经尝试使用“导入和导出设置”菜单完全重置/重新加载我的设置。
- 在文件属性菜单中,我尝试了从构建中排除,不从构建中排除,更改项目类型等。
- 我已将扩展名 .template 更改为 .cxx 和 .cpp
- 删除项目 .db 文件
如何获得我的曲线?
解决方案
推荐阅读
- dask - dask 数据帧:合并两个数据帧,估算缺失值并写入 csv 仅使用部分 CPU(每个 CPU 中 20%)
- c++ - 为什么从串口读取的字节数限制在一定数量?
- javascript - TensorFlow .js 简单模型预测 2 表多个未显示正确输出?
- angular - 订阅承诺
- sql - 从包文件中提取包名和注释
- flask - 如何在 json 中包含图像文件?
- html - 为什么会在a之后直接换行
元素添加一个空格?
- reactjs - React,如何从子组件加载状态/属性
- python - 如何按每一行拆分熊猫数据框并包含每个创建的新数据框的标题?
- javascript - 将文本添加到文本输入 onKeyPress react.js