private JsonObject createSettings(File installDir, File projectDir,
			Map<String, String> classpathSourceMap, List<String> sourcePaths, String outputPath)
			throws IOException {
		String gradleVersion = Application
				.getApplicationProperty(ApplicationProperties.APPLICATION_GRADLE_MIN_PROPERTY);

		// Build settings json object
		JsonObject json = new JsonObject();
		json.addProperty("java.import.maven.enabled", false);
		json.addProperty("java.import.gradle.enabled", false);
		json.addProperty("java.import.gradle.wrapper.enabled", false);
		json.addProperty("java.import.gradle.version", gradleVersion);
		json.addProperty("java.format.settings.url",
			new File(installDir, "support/eclipse/GhidraEclipseFormatter.xml").getAbsolutePath());

		JsonArray sourcePathArray = new JsonArray();
		json.add("java.project.sourcePaths", sourcePathArray);
		sourcePaths.forEach(sourcePathArray::add);

		if (outputPath != null) {
			json.addProperty("java.project.outputPath", outputPath);
		}

		JsonObject referencedLibrariesObject = new JsonObject();
		json.add("java.project.referencedLibraries", referencedLibrariesObject);
		JsonArray includeArray = new JsonArray();
		referencedLibrariesObject.add("include", includeArray);
		classpathSourceMap.keySet().forEach(includeArray::add);
		JsonObject sourcesObject = new JsonObject();
		referencedLibrariesObject.add("sources", sourcesObject);
		classpathSourceMap.entrySet()
				.stream()
				.filter(e -> e.getValue() != null)
				.forEach(e -> sourcesObject.addProperty(e.getKey(), e.getValue()));

		json.addProperty("python.analysis.stubPath",
			new File(installDir, "docs/ghidra_stubs/typestubs").getAbsolutePath());

		return json;
	}
Creates the VSCode settings json

@param installDir The Ghidra installation directory
@param projectDir The VSCode project directory
@param classpathSourceMap The classpath/source map (see {@link #getClasspathSourceMap()})
@param sourcePaths A {@link List} of source paths
@param outputPath The output path (null for default)
@return The VSCode settings json
@throws IOException if an IO-related error occurs
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/vscode/VSCodeIntegrationPlugin.java