検索
ホームページ開発ツールVSCodeScaffolding はプラグイン形式でも提供されます。 vscode はスキャフォールディング プラグインを実装します

Scaffolding はプラグイン形式でも提供されます。次の記事では、vscode プラグインのビジュアル制作と管理の足場と原則分析について紹介します。

Scaffolding はプラグイン形式でも提供されます。 vscode はスキャフォールディング プラグインを実装します

スキャフォールディングというと、さまざまな xxx-cli を思い浮かべるかもしれませんが、この記事では別の方法を紹介します: vscode プラグインの形で実装して Web ビジュアル操作を提供する

Scaffolding はプラグイン形式でも提供されます。 vscode はスキャフォールディング プラグインを実装します

#以下では、そのインストール方法と使用方法、および実装原理について説明します。

#vscode をインストールして使用し、

lowcode プラグインをインストールします。このプラグインは効率化ツールです。スキャフォールディングは次の 1 つにすぎません。他の関数も表示できますDocumentation、このエピソードではスキャフォールディングについてのみ説明します。 [推奨学習: 「vscode 入門チュートリアル 」]

プラグインをインストールした後、スキャフォールディング インターフェイスを開きます。手順は次のとおりです:

Scaffolding はプラグイン形式でも提供されます。 vscode はスキャフォールディング プラグインを実装します##わかりました。共有スキャフォールディングを直接使用します。オプションをオンにして、直接作成します。

Scaffolding はプラグイン形式でも提供されます。 vscode はスキャフォールディング プラグインを実装します##スキャフォールディングを作成する

テンプレート プロジェクトのルート ディレクトリで lowcode.scaffold.config.json

ファイルを作成し、動的に置き換える必要があるファイルに

.ejs サフィックスを追加します。 ejs 構文:

https://ejs.bootcss.com/

Scaffolding はプラグイン形式でも提供されます。 vscode はスキャフォールディング プラグインを実装します

構成

##完全な lowcode.scaffold.config.json 構成:

{
	"formSchema": {
		"schema": {
			"type": "object",
			"ui:displayType": "row",
			"ui:showDescIcon": true,
			"properties": {
				"port": {
					"title": "监听端口",
					"type": "string",
					"props": {},
					"default": "3000"
				},
				"https": {
					"title": "https",
					"type": "boolean",
					"ui:widget": "switch"
				},
				"lint": {
					"title": "eslint + prettier",
					"type": "boolean",
					"ui:widget": "switch",
					"default": true
				},
				"noREADME": {
					"title": "移除README文件",
					"type": "boolean",
					"ui:widget": "switch",
					"ui:width": "100%",
					"ui:labelWidth": 0,
					"ui:hidden": "{{rootValue.emptyREADME === true}}",
					"default": false
				},
				"emptyREADME": {
					"title": "空README文件",
					"type": "boolean",
					"ui:widget": "switch",
					"ui:hidden": "{{rootValue.noREADME === true}}"
				}
			},
			"labelWidth": 120,
			"displayType": "row"
		},
		"formData": {
			"port": 3000,
			"https": false,
			"lint": true,
			"noREADME": false,
			"emptyREADME": false
		}
	},
	"excludeCompile": ["codeTemplate/", "materials/"],
	"conditionFiles": {
		"noREADME": {
			"value": true,
			"exclude": ["README.md.ejs"]
		},
		"lint": {
			"value": false,
			"exclude": [".eslintrc.js", ".prettierrc.js"]
		}
	}
}

formSchema:

formSchema.schema は、

x-render form design

によってエクスポートされたスキーマです。フォーム インターフェイスは、スキーマに基づいて構築されます。formSchema.formData は、データ

#プロジェクトを作成するとき、フォーム データはコンパイルのために ejs テンプレートに渡されます。

Scaffolding はプラグイン形式でも提供されます。 vscode はスキャフォールディング プラグインを実装します

excludeCompile

: ejs でコンパイルする必要のないフォルダーまたはファイルを構成します。

conditionFiles: フォーム項目の値に基づいて、プロジェクトの作成時に次のような特定のフォルダーまたはファイルを削除します:

"conditionFiles": {
	"noREADME": {
		"value": true,
		"exclude": ["README.md.ejs"]
	},
	"lint": {
		"value": false,
		"exclude": [".eslintrc.js", ".prettierrc.js"]
	}
}

