在Visual Studio中更改解决scheme资源pipe理器的背景色

有没有办法改变使用主题在Visual Studio中的解决scheme资源pipe理器的背景颜色? – 或者其他方式呢?

我可以通过改变Windows的颜色设置来改变它,但显然影响太大。

刚刚在一个小时内为此创build了VS扩展,为“SExColor”search扩展pipe理器。 请享用 ;)

@aloneguid …应该很久以前见过了..谢谢先生!

@ver(关于vs 2008解决scheme;) – 一种B52types的方法,在devenv.exe中的任何SysTreeView32地毯式轰炸。 可能额外的参数为所需的颜色,否则RGB(220,220,220) – 最适合我

#include <windows.h> #include "psapi.h" #include "shlwapi.h" #include "commctrl.h" COLORREF clr = RGB(220,220,220); BOOL CALLBACK wenum( HWND hwnd, LPARAM lParam) { const UINT cb = 261; static wchar_t name[] = L"SysTreeView32", tmp[cb] = {0}; if( ::GetClassNameW( hwnd, tmp, 260 ) && 0 == _wcsicmp( name, tmp ) ) { ::SendMessageW( hwnd, TVM_SETBKCOLOR, 0, (LPARAM)clr ); } return TRUE; } BOOL CALLBACK EnumTops(HWND hwnd, LPARAM lParam) { DWORD dwThreadId = 0, dwProcessId = 0; HINSTANCE hInstance; static wchar_t derVS[] = L"devenv.exe"; wchar_t name[_MAX_PATH] = {0}, *exe = 0; HANDLE hProcess; if (!hwnd) return TRUE; // Not a window if (!::IsWindowVisible(hwnd)) return TRUE; // Not visible if (!SendMessage(hwnd, WM_GETTEXT, sizeof(name), (LPARAM)name)) return TRUE; // No window title dwThreadId = GetWindowThreadProcessId(hwnd, &dwProcessId); hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, dwProcessId); if( !GetModuleFileNameEx(hProcess, 0, name, sizeof(name))) goto exit; exe = ::PathFindFileNameW( name ); if( (void*)exe == (void*)name ) goto exit; // mhm? maybe not exit? if( _wcsicmp( derVS, exe ) ) goto exit; EnumChildWindows( hwnd, wenum, (LPARAM)hProcess ); exit: CloseHandle(hProcess); int res = GetLastError(); return res; } int wmain(int argc, wchar_t * argv[]) { if( argc >= 2 ) { wchar_t *end = 0; long l = wcstol( argv[1], &end, 16 ); clr = (DWORD)l; } ::EnumWindows(EnumTops, NULL); return 0; } 

即使更改标准的Windows背景颜色也不适用于解决scheme资源pipe理器。 这个Visual Studio 错误报告提到了这个问题。 微软已经标记为“closures – 不会修复”。

这是非常恼人的! 使用一个黑暗的主题,并有一个明亮的白色解决scheme资源pipe理器挂在屏幕的一边是非常烦人的。

一个可能的解决scheme是根本不使用解决scheme资源pipe理器。 生产力动力工具提供了称为“解决scheme导航器”的解决scheme资源pipe理器替代scheme。 目前它也被硬编码为白色。 但是我认为,让这个工具的开发者增加对修改颜色的支持比让微软在Visual Studio中更好。 (即使微软创build了PPT)。

不能以任何方式从Visual Studio本身进行configuration。

然而,你可能会从Win32 API中“破解”窗口对象(查找“窗口枚举”)。 一旦你有窗口句柄,你可以设置所有你想要的特性。

问候

/罗伯特·

你可以使用其他扩展,你有很大的可能性做你的Visual Studio更好看;)(但我不知道你是否可以改变解决scheme资源pipe理器背景)

http://visualstudiogallery.msdn.microsoft.com/20cd93a2-c435-4d00-a797-499f16402378