- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
最近我使用了很多代码生成,通常与部分类结合使用。基本上设置如下:
问题是,当我使用诸如“生成方法”之类的 Intellisense 功能时,出于某种原因,它们是在包含生成代码的文件中生成的。显然我不希望这样。
我的问题是:是否可以生成一些提示,告诉 Intellisense 它不应该触及某些“cs”文件(而是其他部分类)?
更新
回想起来,我应该注意到我正在使用自定义工具来生成代码。它不是 EF 或简单的转换;代码生成涉及相当多的逻辑。此外,它还生成带有部分类的完整命名空间和类结构。通过从 csproj
文件中提取“根命名空间”,然后使用文件夹结构找出绝对命名空间(这类似于 Linq2sql 的做法)。
xanatos(谢谢!)建议的答案有效:intellisense 对名称的操作进行排序,然后按字母顺序对名称进行排序,然后选择列表中的第一项。这意味着您可以生成一个 zzzz.foo.cs
,它(虽然有点难看)可以正常工作。我刚刚进行了一些实验,发现 查找所有引用
功能返回 VS 似乎使用的顺序。事实证明,它是这样工作的:
假设您有一个自定义工具,可以处理文件名 foo.bar
并将其转换为 foo.cs
。自定义工具将生成字符串形式的内容并将其传回 Visual Studio(这就是自定义工具的工作方式......)。结果将在名为 foo.cs
的文件中。
现在,我很惊讶地发现 Intellisense 不将它排序为 foo.cs
而是 foo.bar\foo.cs
。换句话说:无论您在自定义工具中如何命名“cs”输出,您都必须将基本文件 foo.bar
重命名为类似 zoo.bar
的名称。
虽然这可能是一种解决方法,但我不愿意接受它作为答案,因为我将不得不为我的项目中的文件提供奇怪的名称(名称具有含义...)。此外,我的一些自定义工具依赖于它们的文件名,所以这也会被破坏......
因此,我仍然愿意就如何正确解决此问题提出建议。
最佳答案
从我在 VS2013 中完成的一个简单测试来看,Visual Studio 2013 似乎将该方法添加到他在解决方案资源管理器中找到的“第一个”文件中。因此,您可以简单地将 .something.cs
添加到您的文件名中,例如 MyClass.generated.cs
与 MyClass.cs
。请注意,VS2013 似乎正在使用“完整路径”,路径顺序基于名称。所以:
Z\MyClass.cs
在之后
MyClass.generated.cs
(并且 Intellisense 会将代码放入 MyClass.generated.cs
),即使在解决方案资源管理器中所有文件夹都排在第一位。
完整示例:
A\MyClass.gen3.cs
MyClass.gen2.cs
Z\MyClass.gen1.cs
这应该是 Intellisense“看到”的顺序,因此它将把新类放在 A\MyClass.gen3.cs
中。
关于c# - 向 IntelliSense 提供不应修改分部类的提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35629615/
我现在选择Objective-J Cappuccino开发的编辑器是Sublime Text2。不幸的是,我没有找到Objective-J智能感知自动完成插件的运气。似乎应该可行,因为Objectiv
我想在 VSCode 中使用代码片段。但是,当我在 javascript 文件中键入 for 时,Intellisense 不会建议片段“for-loop” - 我需要手动滚动下拉列表并选择它。有没有
我正在 VisualStudio 中编写一个 dll。该库包含两个名称相同但 namespace 不同的类。 public namespace XCharting { public class
我们正在使用 MVVM Light Toolkit(来自 Galasoft - Laurent Bugnion)。 到目前为止,我们使用的是 Visual Studio 2010。 一切都运行良好(感
我们目前正在 Blend 3 中构建 WPF 解决方案,Intellisense 非常慢。 Visual Studio 2008 和 2010 beta 2 没有任何问题,Blend 2 也没有任何问
我正在为 Visual Studio Code 中的自定义语言编写扩展。语法检测通过 tmLanguage 文件运行良好。我试图弄清楚如何添加智能感知并转到符号支持,我既无法找到清晰的文档,也无法找到
/// <reference path="jquery-1.5.vsdoc.js" /> // IntelliSense works here. function ($, window, doc
我正在尝试为示例 Backbone.js 项目安装 TypeScript 定义。 在项目目录中,我发出了以下命令: npm init npm install typings typings insta
我最近通过 Web 平台安装程序安装了 ASP.NET MVC 3。我在 Razor View 中没有对 ViewBag 的智能感知支持。 Intellisense 适用于 Razor View 中的
我不想在 Visual Studio Code 中对 Markdown 文件进行单词补全,如何禁用它?理想情况下,仅适用于 Markdown,但在最坏的情况下,即使是全局切换也会很好。 最佳答案 VS
我有 VS 2012 的 RTM 版本,它很棒 - 但是 CSS 编辑器中的 VS11 中的智能感知不建议参数信息,但是......其他的东西,我不太确定那实际上是什么,它看起来像一些样本。 需要明确
我在 js 文件中添加了 vsdoc jquery 引用: /// 这工作得很好,但是一旦我在一个无冲突的包装器中写入内部... (function ($) { ...here... })(jQue
烦人的废话。我正在使用 VS 2012;我安装了 ReSharper 和 StyleCop (SC)。如果在一行代码上启用了 StyleCop 警告,除非修复它,否则我无法摆脱它。我想稍后处理 SC
我在 PPT 2013 中的“彩色参数帮助”功能有问题。 http://visualstudiogallery.msdn.microsoft.com/dbcb8670-889e-4a54-a226-a
在 javascript 上下文中查看异步模块定义 (AMD) 后,我想知道如何在 Visual Studio 2010 中为依赖模块获取智能感知。 例如给定模块A: define(function(
我有一个问题:我想将我的 Visual Studio 2012 的 UI 设置为默认(英语)语言,但我还希望有关 .NET 类型的 IntelliSense 提示以另一种语言显示。在 Visual S
可以去Resharper -> Options -> IntelliSense -> General吗并使用 Resharper 5 中的命令从 Resharper 切换到 Visual Studio
使用 Visual Studio 2015 Community edition 它会针对以下内容标记错误: { "type": "Microsoft.Compute/virtualMachi
我无法在Visual Studio 2017中找到该选项。我知道您可以更改正在编写的代码的字体,但是看不到IntelliSense的选项使我认为这是不可能的。 最佳答案 工具–选项–环境–字体和颜色>
我看过相关问题 Intellisense for custom config section problem with namespaces它描述了我遇到的同样问题。虽然解决方案对我不起作用。 我在这
我是一名优秀的程序员,十分优秀!