VS2008在.js文件中自动执行我的javascript,我希望它停止

时间:2009-03-05 22:41:29

标签: javascript visual-studio-2008 resharper

重复:VS2008 Removes my Indentation in .js file(在格式化标签中关闭自动格式化)

嗨我有VS2008和ReSharper 4.0,我遇到了问题。当我在任何.js文件中输入新的代码行时,它会直通并重新格式化所有的JavaScript括号。我在ReSharper中找到了可以为C#(。cs)文件设置大括号行为的地方。我在VS2008中搜索过,找不到任何JavaScript代码设置。

    function doSomething(withMe) 
    {
        for (idx in myArray) 
        {
            if (myArray[idx] != -1) 
            {
                return "yep";
            }
        }
        return "nope";
    }

成为这个(我更喜欢,但我的团队喜欢上面的那个)

    function doSomething(withMe) {
        for (idx in myArray) {
            if (myArray[idx] != -1) {
                return "yep";
            }
        }
        return "nope";      
    }

回到任何地方并重新添加CR会变得很痛苦。我在哪里可以找到让这种疯狂停止的设置。

2 个答案:

答案 0 :(得分:7)

转到工具 - >选项。

展开文字编辑器

展开JScript

取消选中所有格式选项。

alt text

答案 1 :(得分:4)

对于javascript,你应该养成将你的大括号放在行尾的习惯,就像visual studio建议的那样。这样做的原因是,口译员偶尔可以添加;解释文件时可能导致奇怪的行为。例如:

return
{
    'foo': 3
};

这会返回undefined,而不是您期望的散列文字,因为解释器将其转换为:

return;
{
    'foo': 3
};

你可能认为我正在做这件事。我保证你不是。

我建议你教育你的团队并养成按照VS建议格式化你的javascript的习惯。它会让你远离自己。


另外,另一件事。而不是做:

myArray[idx] != -1

我建议你这样做:

myArray[idx] !== -1

这将阻止它进行类型强制。事实上......永远不要使用==或!=总是使用===和!==。