54

我正在尝试让 gedit 自动缩进我的代码。首选项中的自动缩进复选框不起作用。有没有办法让 gedit 自动缩进代码?(顺便说一句,我只关心 C++ 缩进。我不需要任何其他语言的缩进。)

4

4 回答 4

37

gedit has an auto indentation feature, go to

Edit -> Preferences -> Editor -> 3rd line

于 2012-11-06T20:00:45.133 回答
27

gedit 的“智能文本完成”插件完全符合您的描述: https ://github.com/nymanjens/gedit-intelligent-text-completion

对于那些试图了解如何将文件复制intelligent_text_completion.plugin到的intelligent_text_completion.py.local/share/gedit/plugins,请执行以下操作:

user@example:~/.local/share$ cd ~/.local/share/
user@example:~/.local/share$ mkdir gedit
user@example:~/.local/share$ cd gedit/
user@example:~/.local/share/gedit$ mkdir plugins
user@example:~$ cp intelligent_text_completion.plugin intelligent_text_completion.py ~/.local/share/gedit/plugins/
于 2012-02-18T15:00:15.057 回答
18

这是另一种解决方法,您可以使用 vim 从 Gedit 中自动缩进和自动格式化您的代码。

首先确保安装了vim。接下来,从“工具”菜单中将“外部工具”添加到 Gedit 并使用以下代码:

#!/bin/sh
CMD_FILE_NAME=.formatcommand;
TMP_FILE_NAME=.tempvimfile;
touch $CMD_FILE_NAME&&echo "gg=G :wq! "$TMP_FILE_NAME > $CMD_FILE_NAME&&(vim $GEDIT_CURRENT_DOCUMENT_NAME -s $CMD_FILE_NAME > /dev/null 2>/dev/null)&&rm $CMD_FILE_NAME;
cat $TMP_FILE_NAME
rm $TMP_FILE_NAME

还要确保:

  • “保存”设置为“当前文档”。
  • “输入”设置为“无”。
  • “输出”设置为“替换当前文档”。

你也可以设置一个热键,我更喜欢 Alt+Shift+F 像 Netbeans。现在,无论何时按下热键,当前文件都会被保存并自动格式化。

鉴于文件的扩展名是正确的,这将适用于任何编程/脚本语言

如果您没有将缩进放入filetype indent on文件中~/.vimrc,它将起作用。

更多详情请查看我的个人博客

于 2012-06-07T14:02:26.000 回答
4

Ubuntu 16.04 和 Gedit

  1. 激活外部工具插件

    编辑 → 首选项 → 插件 → 外部工具

  2. 管理外部工具

    工具 → 管理外部工具

  3. 添加工具

    • 单击“管理外部工具”窗口+左下方的按钮
    • 您可以将新工具重命名为您喜欢的任何名称,例如JSON Formatter
    • 请参考下图并进行相应设置

    管理外部工具屏幕截图

于 2017-02-25T07:51:29.687 回答