2

我最近为我在学校的 c++ 课程安装了 Visual Studio 2010。我非常习惯在 netbeans 和 eclipse 中使用 emacs 方案,它硬连接到我的大脑中,热键。

令我沮丧的是,在为 Visual Studio 2010 安装了 emacs 方案(扩展名)之后,还通过工具 -> 选项 -> 键盘启用了键盘映射,自动缩进停止工作,这让我抓狂。

我问我的老师,他不知道,因为他甚至不使用 emacs。我已经通过工具 -> 选项 -> 文本编辑器 -> 所有语言 -> 选项卡检查了自动缩进确实是打开的。在这里,我将“缩进”设置得太聪明了,基本上只是设置了它。好吧,我按okkey,什么也没发生,当我再次检查时,它已被禁用。它不会保存看起来的更改,或者 emacs 将其设置回默认值。所以基本上当我尝试通过“所有语言”启用自动缩进时,它会在按下 okey 后重置。

但是,如果我检查工具 -> 选项 -> 文本编辑器 -> C/C++(而不是上面的所有语言),缩进设置为智能,但它不会影响编辑器,仍然没有自动缩进。

我希望任何人都经历过这种情况,并且可以在我的情况下提供帮助,将不胜感激。使用箭头键移动对我来说是一件痛苦的事情。

4

2 回答 2

3

您描述的行为是设计使然。Emacs 不会自动缩进新行。一旦你按下回车,一个新行被添加到缓冲区中,插入符号被放置在新行的第一列。我们自动关闭自动缩进选项来模仿 Emacs 的行为。

请注意,您可以在空行上按 Tab 以自动缩进该行并将插入符号自动移动到正确的列。

Ray 指出的问题已经修复,您拥有的扩展副本应该已经修复。我已联系负责该页面的项目经理以更新该页面并更新“已知问题”部分。

感谢您尝试扩展!如果您遇到问题,请随时在http://connect.microsoft.com/visualstudio打开缺陷

于 2010-09-08T21:48:33.647 回答
2

使用键绑定CTRL + J而不是Enter. 它势必

Edit.EmacsBreakLineIndent

插入一个新行并缩进它,这与 Emacs 中的行为相同。

它似乎还通过在花括号 {} 之后适当缩进来支持“智能”缩进(至少它在安装了 ReSharper 的 VS C# 文本编辑器中对我有用。)

于 2010-09-10T17:01:12.220 回答