C++代码自动格式化
C++ Code Autoformatting
在使用Visual Studio进行C++编程多年后,我现在正转向linux进行工作。到目前为止,一切都很顺利,只有一个小例外——格迪特。在基本的文本编辑器中编写了一些代码后,我真的开始怀念我已经习惯的自动格式化功能
有没有某种类型的"程序员记事本"可以帮助实时自动格式化,或者我必须使用标准IDE来实现这一功能?大多数linux开发人员是否使用基本的文本编辑器手动格式化代码?
我不是在寻找一个完整的IDE,只是一个可以在我打字时自动格式化C++代码的东西。
Linux上的IDE有相当广泛的文本编辑器。从最"像记事本"到最"像VS",我脑海中浮现出一些。
在"文本编辑器"部门(意味着没有集成编译、构建配置、调试器等。只编辑文本/代码):
- gedit(最基本的类似记事本的应用程序,IMO)
- Kate(增强型记事本,但没有"命令",具有良好的自动格式和突出显示)
- Emacs(带有命令和高级选项的增强型记事本可能很难使用)
- VIM(与emacs属于同一类别,可能很难使用,我不喜欢)
- Sublime text(很酷的增强型文本编辑器,有很多整洁的功能,但也有点难以掌握)
在IDE部门(意味着一些构建工具集成,通常还有一些代码完成和代码的语义分析(检测变量、类等,可以为它们链接到dox):
- Geany(轻量级IDE,不过是一个带有"构建"按钮的增强型文本编辑器)
- NetBeans(IDE大小一般,质量一般,IMO)
- Eclipse(中等大小的IDE,易于使用,即适合小型项目,例如学校作业)
- Qt Creator(一般到大型IDE,主要用于处理Qt)
- 代码::块(IDE大小一般,质量一般但还可以,IMO)
- KDevelop(一个IDE有点重,但总体功能很好,代码完成度是我见过的最好的,它像租来的骡子一样胜过Intellisense for C++)
当然,这只是一个部分列表,只包括那些我接触过或听过很多的人。可能还有很多其他的。
有没有某种类型的"程序员记事本"可以帮助实时自动格式化,或者我必须使用标准IDE来实现这一功能?
我上面在"文本编辑器"部门列出的所有应用程序都支持这种功能(但我不能100%确定Gedit,因为它有点基础,我不太使用它,因为我不喜欢它)。从文本编辑器到IDE编写代码的唯一主要飞跃是代码完成/后台解析器,即"Intellisense"类型的功能,包括关于类或函数的工具提示文档。你不能在文本编辑器中获得它,因为它必须了解你的构建配置(例如,你的cmake文件或等效文件),才能知道从哪里提取头,才能"理解"你的代码,而不仅仅是琐碎的语法规则、关键字和缩进。
大多数linux开发人员是否使用基本的文本编辑器手动格式化代码?
没有。但这是一个多样化的世界。有些人喜欢基本的文本编辑器,其中的自动缩进与您获得的一样多,而另一些人更喜欢功能丰富的IDE,还有一些人根据颜色主题的外观来选择他们的文本编辑器。)
顺便说一句,还有非常强大的命令行代码格式化程序,如clang format,它可以以更智能的方式重新格式化代码,因为它有一个真正成熟的C++编译器前端来解析代码。
据我所知,gedit支持自动缩进,请尝试编辑->首选项->编辑器并选中"启用自动缩进"。
然而,就我个人而言,我建议你使用VIM,一个专业的文本编辑器,尽管它并不适合所有人。Vim不是一个IDE,只是一个文本编辑器,但它非常强大。
如果vim目前看起来太多了,我认为kate比gedit更好。
- C++我的数学有什么问题,为什么我的代码不能正确循环
- 代码在main()中运行,但在函数中出现错误
- 在VS代码中交叉编译Windows与Linux上的MinGW的SDL程序
- 编译包含字符串的代码时遇到问题
- 为什么EclipseCDT代码格式化程序有时会在模板参数中引入空格
- Vscode 自动格式化代码在运行几次后停止工作
- 解锈化代码格式化程序删除C++单行中的空格
- 如何重新格式化我的代码以使用数组
- OPENCV解码灰色代码模式相机校准错误.如何格式化固有和外在结果
- 可以处理复杂列对齐的代码格式化程序
- 是否可以使用一行代码从 std::cin 中提取格式化输入
- WXSTRING:是否有使用类似Python3的占位符实现字符串格式化的C/C 代码
- 如何在 Emacs 中自动格式化代码,就像在 Netbeans IDE 中一样
- 防止CLion在右大括号上重新格式化代码
- 如何在视觉助手 X 中格式化代码
- C++代码自动格式化
- 如何为代码块禁用Eclipse CDT代码格式化程序
- C++将格式化的代码复制到单词(如视觉助手)
- 如何在emacs中自动格式化(而不仅仅是自动缩进)c++代码
- Visual studio C++插件,它按照一些规则格式化代码