问题标签 [auto-indent]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1297 浏览

eclipse - 如何使自动缩进在 Eclipse 中为 jsp/jsf/xhtml 页面工作?

我正在使用带有 WTP 的 Eclipse Helios。我想让 eclipse 自动缩进 jsf 页面。Eclipse 不能正确地做到这一点,我没有找到任何可以配置我想要的地方。

错误的自动缩进示例

我发现的唯一配置是在 Preferences -> XML -> Editor 中,只有少数几个选项没有说split new elements on a new line尽管它在新行上具有无用的拆分属性

目前我是 jsf + richfaces,但是这个问题存在,因为 jsp 是 web 堆栈的顶部。

0 投票
5 回答
2452 浏览

python - 在 Word 中自动缩进包装的 Python 代码

我正在与 Microsoft Word 搏斗以正确显示我的 Python 代码,并且需要一些帮助。

我正在尝试将大量 Python 脚本粘贴到 Microsoft Word 中,并在代码片段周围编写文档文本。其中一些 Python 代码片段只有几行,而另一些则超过一页。由于该文档现在大约有 500 页长,因此大约有 200 个片段块散布在整个文档中。

我有一个为片段创建的字体样式。所以我可以一次更改所有字体的字体大小、颜色、样式等。但是我在自动换行方面遇到了很大的问题。Python 中的长语句被包裹在 word 中,这使得它们难以阅读,因为缩进丢失了。我能够使用“悬挂缩进”成功缩进 1 级换行。但是我不能对 2 级或 3 级缩进做任何事情,因为嵌套的东西会进一步缩进。

示例(我使用点而不是空格,因为它不断删除它们)

想象一下,每条语句都相当长,并被包装到单词页的下一行。我明白了

我怎样才能用word解决这个问题?悬挂缩进将修复 1 级缩进(if 条件中的语句),但不能修复 2 级缩进(for 循环中的语句)

注意:我想在 word 中使用某种选项、插件或宏。我无法使用代码编辑器并以 rtf 或其他格式复制和粘贴代码。即使我这样做了 200 次来替换我所有的代码片段,当我更改文档中的字体大小时,一切都会再次变得混乱。另一种选择是一些 IDE,它嵌入或链接到 word 中(无需复制和粘贴),并允许在其自己的环境中更改字体样式和大小,这将在 Word 中的所有出现时自动更新。

如果可以的话请帮忙。我像疯了一样搜索,没有发现任何有用的东西......

0 投票
1 回答
902 浏览

visual-c++ - 调整 NppAutoIndent,还是有一个很好的可定制替代方案?

我最近开始使用 Notepad++ 的 NppAutoIndent 插件,并且对智能缩进模式相当满意,但我发现它缺乏可定制的首选项很烦人,因为我想调整智能缩进模式下的一些行为/调整。我考虑过修改插件的源代码并重新编译它以尝试获得我想要的行为,但我有 Visual Studio 2010 并且该插件的项目似乎是一个 VS 2003 项目,因为我是一个完整的初学者使用Visual Studio for C/C++ 项目我什至不知道从哪里开始处理将项目转换为 VS 2010 时给出的一些警告。

简而言之:NppAutoIndent 插件是否有更可定制的替代方案,或者是否有更好的方法来更新 VS 2010 的源项目?

更新:

