import { Component, JsonFile, Project } from "projen"; import { DeepRequired } from "../util/deep-required"; import { Dynamic } from "../util/dynamic"; /** * option to enable or disable VscodeExtensionRecommendations and recommended extensions */ export declare type VscodeExtensionRecommendationsOptions = { /** * enable or disable vscodeExtensionRecommendations * * @default true */ vscodeExtensionRecommendations?: boolean; vscodeExtensionRecommendationsOptions?: { recommendations: string[]; }; }; /** * adds vscodeExtensionRecommendations to the project, which manages git recommendations * * see https://typicode.github.io/ and https://git-scm.com/docs/gitrecommendations */ export declare class VscodeExtensionRecommendations extends Component { static defaultOptions: Dynamic, Project>; options: DeepRequired; extensionsRecommendationsFile?: JsonFile; /** * adds vscodeExtensionRecommendations to the project * * @param project the project to add to * @param options - see `VscodeExtensionRecommendationsOptions` */ constructor(project: Project, options?: Dynamic); /** * Adds JsonFile containing the recommendations and makes * sure it's not git ignored */ preSynthesize(): void; /** * adds the lines to the specified recommendation * * @param recommendations the new extensions to recommend */ addRecommendations(...recommendations: string[]): void; /** * replaces the recommendations * * @param recommendations the recommendation to override */ overrideRecommendations(...recommendations: string[]): void; /** * removes the recommendations */ deleteRecommendations(): void; /** * get the list of recommendations * * @returns the recommendations */ getRecommendations(): string[]; }