问题标签 [projectitem]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4696 浏览

envdte - 通过 DTE 按类型名称查找 ProjectItem

给定类型名称,是否可以使用 DTE 找到该类型所在的 ProjectItem?类似于Navigate To...Visual Studio 2010 中对话框的工作方式。

我能找到的最接近的是Solution.FindProjectItem,但这需要一个文件名。

谢谢!

0 投票
2 回答
728 浏览

visual-studio - 如何通过 DTE 监听 ProjectItem 的删除?

我有一个设计师,它依赖于其他解决方案项目的存在。如果其中一项被删除,设计器会崩溃,您必须将其编辑为 XML 才能修复。不完全是用户友好的。

但是,我确实有代表 Visual Studio 实例的 DTE 对象,以及我所依赖的 ProjectItems。

是否可以在 DTE 深处的某个地方注册一个侦听器以删除该 ProjectItem?如果是这样,我该怎么做?

0 投票
1 回答
1739 浏览

properties - 使用 EnvDTE.Property.set_Value 设置 ProjectItem FullPath 属性时出现问题

我有一个 Visual Studio 项目向导,它尝试配置 VC# 项目以覆盖模板中选定文件的 FullPath 属性。

以下代码在函数内部使用

public void ProjectFinishedGenerating(项目项目)

System.Reflection.TargetParameterCountException:参数数量无效。(来自 HRESULT 的异常:0x8002000E (DISP_E_BADPARAMCOUNT))在 EnvDTE.Property.set_Value(Object lppvReturn)

我知道我有一个有效的 ProjectItem 对象,因为我可以显示原始值。

0 投票
1 回答
1713 浏览

c# - 未返回对通过 AddFromTemplate() 创建的项目项的引用

在成功创建表单的 Visual Studio 加载项中,但没有给我返回 EnvDTE 的 prjItem 实例的引用。

这是将表单添加到项目中的一段代码:

观察:“解决方案”是一个 EnvDTE80.Solution2 对象。

当然,我可以通过其他方式获得参考,例如 proj.ProjectItems.Item([index]) (循环并检查名称),但这不是我想要的方式,我需要这个参考向此表单添加控件。

难道我做错了什么?

0 投票
1 回答
414 浏览

c# - 当我只有对它的 EnvDTE 的引用时,向表单添加控件

我正在为 Visual Studio 2010 编写插件,我希望它在现有解决方案的现有项目中向现有表单添加控件,并且我已经引用了所有这些控件。

由于我有对代表表单文件的项目项的引用,因此我想要对表单本身的引用,然后我将能够对其执行任何操作(更改属性和添加控件)。

我尝试了一些方法,但我必须承认我还没有尝试过。但是由于这是一个非常有趣的主题,所以我决定写这个问题,而不是拐弯抹角,所以它对我来说会更快,并且会被注册以应对其他人未来的类似疑问。

总结:

我有:

我想拥有:

0 投票
1 回答
945 浏览

visual-studio - 在vsx中不打开文档如何判断ProjectItem语言类型?

在 Visual Studio 编辑器中打开文件时,通过EnvDTE.Document.Language属性返回字符串结果,例如“CSharp”、“C/C++”、“HTML”、“JScript”等,指定语言一份文件。我希望能够在文件未打开时(即从 ProjectItem 上下文)访问相同的语言信息。

EnvDTE.ProjectItem.FileCodeModel.Language似乎很有希望,但只给了我一个 CSharp 文件的结果。没有可用于 HTML、XAML 等的信息。

我可以根据文件扩展名做出假设,但是能够检索由 Visual Studio 解释的语言(可能是通过语言服务)会更加健壮。信息似乎是可用的,因为它存储在文档中,但我无法找到正确的 API 来访问它。

任何帮助或建议将不胜感激。:)

0 投票
1 回答
420 浏览

visual-studio-2012 - 从 Visual Studio SDK 解决方案中的所有(已关闭)文件中获取代码

我正在尝试获取和编辑项目中所有 html 文件的代码

我找到了一种遍历所有 ProjectItems 的方法

现在我无法获取未在编辑器窗口中打开的文件的代码。

如何获取和编辑“未打开”项目项的代码?
如何检测文件是否为代码文件?(例如:.cs、.html、.htm、.asp、....

0 投票
1 回答
384 浏览

c# - 如何从 ProjectItems 中获取完整的文件名?

我的代码一直在另一台计算机上正常工作,但在某些地方失败FullPathFileName。错误是:

“object”不包含“FullPath”的定义,并且找不到接受“object”类型的第一个参数的扩展方法“FullPath”。

代码是:

我已Tamir.SharpSSh成功加载,但我不知道是否需要另一个库或如何制作必要类型的文件名。

0 投票
1 回答
214 浏览

visual-studio - 从内存中的 C# 代码字符串解析代码模型

使用EnvDTE.ProjectItem,是否可以解析内存中的 C# 代码字符串以获取FileCodeModel?

我不想通过将临时文件添加到项目中来更改本课程中的项目文件,获取它的ProjectItem,然后删除文件。它将进一步提醒源代码控制以观察更改。

0 投票
1 回答
407 浏览

c# - 如何以编程方式更改项目属性(内容处理器 XNA 4.0)?

由于自定义内容处理器,我需要以编程方式更改模型的内容处理器或解决方案/项目中的 fbx 文件属性(XNA 框架内容管道-> 内容处理器)。这都是因为我希望使用该程序的用户添加他的蒙皮模型并更改此属性。提前致谢,如果问题含糊或重复,我深表歉意。

更新

通过一些研究,我找到了一种用于访问项目的解决方案,但不幸的是在尝试获取我的解决方案/项目中的项目时出错..仍然可以访问项目属性(没有尝试更改它们)。

这是代码(类似于 MSDN 模板):

错误消息:消息过滤器指示应用程序正忙。(来自 HRESULT 的异常:0x8001010A (RPC_E_SERVERCALL_RETRYLATER))

更新 2 消息过滤器类: public class MessageFilter : IOleMessageFilter { // // 包含 IOleMessageFilter 的类 // 线程错误处理函数。

对不起代码的负载

更新 3

我设法访问了属性,但它们是文件属性,而不是当我右键单击某个项目或解决方案上的项目并在右下角获取该选项卡时获得的属性(我需要通过代码来完成)。