这是大多数警告。其中很多似乎并不重要,但我不确定哪些可能需要注意。

  • 由于 C/C++ 编译器的异常处理开关发生了变化,因此 /EHsc 在此项目中已自动转换为 /EHa。
  • 完成转换为新项目文件“C:[...]\NppAutoIndent\project\NppAutoIndent.vcxproj”。
  • 由于 Visual C++ 项目需要生成嵌入式(默认情况下)Windows SxS 清单,项目中的清单文件现在使用清单工具自动构建。您可能需要更改构建以使其正常工作。例如,建议将任何清单文件中包含的依赖信息转换为源代码中包含的头文件中的“#pragma comment(linker,"")”。如果您的项目已经通过资源 (.rc) 文件在 RT_MANIFEST 资源部分中嵌入了清单,则可能需要先注释掉该行,然后才能正确构建项目。
  • 由于 C++ 编译器中的一致性更改,可能需要更改代码才能构建项目而不会出现错误。以前版本的 C++ 编译器允许通过成员函数名称(例如 MemberFunctionName)指定成员函数指针。C++ 标准要求使用地址运算符的完全限定名称(例如&ClassName::MemberFunctionName)。如果您的项目包含在 Windows 窗体设计器中使用的窗体或控件,则您可能必须更改 InitializeComponent 中的代码,因为设计器生成的代码在委托构造中使用了不一致的语法(用于事件处理程序)。
  • 此应用程序已更新为包括与 Windows Vista 的用户帐户控制 (UAC) 功能相关的设置。默认情况下,当在启用了 UAC 的 Windows Vista 上运行时,此应用程序被标记为使用与启动它的进程相同的权限运行。此标记还禁止应用程序使用虚拟化运行。您可以从项目的属性页更改 UAC 相关设置。
  • 此版本不支持“VCCLCompilerTool”的属性“Detect64BitPortabilityProblems”,并且在转换过程中已将其删除。
  • 不再支持 VCWebServiceProxyGeneratorTool。该工具已从您的项目设置中删除。
  • C/C++ 编译器开关 /Og 已被弃用,并已从您的项目设置中删除。建议您改用 /O1 或 /O2。
  • VCConvertEngine 无法在工具 VCCLCompilerTool 下转换属性 GlobalOptimizations = TRUE。
  • 此版本不支持“VCCLCompilerTool”的属性“Detect64BitPortabilityProblems”,并且在转换过程中已将其删除。
  • 此版本不支持“VCLinkerTool”的属性“OptimizeForWindows98”,在转换过程中已将其删除。
  • VCConvertEngine 无法在工具 VCCLCompilerTool 下转换属性 GlobalOptimizations = TRUE。
  • 此版本不支持“VCCLCompilerTool”的属性“Detect64BitPortabilityProblems”,并且在转换过程中已将其删除。
  • 此版本不支持“VCLinkerTool”的属性“OptimizeForWindows98”,在转换过程中已将其删除。
  • 此版本不支持“VCCLCompilerTool”的属性“Detect64BitPortabilityProblems”,并且在转换过程中已将其删除。
  • MSB8012:$(TargetName) ('NppAutoIndent') 与项目配置 'Debug|Win32' 中链接器的 OutputFile 属性值 '..\build\NppAutoIndentA_D.dll' ('NppAutoIndentA_D') 不匹配。这可能会导致您的项目构建不正确。要更正此问题,请确保 $(TargetName) 属性值与 %(Link.OutputFile) 中指定的值匹配。
  • MSB8012:$(TargetPath) ('C:[...]\NppAutoIndent\project..\build\Debug\NppAutoIndent.dll') 与链接器的 OutputFile 属性值 '..\build\NppAutoIndentA_D.dll' 不匹配( 'C:[...]\NppAutoIndent\build\NppAutoIndentA_D.dll')在项目配置“调试|Win32”中。这可能会导致您的项目构建不正确。要更正此问题,请确保 $(TargetPath) 属性值与 %(Link.OutputFile) 中指定的值匹配。
  • MSB8012:$(TargetName) ('NppAutoIndent') 与项目配置 'Release|Win32' 中链接器的 OutputFile 属性值 '..\build\NppAutoIndentA.dll' ('NppAutoIndentA') 不匹配。这可能会导致您的项目构建不正确。要更正此问题,请确保 $(TargetName) 属性值与 %(Link.OutputFile) 中指定的值匹配。
  • MSB8012:$(TargetPath) ('C:[...]\NppAutoIndent\project..\build\Release\NppAutoIndent.dll') 与链接器的 OutputFile 属性值 '..\build\NppAutoIndentA.dll' 不匹配( 'C:[...]\NppAutoIndent\build\NppAutoIndentA.dll')在项目配置'Release|Win32'中。这可能会导致您的项目构建不正确。要更正此问题,请确保 $(TargetPath) 属性值与 %(Link.OutputFile) 中指定的值匹配。
  • MSB8012:$(TargetPath) ('C:[...]\NppAutoIndent\project..\build\Release Unicode\NppAutoIndent.dll') 与链接器的 OutputFile 属性值 '..\build\NppAutoIndent.dll' 不匹配('C:[...]\NppAutoIndent\build\NppAutoIndent.dll') 在项目配置'Release Unicode|Win32'中。这可能会导致您的项目构建不正确。要更正此问题,请确保 $(TargetPath) 属性值与 %(Link.OutputFile) 中指定的值匹配。
  • MSB8012:$(TargetName) ('NppAutoIndent') 与项目配置 'Debug Unicode|Win32' 中的链接器的 OutputFile 属性值 '..\build\NppAutoIndent_D.dll' ('NppAutoIndent_D') 不匹配。这可能会导致您的项目构建不正确。要更正此问题,请确保 $(TargetName) 属性值与 %(Link.OutputFile) 中指定的值匹配。
  • MSB8012:$(TargetPath) ('C:[...]\NppAutoIndent\project..\build\Debug Unicode\NppAutoIndent.dll') 与链接器的 OutputFile 属性值 '..\build\NppAutoIndent_D.dll' 不匹配('C:[...]\NppAutoIndent\build\NppAutoIndent_D.dll') 在项目配置“调试 Unicode|Win32”中。这可能会导致您的项目构建不正确。要更正此问题,请确保 $(TargetPath) 属性值与 %(Link.OutputFile) 中指定的值匹配。
