【问题标题】:Auto-indent in Notepad++Notepad++ 中的自动缩进
【发布时间】:2010-09-29 13:43:06
【问题描述】:

我们总是这样写正式的代码:

void main(){
  if(){
    if()
    }

但是当我使用Notepad++时,显示是:

void main(){
if(){
if()
}

如何使用 Notepad++ 自动缩进?

感谢Jonathan,我已经设置好了,但是没有任何效果。截图如下:

我使用的是 Notepad++ 5.1.3 版。

【问题讨论】:

    标签: notepad++ indentation code-formatting


    【解决方案1】:

    您可以添加“Text FX Character”插件。从https://sourceforge.net/projects/npp-plugins/files/TextFX/ 下载并安装通过

    Plugins → Plugin Manager → Show Plugin Manager.
    

    然后你会发现一个新的“TextFX”菜单:

    Menu TextFX → TextFX Edit → Reindent C++ code
    

    为缩进添加快捷方式

    点击SettingsShortcut Mapper...设置你喜欢的快捷键。我更喜欢 Ctrl + =

    【讨论】:

      【解决方案2】:

      尝试保存之前的文件,然后它会缩进。

      【讨论】:

      • 可能是评论!
      • 你能详细说明一下吗?
      【解决方案3】:

      对于使用 7.8.5 版本的用户,自动缩进设置现在位于“设置”->“首选项...”->“自动完成”。

      【讨论】:

        【解决方案4】:

        首先下载插件管理器this link,然后解压缩zip文件夹并将其复制到您的程序/记事本++文件夹中。然后重新启动记事本++。然后你会在插件菜单中看到插件管理器。然后单击插件管理器,然后单击显示插件管理器。它显示了你所有的插件列表。从底部的列表中找到 XML 工具,检查并安装它。然后重新启动记事本++。打开一个文档然后plugins/xml tools/pretty plain(indent text) 然后享受。

        【讨论】:

          【解决方案5】:

          对于使用 Notepad++ v6.8.1 及更高版本的用户,自动缩进设置现在位于菜单 SettingsPreferencesMISC。自动缩进

          【讨论】:

            【解决方案6】:

            安装 Tidy2 插件。我有 Notepad++ v6.2.2,到目前为止 Tidy2 运行良好。

            【讨论】:

              【解决方案7】:

              这可能看起来很愚蠢,但在最初的问题中,Turion 正在编辑一个纯文本文件。确保从“语言”菜单中选择正确的语言

              【讨论】:

                【解决方案8】:

                一点更新:您可以跳过 TextFX 插件,直接使用 Tidy2。在这里,您可以为不同类型的代码配置自己的格式化规则。易于安装和拆卸

                Notepad++ > 插件 > 插件管理器 > 显示插件管理器

                然后搜索 Tidy2 并安装它。完成。

                【讨论】:

                【解决方案9】:

                试试 Notepad++ 的 UniversalIndentGUI 插件。它根据一些参数重新缩进代码。对我来说效果很好。

                【讨论】:

                • 请注意,该链接直接指向下载。网址是:universalindent.sourceforge.net。此外,这似乎是一个用于配置重新格式化工具的 GUI,而不是自动正确格式化文本以开始。
                【解决方案10】:

                似乎至少有一个自动格式化 XML 的选项。可以在TextFX -> TextFX HTML Tidy -> Tidy: reindent XML找到。

                【讨论】:

                • 你需要 TextFx 插件
                【解决方案11】:

                大多数文本编辑程序的开发者都滥用这个名称(自动缩进)。正确的名称是“保持缩进”。自动缩进是你真正想要的,但它没有实现。

                我也想在 Notepad++ 中看到这个功能。

                【讨论】:

                  【解决方案12】:

                  在 6.6.8 版本中,我从 Plugins > Plugin Manager > Show Plugin Manager 安装了 NppAutoIndent 插件。 然后我在 Plugin > NppAutoIndent 中选择了 Smart Indent 选项。希望这会有所帮助。

                  【讨论】:

                    【解决方案13】:

                    如果 TextFX 菜单不存在,您需要下载并安装插件。 Plugins->Plugin Manager->Show Plugin Manager 然后检查插件TextFX Characters。点击“安装”,重启 Notepad++。

                    在 Notepad++ v6.1.3 版本中,我解决了: Plugin Manager->Show Plugin Manager** 然后勾选插件“Indent By Fold”

                    【讨论】:

                    • 折叠缩进很棒。它适用于任意格式(XML、C/++/# 等)这一事实非常棒。唯一的问题是“撤消”堆栈。使用时,如果您希望撤消到缩进之前的某个点,则必须通过 every 行重新缩进来撤消,因为它不会作为单个命令添加到堆栈中。基本上,在处理 long 文件时要小心。
                    • 嗨@Dan 撤消问题似乎已在较新版本的 indent by fold 中得到修复...
                    • 是的,它不存在,也没有插件管理器。
                    【解决方案14】:

                    你可以使用'Indent by fold'插件。从插件管理器安装它。对我来说效果很好。

                    【讨论】:

                    • 按折叠缩进很棒,除了它只按折叠缩进;)在您缩进列表初始化的情况下,除非语言使用折叠字符来分隔初始化程序,否则它将结束向上取消缩进。一个例子是在 PHP 中使用array( ... ) 初始化多行数组,其中() 是非折叠的。
                    【解决方案15】:

                    如果您手动缩进块中的第一行,Notepad++ 只会自动插入后续缩进;否则你可以在事后使用TextFX > TextFX Edit > Reindent C++ code重新缩进你的代码。

                    【讨论】:

                    • 如果您的版本缺少 DLL,您可以从 ZIP 5.9.0 版本中获取它。某些较新的版本不包含此 DLL。 notepad-plus-plus.org/download/v5.9.0.html
                    • 我实际上是在寻找格式化 javascript 代码的方法时发现了这一点。事实证明,这也适用于 .js 文件!
                    • @Fostah:您还可以通过 >Plugins>Plugin Manager>Show Plugin Manager 安装“Text FX Character”
                    • @scronide,这个有快捷键吗?
                    • 请注意,尽管有名称,但它也绝对正确地重新缩进了我试图修复缩进的 javascript 代码。没有理由我会期望它不会,只是提一下,因为名称 相当具体。不知道为什么那个库的作者觉得他必须特别偏爱 C++...:D
                    【解决方案16】:

                    在最新版本(至少)中,您可以通过以下方式找到它:

                    • 设置(菜单)
                    • 首选项...
                    • MISC(标签)
                    • 左下角复选框列表
                    • 自动缩进”是该组中的第二个选项

                    [EDIT] 不过,我认为它并不是最好的自动缩进实现。因此,请检查以确保您拥有 5.1 版——自动缩进最近进行了大修,因此它会自动更正您的缩进。


                    还请注意,您错过了第二个if 的块:

                    void main(){
                      if(){
                        if() { }  # here
                      }
                    }
                    

                    【讨论】:

                    • 请注意,Notepad++ 中的自动缩进设置假定您手动执行块中的第一个缩进;它不会为您自动格式化代码。
                    • 我刚刚明白你的意思,请原谅我可怜的Eng...我的母语是中文...
                    猜你喜欢
                    • 1970-01-01
                    • 1970-01-01
                    • 2011-06-20
                    • 1970-01-01
                    • 2010-09-12
                    • 2011-12-13
                    • 2011-10-30
                    • 1970-01-01
                    • 1970-01-01
                    相关资源
                    最近更新 更多