public static unsafe void SetOption(this CSharpProjectShim csharpProject, CompilerOptions optionID, object value) { Assert.Equal(8 + 2 * IntPtr.Size, sizeof(HACK_VariantStructure)); Assert.Equal(8, (int)Marshal.OffsetOf <HACK_VariantStructure>("_booleanValue")); HACK_VariantStructure variant = default; Marshal.GetNativeVariantForObject(value, (IntPtr)(&variant)); csharpProject.SetOption(optionID, variant); }
public void BindToProject(ICSharpProjectRoot projectRoot, IVsHierarchy hierarchy) { var projectName = Path.GetFileName(projectRoot.GetFullProjectName()); // GetFullProjectName returns the path to the project file w/o the extension? var project = new CSharpProjectShim( projectRoot, projectName, hierarchy, this.SystemServiceProvider, this.Package.ComponentModel.GetService <IThreadingContext>()); projectRoot.SetProjectSite(project); }
public void BindToProject(ICSharpProjectRoot projectRoot, IVsHierarchy hierarchy) { var projectName = Path.GetFileName(projectRoot.GetFullProjectName()); // GetFullProjectName returns the path to the project file w/o the extension? var project = new CSharpProjectShim( projectRoot, projectName, hierarchy, this.SystemServiceProvider, this.Package.ComponentModel.GetService <IThreadingContext>(), this.HostDiagnosticUpdateSource, this.Workspace.Services.GetLanguageServices(LanguageNames.CSharp).GetService <ICommandLineParserService>()); projectRoot.SetProjectSite(project); }
public void BindToProject(ICSharpProjectRoot projectRoot, IVsHierarchy hierarchy) { var projectName = Path.GetFileName(projectRoot.GetFullProjectName()); // GetFullProjectName returns the path to the project file w/o the extension? var projectTracker = Workspace.GetProjectTrackerAndInitializeIfNecessary(SystemServiceProvider); var project = new CSharpProjectShim( projectRoot, projectTracker, id => new ProjectExternalErrorReporter(id, "CS", this.SystemServiceProvider), projectName, hierarchy, this.SystemServiceProvider, this.Workspace, this.HostDiagnosticUpdateSource, this.Workspace.Services.GetLanguageServices(LanguageNames.CSharp).GetService <ICommandLineParserService>()); projectRoot.SetProjectSite(project); }