【发布时间】:2014-05-30 04:26:19
【问题描述】:
编辑(对反对者):反对意味着您认为“这个问题没有显示任何研究工作;它不清楚或没有用”。如果是这种情况,我很高兴知道您可以证明这篇文章的哪一部分是合理的,请在评论中发表您的答案。谢谢。
这是我遇到的问题的一个最小示例:
#ifndef __ST2_HIGHLIGHT_TEST__
#define __ST2_HIGHLIGHT_TEST__
// This define makes the highlighting fail
#define create_obj( name, val ) obj<decltype(val)> name(val)
template <typename T>
struct obj
{
obj( const T& val ): var(val) {}
T var;
};
#endif
define 宏上面的注释说明了问题:如果我注释宏,高亮就可以了,否则似乎会导致结构定义错误高亮(见下图)。
我怀疑用于突出显示代码的 C++ 规则中存在错误,在这种情况下,我认为完全禁用 define 宏的着色(以防止它们弄乱后面代码的着色)将是一个很好的解决方案。我不知道在哪里可以找到这些规则以及如何更新它们以丢弃定义语句。
正常高亮:
疑似错误:
注意:我正在使用以下软件包:BracketHighlighter、SublimeLinter、DocBlockr、SublimeCodeIntel
【问题讨论】:
-
代码是如何被高亮的(highlit?)
-
是我还是这是一个意义不大的问题,已被两次投票?
-
对不起,我看到了关闭请求,这不是一个正确的编程问题吗?我可以粘贴荧光笔的代码,如果你愿意,请问在哪里修改?
-
@RobKennedy 查看更新后的帖子,如果我有不清楚的地方请告诉我。
-
好多了。谢谢。
标签: c++ c++11 sublimetext2 syntax-highlighting