我在Visual Studio 2012中发现了这个恼人的问题,其中IDE没有折叠包含Ajax特定语法的JavaScript函数。
如果您将VS2012置于 .cshtml 文件中,则以下代码将不允许您折叠具有jquery语法的函数:
VS 2012示例代码
function HelloWorld()
{
}
function GoodByeWorld()
{
}
function UpdatePatientDiagnosis()
{
if (ValidateDiagnosisFields() == false)
return;
var request = $.ajax({
type: "POST",
url: "@Url.Action("AjaxUpdatePatientDiagnosis", "Referral")",
data: "{ CodeTypeId : \"" + $("#DiagnosisCodeType_Description option:selected").val() + "\"," +
" Code: \"" + $("#Diagnosis_Code").val() + "\"," +
" Description : \"" + $("#Diagnosis_Description").val() + "\" }",
contentType: "application/json; charset=utf-8",
dataType: "text"
});
request.done(function( msg )
{
// Saves the rest of the form.
$('#btnPatientSave').click();
});
request.fail(function( jqXHR, textStatus )
{
ShowMessagePopup("Error", "An error occurred trying to update diagnosis.");
});
}
以下是VS 2012中示例代码的屏幕截图
但是,如果您使用相同的示例代码并将其放在VS 2010中的Web文件中,它就会崩溃。这是一个屏幕截图,显示它已折叠:
无论出于何种原因,VS 2012 IDE都不喜欢 request.done 和 request.fail 的语法。
这只是非常讨厌,因为我正在开发一个拥有数千行JS函数的项目,而且我无法折叠那些具有这种特定jquery语法的项目。有关如何在VS2012中对其进行重组以使其正常工作的任何建议吗?我在VS 2013中进行了测试,它也遇到了同样的问题。
答案 0 :(得分:0)
Ctrl + M,Ctrl + O折叠功能正文