0 投票
3 回答
3671 浏览

vim - vim - 设置自动缩进以用空格或制表符填充前导空格

似乎如果我们启用 'ai',vim 会用制表符填充前导空格。我可以用'et'让它填充空间。我不喜欢混有空格和制表位的 C 文件。

我的 vimrc:

但是,在某些情况下,当我在键盘上点击“TAB”时,我确实需要输入制表符,例如,在 makefile 和其他一些情况下。'autocmd FileType' 命令不好:我不能在 vimrc 中添加所有文件类型。

我想要的很简单

  1. 自动缩进以用空格填充前导区域;
  2. 当在键盘上点击“TAB”时,制表符输入,而不是空格(所以没有“et”)

怎么做?

0 投票
1 回答
719 浏览

emacs - 如何修复 C++ 初始化程序的 emacs 缩进?

Emacs 没有正确缩进具有带有冒号的初始化程序的分配器的 C++ 类定义。我认为这是因为在许多情况下,带有冒号的行是左缩进的。

我想解决这个问题。

这是我正在谈论的一个例子。

EMACS 像这样缩进代码:

但它真的应该像这样缩进:

有没有办法解决这种行为?大概我们需要一些省略号...

谢谢!

0 投票
4 回答
137824 浏览

eclipse - Eclipse中Ctrl+Shift+F和Ctrl+I的区别

我一直使用Ctrl++来纠正缩进,但我听说还有另一个捷径可以做到这一点:Shift+FCtrlI

根据在 google 中找到 的参考资料Ctrl, ++是重新格式化, Shift+是正确缩进。FCtrlI

它们之间有什么区别吗?或在重新格式化和正确缩进之间?

0 投票
1 回答
815 浏览

ruby - 取消自动缩进

如果您将 irb 与自动缩进模式一起使用,则end语句会额外缩进一级

而不是显示普通的缩进约定:

因为您无法提前告诉 irb 您将在下一行中逃脱一个级别。这个问题已在此处此处等其他地方得到解决,但都没有给出令人满意的答案。他们只是建议放弃。

但是,如果我们可以最低限度地覆盖一些 irb 方法,以便自动缩进不会在提示区域而是在您键入的行的开头插入空格,那么默认情况下,irb 仍然会插入空格,但我们将能够用退格键擦除一些空格。这可能吗?

或者,如果这不现实,那么是否可以让 irb 从屏幕上擦除最后一行,并在您按 Enter 后立即以适当的缩进重新显示它,包括end

0 投票
4 回答
21162 浏览

javascript - 如何在 Aptana Studio 中自动缩进 JavaScript 代码?

以前我使用 Eclipse 进行 PHP 和 Java 开发,我喜欢Ctrl + i自动缩进代码的命令。

现在我正在使用基于 Eclipse 的 Aptana Studio 进行 JavaScript 开发。我想自动缩进我的 JavaScript 代码,但Ctrl + i会删除我的所有代码。在 Aptana Studio 中是否有任何其他自动缩进 JavaScript 代码的命令?

0 投票
1 回答
4968 浏览

php - PHP文件类型中HTML的Vim自动缩进不起作用

我已经使用 Vim 很长时间了,我从不担心自动缩进,而且它总是关闭。但现在我需要尝试自动缩进并启用它。

我有一个奇怪的问题,即 .php 文件中的 HTML 自动缩进无法正常工作。它确实适用于 .html 文件,但不适用于 .php 文件。我已经尝试了所有可以在 Google 或 Stack Overflow 上找到的解决方案。

我试过以下:

对我有用的唯一解决方案是以下,但它破坏了 php 自动缩进:

http://www.vim.org/scripts/script.php?script_id=604

Vim 版本为:VIM - Vi IMproved 7.2(2008 年 8 月 9 日,2010 年 9 月 28 日 07:11:04 编译)

这些是我打开 php 文件时加载的缩进脚本:

  • 47: /usr/share/vim/vim72/indent/html.vim
  • 48:/usr/share/vim/vim72/indent/php.vim

我也尝试了 spf-13 vim 包,但这也没有在 php 中缩进 html。

0 投票
1 回答
572 浏览

emacs - 在 Emacs 中使用 SmartTabs 的问题

我正在尝试在最新的 emacs-dev (bzr) 中smarttabs.el使用https://gist.github.com/188961 。尝试编译或加载它时出现错误:

这对我来说是全新的。我该如何纠正?

另请参阅http://www.emacswiki.org/emacs/SmartTabs了解包说明。