private void showNewProjectDialog() {
		if (!SystemUtilities.isInReleaseMode()) {
			Msg.showInfo(this, tool.getToolFrame(), name,
				"This action may only run from a built Ghidra release.");
			return;
		}

		final String PROJECT_NAME_PROMPT = "Project name";
		final String PROJECT_ROOT_PROMPT = "Project root directory";

		GhidraValuesMap values = new GhidraValuesMap();
		values.defineString(PROJECT_NAME_PROMPT);
		values.defineDirectory(PROJECT_ROOT_PROMPT, new File(System.getProperty("user.home")));
		ValuesMapDialog dialog =
			new ValuesMapDialog("Create New Visual Studio Code Module Project", null, values);
		DockingWindowManager.showDialog(dialog);
		if (dialog.isCancelled()) {
			return;
		}
		values = (GhidraValuesMap) dialog.getValues();

		String projectName = values.getString(PROJECT_NAME_PROMPT);
		File projectRootDir = values.getFile(PROJECT_ROOT_PROMPT);
		File projectDir = new File(projectRootDir, projectName);
		if (projectDir.exists()) {
			Msg.showError(this, tool.getToolFrame(), name,
				"Directory '%s' already exists...exiting".formatted(projectDir));
			return;
		}

		try {
			createVSCodeModuleProject(projectDir);
			Msg.showInfo(this, tool.getToolFrame(), name,
				"Successfully created Visual Studio Code module project directory at: " +
					projectDir);
		}
		catch (IOException e) {
			Msg.showError(this, tool.getToolFrame(), name,
				"Failed to create Visual Studio Code module project directory at: " + projectDir,
				e);
		}
	}
Present the user with a dialog that allows them to select a name and location for their new
Visual Studio Code Module Project
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/vscode/VSCodeIntegrationPlugin.java