我最近在学校为我的c ++课程安装了Visual Studio 2010。我非常习惯在netbeans和eclipse中使用emacs方案,它很难连接到我的大脑,热键。
令我沮丧的是,在为visual studio 2010安装emacs方案(扩展程序)之后,还通过工具启用了键盘映射 - >选项 - >键盘,自动缩进停止工作,它让我疯了。
我问我的老师,他不知道,因为他甚至没有使用emacs。我已经检查过自动缩进确实是通过工具 - >选项 - >文字编辑器 - >所有语言 - >标签。在这里,我设置'Indenting'太聪明了,基本上只是设置它。好吧,我按下okey,没有任何反应,当我再次检查时,它已被禁用。它不会保存它看起来的变化,或者emacs将其设置回默认值。所以基本上当我尝试通过“所有语言”启用自动缩进时,它会在按下okey后重置。
但是,如果我检查工具 - >选项 - >文字编辑器 - > C / C ++(而不是上面的所有语言),缩进设置为智能,但它不会影响编辑器,仍然没有自动缩进。
我希望任何人都能体验到这一点,并且能够在我的情况下伸出援手,我将不胜感激。使用箭头键移动对我来说是一件痛苦的事情。
答案 0 :(得分:3)
您描述的行为是设计的。 Emacs不会自动缩进新行。按Enter键后,会在缓冲区中添加一个新行,并将插入符号放在新行的第一列上。我们自动关闭自动缩进选项以模仿Emacs行为。
请注意,您可以按空行上的标签自动缩进行并自动将插入符号移动到正确的列。
Ray指出的问题已经修复,您拥有的扩展程序副本应该有修复。我已联系负责该页面的程序经理更新页面并更新已知问题部分。
感谢您尝试扩展!如果您遇到问题,请随时在http://connect.microsoft.com/visualstudio
打开缺陷答案 1 :(得分:2)
使用键绑定 CTRL + J 而不是 Enter 。它必然会
Edit.EmacsBreakLineIndent
It inserts a new line and indents it在Emacs中是相同的行为。
在花括号{}之后,它似乎也支持"smart" indent适当缩进(至少在安装了ReSharper的VS C#文本编辑器中对我有帮助。)