俗话说得好,有图,咱就不多逼逼,直接上图。
其中有注释,看看就行
最后附上一个,自动生成代码片段的c++源码,自己随便写一个就行。
#include <iostream>
#include <vector>
#include <string>
#include <fstream>
using namespace std;
// 转义字符串中的引号
string escapeQuotes(const string& input) {
string result;
for (char c : input) {
if (c == '"' || c == '\'') {
result += '\\'; // 添加转义字符
}
result += c;
}
return result;
}
// 将代码转换为VSCode代码片段的函数
string convertToVSCodeSnippet(const vector<string>& code, const string& functionName) {
string snippet = "";
snippet += " \"" + functionName + "\": {\n";
snippet += " \"prefix\": \"" + functionName + "\",\n";
snippet += " \"body\": [\n";
for (const auto& line : code) {
snippet += " \"" + escapeQuotes(line) + "\\n\",\n";
}
snippet.pop_back(); // Remove the last comma
snippet.pop_back(); // Remove the last newline
snippet += "\n ],\n";
snippet += " \"description\": \"A code snippet for " + functionName + "\"\n";
snippet += " }\n";
snippet += "";
return snippet;
}
int main() {
vector<string> s;
string line;
cout << "输入代码片段,最后一行以0结尾" << endl;
while (getline(cin, line)) {
if (line == "0") {
break;
}
s.push_back(line);
}
// 函数名称
string functionName = "htmlTemplate";
// 转换代码
string snippet = convertToVSCodeSnippet(s, functionName);
// 输出JSON格式的代码片段
cout << snippet << endl;
// 将输出保存到文件
// ofstream outfile("snippet.json");
// if (outfile.is_open()) {
// outfile << snippet;
// outfile.close();
// } else {
// cerr << "Unable to open file for writing." << endl;
// }
return 0;
}