Пример #1
0
        public VisualStudioDTE(ReadOnlyTargetRules Target) : base(Target)
        {
            Type = ModuleType.External;

            PublicIncludePaths.Add(ModuleDirectory);

            if (Target.Platform != UnrealBuildTool.UnrealTargetPlatform.Win64 ||
                Target.WindowsPlatform.Compiler == WindowsCompiler.Clang ||
                Target.WindowsPlatform.StaticAnalyzer == WindowsStaticAnalyzer.PVSStudio)
            {
                PublicDefinitions.Add("WITH_VISUALSTUDIO_DTE=0");
            }
            else
            {
                // In order to support building the plugin on build machines (which may not have the IDE installed), allow using an OLB rather than registered component.
                string DteOlbPath;
                if (TryGetDteOlbPath(out DteOlbPath))
                {
                    TypeLibraries.Add(new TypeLibrary(DteOlbPath, "lcid(\"0\") raw_interfaces_only named_guids", "dte80a.tlh"));
                    PublicDefinitions.Add("WITH_VISUALSTUDIO_DTE=1");
                }
                else
                {
                    Log.TraceWarningOnce("Unable to find Visual Studio SDK. Editor integration will be disabled");
                    PublicDefinitions.Add("WITH_VISUALSTUDIO_DTE=0");
                }
            }
        }
Пример #2
0
 public override ExternalProcedure LookupProcedureByName(string moduleName, string procName)
 {
     //$Identical to Win32, move into base class?
     return(TypeLibraries
            .Select(t => t.Lookup(procName))
            .Where(sig => sig != null)
            .Select(sig => new ExternalProcedure(procName, sig))
            .FirstOrDefault());
 }
Пример #3
0
        public MainViewModel(TypeLibraries libraries)
        {
            _libraries          = libraries;
            LoadedTypeLibraries = new ObservableCollection <LibraryOrTypeNodeViewModel>();

            PreLoadSomeLibraries();

            foreach (var library in _libraries.LoadedLibraries)
            {
                AddTypeLibraryViewModel(library);
            }

            Messenger.Default.Register <NotificationMessage <LibraryRegistrationViewModel> >(this, OpenLibrary);
        }