솔루션을 다시로드 할 필요없이 특정 속성 시트 (솔루션의 모든 프로젝트에로드 됨)의 값을 변경하는 방법 (매크로/플러그인/확장)을 찾고 있습니다. 매크로 또는 플러그인 코드에서 액세스 할 수 있습니까?프로그래밍 방식으로 VS2010 속성 시트의 설정을 변경하는 방법?
감사합니다.
솔루션을 다시로드 할 필요없이 특정 속성 시트 (솔루션의 모든 프로젝트에로드 됨)의 값을 변경하는 방법 (매크로/플러그인/확장)을 찾고 있습니다. 매크로 또는 플러그인 코드에서 액세스 할 수 있습니까?프로그래밍 방식으로 VS2010 속성 시트의 설정을 변경하는 방법?
감사합니다.
속성 시트를 편집하고 매크로 IDE에서 코드를 볼 때 매크로를 기록하십시오. 이후에는 키 바인딩을 할당하고 언제든지 재생할 수 있습니다.
이것이 내가 일하는 방법입니다. 그리고 프로젝트에 VCEngine 참조를 추가해야합니다.
VCProject project;
Projects projCollection = sol1.Projects;
project = (VCProject)projCollection.Item(1).Object;
VCConfiguration config = project.Configurations.Item("Test Release|Win32");
IVCRulePropertyStorage rule = config.Rules.Item("ConfigurationDirectories") as IVCRulePropertyStorage;
//Setting the Include directories
string rawValue = rule.GetUnevaluatedPropertyValue("IncludePath");
string evaluatedValue = rule.GetEvaluatedPropertyValue("IncludePath");
rule.SetPropertyValue("IncludePath", "Whatever you like to specify here");
//Setting the Executable Directory
rawValue = rule.GetUnevaluatedPropertyValue("ExecutablePath");
rule.SetPropertyValue("ExecutablePath", "Whatever you like to specify here");
매크로는 속성 시트 선택을 기록하지 않으며 변경 내용을 속성 시트에 기록하지 않습니다. 내가 얻는 것은 DTE.Windows.Item ("{DE1FC918-F32E-4DD7-A915-1792A051F26B}"입니다.) 활성화하면 속성 관리자가 활성화되어 다시 재생할 때 작동하지 않습니다. 다음은 현재 선택된 속성 페이지를 여는 DTE.ExecuteCommand ("View.PropertyPages")입니다 –
속성 시트는 무엇입니까? 표준 Visual Studio 속성 시트입니까? 보기보다 기본 모델을 변경하려고 할 수 있는지 궁금합니다. – Soundararajan
아마도 도움이 될까요? http://blogs.msdn.com/b/visualstudio/archive/2010/01/15/how-to-read-write-the-new-visual-c-project-properties.aspx – Soundararajan