KDevelop在#include <file.h>中的#之后自动插入一个空格

时间:2016-05-10 18:58:36

标签: c++ kdevelop

我只想通过编写

在KDevelop中包含一个C ++头文件
#include <file.h>

但是,KDevelop会自动将上述声明更正为

# include <file.h>

我无法弄清楚我可以改变它的位置。我想要第一个版本,这样我的文件就像我正在处理的项目中的其他文件一样。

文件的类型设置正确为C ++文件。我认为额外空间的原因是KDevelop想要缩进该行,因为它在一个有条件的内部,即一个包含守卫,如下所示:

#ifndef THIS_FILE_H
#define THIS_FILE_H

// THIS_FILE_H
#endif

KDevelop还希望缩进#define THIS_FILE_H行。

我尝试通过转到设置 - &gt;来创建自己的缩进样式自定义KDevelop 菜单项,然后单击左侧的源格式化程序。在定义格式化样式时,我已禁用预处理程序指令的缩进,但它对包含守护程序中#include#define的缩进没有影响。< / p>

3 个答案:

答案 0 :(得分:1)

自动空格似乎是由缩进模式引起的,可以在Editor -> Tools -> Indentation中切换缩进模式(在KDevelop 4.7.1中)。如果缩进设置为C++/boost Style,则在键入时会得到那些奇怪的自动空格。在Normal模式下,您只会在行首获得通常的缩进。

可以在Settings -> Configure Editor -> Open/Save -> Modes & Filetypes中设置默认缩进模式。对于每种文件类型(例如Sources/CSources/C++Sources/C++11Sources/C++11/Qt4),可以独立设置缩进模式。

KDevelop似乎会记住您打开过一次文件的设置;因此对于这些文件,新的配置设置无效。我不知道如何使KDevelop忘记这些每个文件的设置。

答案 1 :(得分:0)

我知道这已经很老了,但这是我的建议,供将来参考。

转到if (BO == null) { ViewBag.result = ("Anexo do B.O obrigatório.").ToString(new CultureInfo("it-IT")); return View("SinistroLLPP", vm); }

在那里你可以看到你希望KDevelop格式化的语言下拉(C,C ++,C#,Java等等),格式化程序(“艺术风格”或“自定义脚本格式化程序”)和列表可能的预定义样式以及用于自定义的按钮。

检查您是否选择了一个合适的预定义程序并尝试了几个预定义程序。

KDevelop应该在Settings -> Configure KDevelop -> Code Formatter之后停止添加额外的空格。

问题:您的KDevelop是否也会在# include之后添加空格?

答案 2 :(得分:0)

同样的问题。因此,我卸载kate,然后删除名称中包含kate的主目录中的所有配置文件。然后我打开了kdevelop,没有发现任何变化。最后,Kdevelop->Settings->Open/Save->Modes&Filetypes,选择Sources/C++Sources/C,将其更改为None,然后重新启动kdevelop。天啊,最后,世界就是和平。

总而言之,Sources Modes&Filetypes出现问题。