- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我录制了一个包含 F12(转到定义)按键的宏,但录制省略了传递给 DTE.ExecuteCommand 的第二个参数,导致宏在执行期间崩溃。大概第二个 arg 是我要查找的函数的名称,但我不知道如何获取和传递该值。如果我选择函数或方法名称(但不是 args 或类前缀),我可以使用 DTE.ActiveDocument.Selection.Text.ToString 传递选择,但不是跳转到定义,而是返回 . h 文件和 .cpp 文件在 Find Symbol Results 窗口中。
(而且我不确定选择是否真的是我想要的,但如果这是要走的路,我可能会让宏选择“正确的东西”。有什么办法可以看到 F12 正在传递什么,只是看看它是什么样子?或者更好的是,找出 F12 正在传递的编程对象?
VS2010专业版
最佳答案
事实证明,通过 IVsUIShell 运行相同的命令是可行的:
Dim cmd As EnvDTE.Command
Dim shell As Microsoft.VisualStudio.Shell.Interop.IVsUIShell
Dim arg As Object
Dim guid As System.Guid
Dim serviceProvider As System.IServiceProvider
serviceProvider = New Microsoft.VisualStudio.Shell.ServiceProvider(CType(DTE, Microsoft.VisualStudio.OLE.Interop.IServiceProvider))
shell = serviceProvider.GetService(GetType(Microsoft.VisualStudio.Shell.Interop.SVsUIShell))
cmd = DTE.Commands.Item("Edit.GoToDefinition", 0)
guid = New System.Guid(cmd.Guid)
shell.PostExecCommand(guid, cmd.ID, 0, arg)
代码与 Visual Commander 中的一样。要从 Visual Studio 宏 IDE 运行它,您需要添加对
的引用Microsoft.VisualStudio.OLE.Interop.dll
Microsoft.VisualStudio.Shell.10.0.dll
Microsoft.VisualStudio.Shell.Interop.dll
Microsoft.VisualStudio.Shell.Interop.8.0.dll
Microsoft.VisualStudio.Shell.Interop.9.0.dll
要添加引用,您首先需要将这些文件复制到 Microsoft Visual Studio 10.0\Common7\IDE\PublicAssemblies directory .
关于c++ - 如何在 VS2010 C++ 宏中使用 DTE.ExecuteCommand ("Edit.GoToDefinition")?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20168945/
我正在使用服务 Controller 的 executecommand 函数,如下所示: ServiceController serviceController = new S
给定: var linuxCommmand = "/opt/ndmcli -x"; var linuxOptions = "sel stat pnum=157 detail=yes;\nquit;";
在一个c#项目中,我调用了一个存储过程如下: System.Data.Linq.DataContext dataContext = MembershipContext.GetContext(conne
我想使用宏来发布我的网络应用程序项目。小问题是,DTE.ExecuteCommand 异步运行,我需要等到命令完成。 例子: DTE.Windows.Item(Constants.vsWind
我在使用 linq 将空值传递给 ExecuteCommand() 方法时遇到问题。我的代码类似于以下代码: public void InsertCostumer(string name, i
我正在编写一个 VS Code 扩展来帮助迁移 React.createClass 至类扩展 React.Component .这里的问题是,我无法获得 vscode.commands.execute
我想在我的数据库上执行语句: /*Disable Constraints & Triggers*/ exec sp_MSforeachtable 'ALTER TABLE ? NOCHECK CONS
我对这个有点困惑,希望有人能澄清这是怎么回事。 我想使用我的 LINQ-to-SQL 数据上下文以编程方式禁用外键约束。看起来这应该像下面这样简单: context.ExecuteCommand( "
从 C# LinQ 到 sql 数据上下文,使用 IN 运行自定义 sql 语句的最佳方法是什么?我试过: db.ExecuteCommand( "UPDATE tblCard SET used
我有一个包含多个启动项目的解决方案,我正在尝试每晚自动重新启动其中一个项目,同时将新进程附加到同一个调试器。 我能够重新启动该进程(使用 Process.Start)并将当前的调试器附加到它,但到目前
使用VS2010 感谢汉斯(因为我要低调地回答我自己的问题8个小时) Sub CreateBreakPoint() Dim doc As TextDocument = _
我正在使用 Angular 7 构建一个 web 应用程序,我尝试实现搜索功能,如 https://mozilla.github.io/pdf.js/web/viewer.html . 我有它的工作,
我目前正在阅读一些使用 LinqToSQL 中的 DataContect.ExecuteCommand 的代码。 我主要关心的是此 ExecuteCommand 的更改何时发生在数据库上。是在我调用
所以我有以下代码: var transactionScopeOptions = new TransactionOptions() { IsolationLevel = IsolationLevel.R
假设我有一个名为 Department 的实体,它是从 MyDataContext 中检索到的。部门有一个协会叫做雇员。 我想向部门添加一堆新员工。我没有使用会导致多个查询的 LINQ,而是使用以下命
我在 Linq 工作现在我想知道从以下运行 sql 查询哪个更好。 1) 执行查询 2) 执行命令 最佳答案 ExecuteQuery 和 ExecuteCommand 方法都是 LINQ DataC
有一个我一直用来远程控制数码相机的旧程序,以便自动拍摄照片并将它们传输到 PC。程序基于 WIA,据我所知,它最初是在 Windows XP 上设计和使用的。 最近将其从文件中取出,并一直在尝试使用同
我在我的网站中添加了一个鼠标右键上下文菜单,其中包含功能(剪切、复制、粘贴)。我使用了 document.executeCommand()。剪切和复制可以工作。但粘贴在 chrome 中不起作用(它在
我有一个 ASP.NET MVC 应用程序,我正在使用 LinqToSql 进行数据库访问。 我想从 SQL 脚本创建一个数据库到我的 DBMS (SQL Server Express)。 当我在没有
(...) Session sess = new Session(); sess.Open(sessionParams); (...) sess.ExecuteCommand('/home/kit/c
我是一名优秀的程序员,十分优秀!