我有 Visual Studio 2008 Professional,但在 ASP.Net 通用处理程序页面 (.ashx) 中展开和折叠方法代码块时遇到问题
我本以为你可以做同样的事情,就像在 .aspx 网页后面的代码中一样。
即使使用 VS 2008 Standard 和 VS 2005 Professional,我在其他机器上也遇到同样的问题。所有盒子都已完全修补(操作系统和 Visual Studio。)
有人对启用此功能有任何建议吗?
您可以强制 Visual Studio 忽略您正在使用的代码在前面的事实:
工具 |选项
并打开“文本编辑器 | 文件扩展名”选项卡。
为扩展“ashx”创建一个新条目,映射到编辑器“Microsoft Visual C#”(或“Microsoft Visual Basic”,根据您的喜好而定),然后“添加”它。
确定对话框,关闭并重新打开您的 ashx 文件,您的代码块将崩溃到您想要的内容,但 @ 指令将相当难看。
如果 .aspx 文件中有服务器端脚本(例如在网站项目中,并且您没有“将代码放在单独的文件中”),那么您也有同样的问题,那么您也无法折叠其中的类块。
在
App_Code
目录中创建一个类,ashx 文件只是引用该类...如下所示:
SomethingHandler.ashx:
<%@ WebHandler Language="C#" Class="SomethingHandler" %>
在
App_Code
文件夹中,我创建了带有 SomethingHandler.cs
类的文件
SomethingHandler
using System;
using System.Web;
// using blabla...
public class SomethingHandler : IHttpHandler
{
public void ProcessRequest(HttpContext c)
{
etc...
现在我可以打开 SomethingHandler.cs,使用 #region collapsing 编辑我的 C# 代码,因为 .cs 文件是在正确的编辑器中打开的:)
在 VS 2019 中测试。
只需选择一段代码,例如:
using System;
using System.Web;
using System.Web.Security;
using System.Collections.Generic;
using System.Configuration;
using System.Data.SqlClient;
using System.Data;
然后按“Ctrl+M+H”并Vualá...大纲现在正在工作...还有智能感知...
要停止大纲,请按“Ctrl+M+P”...
在第一行前面添加 ///。
像这样:
///<%@ WebHandler Language="C#" Class="FooBar"%>