崇高的c++命名空间关键字颜色规划
Sublime C++ namespace keyword color scheming
我在Sublime中有一个令人讨厌的行为。
当我开始键入一行…
using namespace SomeNamespace;
关键字'using'和'namespace'被适当地着色。然后,当我在行尾添加分号时,名称空间关键字变为白色(默认文本颜色)。我知道这没什么大不了的,但它真的让我很恼火。
以前有人注意到这种行为吗?代码编译没有错误或警告,所以我知道sublime没有检测到一些代码问题。
谁有什么建议来解决这个问题?问题在于c++语法定义中的这个特定正则表达式:
b(namespace)s+([A-Za-z_][_A-Za-z0-9:]*b)?+(?!s*?(;|=|,))
在最后,在负向前看- (?!...)
中,我们看到分号被排除在匹配之外,这意味着如果分号出现在该行的最后,则没有匹配。
要修复它,你需要从Package Control中安装非常有用的PackageResourceViewer
插件。然后,打开命令面板,键入 prv
以调出PackageResourceViewer选项,选择 Extract Package
一个,然后向下滚动并选择 C++
。现在在选择 Preferences -> Browse Packages...
打开的目录中将有一个C++
目录。进入那个目录,你会看到一堆文件。根据你使用的Sublime Text 3版本,你需要在Sublime中打开C++.tmLanguage
或C++.sublime-syntax
。.tmLanguage
格式是XML,因此如果您愿意,可以选择XML格式进行语法高亮显示,而.sublime-syntax
文件是YAML格式。
打开适当的文件后(您可能有一个或另一个,而不是两个),搜索上面的正则表达式,或者只搜索namespace
,您应该很容易找到它。从末尾处删除;|
,使其完整:
b(namespace)s+([A-Za-z_][_A-Za-z0-9:]*b)?+(?!s*?(=|,))
保存文件,就这样了!你的c++源文件应该立即更新它们的行为——如果没有,关闭并重新打开它们,在最坏的情况下,你可以关闭它们,重新启动Sublime,然后重新打开它们。
- Visual Studio 2015:Extern "C" 和 "export" 关键字
- C++中的"inline"关键字
- 如何确保C++函数在定义之前声明(如override关键字)
- 将"打开的CV图像"中的"颜色"转换为整数格式
- 如何在内核C++中使用1920x1080x16M图形或类似的16M颜色?(VGA)
- 如何在24位SDL_Surface上设置像素的颜色
- 谷歌模拟和覆盖关键字
- 如何从SDL_Surface获取特定像素的颜色
- 结构体 S { int align; } 之间的区别;(struct 关键字后的名称)和 struct { int al
- 如果全局变量默认是外部变量,为什么要添加"extern"关键字?
- 当我从下面的代码中删除关键字 virtual 时,它可以正常工作,否则会出现错误。在这里"virtual"字的意义是什么?
- 为什么"delete"关键字不删除节点?
- 在 c++ 中正确定义"this"关键字?
- 列表视图更改选择颜色
- GtkTreeView 交替行颜色
- 这个额外的关键字在这个 c++ 类声明中是什么意思?
- 在 typedef 内部使用 const 关键字和在 typedef 外部使用 const 关键字之间有区别吗?
- 为什么Visual Studio(2017;15.7.5)不允许我更改c ++关键字颜色
- 如何在Visual Studio上更改特定的关键字颜色
- 崇高的c++命名空间关键字颜色规划