我的应用程序包含一些CMap
对象,其中填充了CString
和LPCTSTR
字符串,以及一些内部对象,例如:
CMap<CString, LPCTSTR, Internal_ObjectDBInfo*> m_mapInternal_ObjectDBInfo;
CString
和LPCTSTR
字符串与某些其他类型的字符串相同,如某些typedef
结构中所述:
typedef ATL::CStringT< TCHAR, StrTraitMFC_DLL< TCHAR > > CString; // C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.16.27023\atlmfc\include\afxstr.h
typedef LPCWSTR PCTSTR, LPCTSTR; // C:\Program Files (x86)\Windows Kits\8.1\Include\um\winnt.h
typedef _Null_terminated_ CONST WCHAR *LPCWSTR, *PCWSTR; // ...
typedef wchar_t WCHAR; // ...
在我的监视窗口中,这些typedef
结构都遵循到最后,在监视窗口中显示了一个沉重的Type
列,如您在此处看到的那样:
Name Value Type
===========================+===========+==========================================================================================================================
m_mapInternal_ObjectDBInfo | { size=0 }| CMap<ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >,wchar_t const *,Internal_ObjectDBInfo *>
我希望Visual Studio不遵循整个typedef
结构,以使监视窗口中的Type
列更清晰,如下所示:
Name Value Type
===========================+===========+===============================================
m_mapInternal_ObjectDBInfo | { size=0 }| CMap<CString, LPCTSTR, Internal_ObjectDBInfo*>
这可能吗?我正在使用Microsoft Visual Studio Professional 2017版本15.9.13。
由于目前似乎无法实现,因此已经为Visual Studio开发社区提出了a suggestion。
答案 0 :(得分:1)
要修改result="\n".join([e+"="+D[e] for e in D])
fw=open('requirement.txt ', 'a')
fw.write(result)
fw.close()
列中的显示格式。
恐怕答案是否定的,因为现在VS中没有选项或功能支持此行为。
Microsoft文档中有一些主题,涉及如何在调试器中创建对象的自定义视图,但是似乎它们仅支持更改显示值或名称,而不能更改类型格式。
您可以检查:Create custom views of native C++ objects in the debugger和Create custom views of objects for managed C++。但是它们对满足您的需求没有用。
如果您确实希望在“监视”窗口中更清晰地显示内容,建议您Type
=> go Help menu
=> Seed feedback
进行发布。让团队知道您的想法并在此处共享链接,对此感兴趣的成员将投票给您。但是,正如我在上面提到的那样,目前尚不可能,因此在此新功能出现之前可能还有很长的路要走。