whenlint このフォーム項目の値が

false

の場合、設定されたフォルダーまたはファイル「.eslintrc.js」および「.prettierrc.js」は、作成されたプロジェクトから除外されます。 #ローカル デバッグ スキャフォールディング

##参照プロジェクトScaffolding はプラグイン形式でも提供されます。 vscode はスキャフォールディング プラグインを実装します

https://github.com/lowcode-scaffold/lowcode-mock

スキャフォールディングの公開

スキャフォールディングを git リポジトリに送信します。注意してください。プロジェクトへのオープンなパブリックアクセスであること。

スキャフォールディングを使用する

git ウェアハウス アドレスを直接使用する

#注クローン アドレスを使用して、指定したブランチ (

-b master https://github.com/lowcode-scaffold/lowcode-mock.git

など) をサポートします。内部のプライベート ウェアハウスも Scaffolding はプラグイン形式でも提供されます。 vscode はスキャフォールディング プラグインを実装します

# を使用できます。

##テンプレート リストに共有して、迅速に作成します

Scaffolding はプラグイン形式でも提供されます。 vscode はスキャフォールディング プラグインを実装します

ウェアハウスを変更します

index.json

の内容を PR として送信します。 Scaffolding はプラグイン形式でも提供されます。 vscode はスキャフォールディング プラグインを実装します

实现原理

  • 打开 webview 的时候从 cdn 拉取记录了脚手架列表的 json 文件,渲染列表视图。

  • 点击某个脚手架,将脚手架的 git 仓库地址传到插件后台,插件后台根据 git 地址下载模版到临时工作目录,并且读取 lowcode.scaffold.config.json 文件中的 formSchema 返回给 webview。

export const downloadScaffoldFromGit = (remote: string) => {
  fs.removeSync(tempDir.scaffold);
  execa.sync('git', ['clone', ...remote.split(' '), tempDir.scaffold]);
  fs.removeSync(path.join(tempDir.scaffold, '.git'));
  if (
    fs.existsSync(path.join(tempDir.scaffold, 'lowcode.scaffold.config.json'))
  ) {
    return fs.readJSONSync(
      path.join(tempDir.scaffold, 'lowcode.scaffold.config.json'),
    );
  }
  return {};
};
  • webview 拿到 formSchema 后弹框渲染动态表单,点提交后将动态表单数据以及生成目录等信息传给插件后台。

  • 插件后台拿到表单数据后,到临时目录中根据 conditionFiles 配置删除掉不需要的文件。然后根据表单数据编译所有 ejs 文件,最后将所有文件拷贝到生成目录。

export const compileScaffold = async (model: any, createDir: string) => {
  if (
    fs.existsSync(path.join(tempDir.scaffold, 'lowcode.scaffold.config.json'))
  ) {
    const config = fs.readJSONSync(
      path.join(tempDir.scaffold, 'lowcode.scaffold.config.json'),
    );
    const excludeCompile: string[] = config.excludeCompile || [];
    if (config.conditionFiles) {
      Object.keys(model).map((key) => {
        if (
          config.conditionFiles[key] &&
          config.conditionFiles[key].value === model[key] &&
          Array.isArray(config.conditionFiles[key].exclude)
        ) {
          config.conditionFiles[key].exclude.map((exclude: string) => {
            fs.removeSync(path.join(tempDir.scaffold, exclude));
          });
        }
      });
    }
    await renderEjsTemplates(model, tempDir.scaffold, excludeCompile);
    fs.removeSync(path.join(tempDir.scaffold, 'lowcode.scaffold.config.json'));
  }
  fs.copySync(tempDir.scaffold, createDir);
};

本地调试时,就是在步骤 2 中将选择的文件夹内容或者当前 vscode 打开的项目内容拷贝到临时工作目录。

Scaffolding はプラグイン形式でも提供されます。 vscode はスキャフォールディング プラグインを実装します

下集再说插件其他功能,插件源码:https://github.com/lowcoding/lowcode-vscode

原文地址:https://juejin.cn/post/7080787567192309797

作者:若邪

更多关于VSCode的相关知识,请访问:vscode教程!!

以上がScaffolding はプラグイン形式でも提供されます。 vscode はスキャフォールディング プラグインを実装しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事は掘金社区で複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
Visual Studio:価格設定とライセンスオプションの探索Visual Studio:価格設定とライセンスオプションの探索Apr 13, 2025 am 12:03 AM

