代码之家  ›  专栏  ›  技术社区  ›  Jørn Schou-Rode dscher

是否可以告诉Visual Studio不要将源文件视为“组件”[[副本]

  •  25
  • Jørn Schou-Rode dscher  · 技术社区  · 15 年前

    可能重复:
    Is there an attribute I can add to a class so it will be edited as code, not in the designer?

    System.ComponentModel.Component 在Visual Studio(2008)中,它们的继承路径会自动视为“组件”,从而触发源文件的不同图标:

    虽然图标并不重要,但更改的双击行为确实令人讨厌:VisualStudio现在显示一个屏幕,鼓励我通过“从工具箱”中拖动组件向类中添加组件,而不是在文本编辑器中打开源代码。我不想那样做!

    3 回复  |  直到 5 年前
        1
  •  44
  •   Frederik Gheysels    15 年前

    你不能用这个吗 DesignerCategory 装饰你的班级?

    使用如下所示的属性装饰类时,双击该文件时,应在“代码视图”中打开该文件:

    [System.ComponentModel.DesignerCategory("Code")]
    public class MyComponent
    {
    }
    
        2
  •  5
  •   Oliver    15 年前

    问题更严重。如果查看项目文件,可以找到每个文件的条目,包括:

    <Compile Include="FormMain.cs">
      <SubType>Form</SubType>
    </Compile>
    

    因此,解决方案应该是删除该行 <SubType>...</SubType> 因为它似乎是所有问题的根源。但是如果删除这一行,保存文件,在Visual Studio中打开它,再次保存并再次查看,该行将重新出现!

    Visual Studio中似乎只有一个硬编码的异常,这就是*.Designer.cs。因此,没有办法解决这个问题。

        3
  •  0
  •   Christian Hayter    15 年前

    您可以右键单击源文件,选择“查看代码”,然后单击“设置为默认值”。这是一个有点钝的工具,但如果您的解决方案中有更多的虚假组件比真实组件,那么您可能会发现它很方便。