gpt4 book ai didi

c++ - Visual Studio 加载项开发 - 获取 C++ 项目中的目录路径

转载 作者:太空宇宙 更新时间:2023-11-04 14:26:21 25 4
gpt4 key购买 nike

我目前正在尝试构建一个类似于 VSNewFile 的插件.所以它只是一个简单的扩展,提供了一种更快的方式来创建新文件。 VSNewFile 的问题是它不适用于 C++ 项目,而我需要它。

这是我的问题:
我无法检索所选目录的绝对路径。我发现的所有样本都是这样的:
(string)((ProjectItem)parent).Properties.Item("FullPath").Value;

虽然这是在 C# 项目中工作,但它不在 C++ 项目中。在 C++ 项目中,当我选择一个目录时,selectedItem.ProjectselectedItem.ProjectItem 都是 null

重要提示:我不是在谈论过滤器!我的意思是真正的目录。

欢迎任何帮助。我已经搜索了几个小时但没有成功。
谢谢

最佳答案

也许这会帮助遇到同样问题的其他人:
http://social.msdn.microsoft.com/forums/en-US/vsx/thread/bd738463-ba24-4880-beea-f3ec110d981e

// Subscribe to the SVsShellMonitorSelection service somewhere:  
public void mySetupMethod()
{
IVsMonitorSelection monitorSelection =
(IVsMonitorSelection)Package.GetGlobalService(
typeof(SVsShellMonitorSelection));
monitorSelection.AdviseSelectionEvents(this, out cookie);
}

// This class (as used in AdviseSelection) must implement the IVsSelectionEvents interface
// To get the folder path use the following
public int OnSelectionChanged(IVsHierarchy pHierOld, uint itemidOld,
IVsMultiItemSelect pMISOld, ISelectionContainer pSCOld,
IVsHierarchy pHierNew, uint itemidNew, IVsMultiItemSelect pMISNew, ISelectionContainer pSCNew)
{
string fullPath;
// Get the full path
pHierNew.GetCanonicalName(itemidNew, out fullPath);

// Do something with the path...
return VSConstants.S_OK;
}

关于c++ - Visual Studio 加载项开发 - 获取 C++ 项目中的目录路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3697203/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com