VisualStudioには3つのバージョンがあります:Community Free Editionは個人や小チーム向け、プロの有料版はプロの開発者と中小チーム向けであり、Enterprise Ultimate Editionは大企業と複雑なプロジェクト向けです。

Visual Studioの価値:その利点に対するコストを比較検討しますVisual Studioの価値:その利点に対するコストを比較検討しますApr 12, 2025 am 12:06 AM

VisualStudioは、強力で包括的であるため、.NET開発において非常に価値があります。高コストとリソースの消費にもかかわらず、それがもたらす効率の改善と開発の経験は重要です。コミュニティは、個々の開発者や小さなチームに最適です。大企業は、専門家や企業に適しています。

Visual Studioの可用性:どのエディションが無料ですか?Visual Studioの可用性:どのエディションが無料ですか?Apr 10, 2025 am 09:44 AM

VisualStudioの無料バージョンには、VisualStudioCommunityとVisualStudiocodeが含まれます。 1. VisualStudioCommunityは、個々の開発者、オープンソースプロジェクト、小規模チームに適しています。それは強力で、個々のプロジェクトや学習プログラミングに適しています。 2。VisualStudioCodeは、複数のプログラミング言語と拡張機能をサポートする軽量コードエディターです。スタートアップの速度と低いリソースの使用量が速いため、柔軟性とスケーラビリティが必要な開発者に適しています。

Windows 8用のVisual Studioをインストールする方法は?Windows 8用のVisual Studioをインストールする方法は?Apr 09, 2025 am 12:19 AM

Windows 8にVisualStudioをインストールする手順は次のとおりです。1。公式Microsoft WebサイトからVisualStudioCommunity2019インストールパッケージをダウンロードします。 2.インストーラーを実行し、必要なコンポーネントを選択します。 3.インストールが完了した後に使用できます。 Windows 8互換性のあるコンポーネントを選択し、十分なディスクスペースと管理者の権利があることを確認してください。

私のコンピュータはコードとコードを実行できますか?私のコンピュータはコードとコードを実行できますか?Apr 08, 2025 am 12:16 AM

VSCODEは、基本システムの要件が満たされている限り、ほとんどの最新のコンピューターで実行できます。1。オペレーティングシステム:Windows 7以降、MacOS 10.9以降、Linux。 2。プロセッサ:1.6GHz以下。 3。メモリ:少なくとも2GB RAM(4GB以上推奨); 4。ストレージスペース:少なくとも200MBの利用可能なスペース。設定を最適化し、拡張使用を削減することにより、低構成コンピューターでスムーズなユーザーエクスペリエンスを取得できます。

プログラムをWindows 8と互換性のあるものにするにはどうすればよいですか?プログラムをWindows 8と互換性のあるものにするにはどうすればよいですか?Apr 07, 2025 am 12:09 AM

Windows 8でプログラムをスムーズに実行するには、次の手順が必要です。1。互換性モードを使用して、コードを介してこのモードを検出して有効にします。 2. API呼び出しを調整し、Windowsバージョンに従って適切なAPIを選択します。 3.パフォーマンスの最適化を実行し、互換性モードの使用を避け、API呼び出しを最適化し、一般的なコントロールを使用してください。

VSコードはWindows 8で動作しますか?VSコードはWindows 8で動作しますか?Apr 06, 2025 am 12:13 AM

はい、vscodeisCompatibleWithWindows8.1)theinstallerfromthevscodesurethelatest.netframeworkisInstalled.2)installextensionsionsingTheCommandline、NotingSomeMayloadSlower.3)ManageByClusnnnnyRoightEntions、Light -omayloadSlower.3)

VSコードとVisual Studioの違いは何ですか?VSコードとVisual Studioの違いは何ですか?Apr 05, 2025 am 12:07 AM

VSCODEは、複数の言語と拡張機能に適した軽量コードエディターです。 VisualStudioは、主に.NET開発に使用される強力なIDEです。 1.VSCODEは電子に基づいており、クロスプラットフォームをサポートし、モナコエディターを使用します。 2。VisualStudioは、Microsoftの独立したテクノロジースタックを使用して、デバッグとコンパイラを統合します。 3.VSCODEは単純なタスクに適しており、VisualStudioは大規模なプロジェクトに適しています。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール