当前位置: 首页 > news >正文

vscode代码块格式转换器

介绍

在我们使用vscode时,我们会用到代码块。

代码块十分好用,可以帮我们自动补全代码,也可以存各种板子。虽然会损失人的代码能力,但能提升做题效率。但我们注意到,vscode的代码块是使用json编辑的,对于不会json的人就显得十分麻烦。而且,也不是把代码直接放上去就能用的,需要改各种格式,比如要很多'\',將缩进换成'\t',对于人类来说十分麻烦,而ai又过于繁忙并需要网络,所以可以写一个程序来实现自动转换。

用法

虽然程序开始时有提示,但我英语太垃圾了,写的东西可能以后看不懂。
第一行先输入先导句,及触发代码块补全所需写的东西(即触发条件),换一行,将要转换的代码复制上去,再换一行,打4个 '#'"####"表示代码部分结束。

程序会将转换好的文件打在文件 code.txt ,也可以手动更改生成的文件名。反正输出在哪里不重要,还是要复制出来粘贴到vscode对应的地方,而且应该没人不会freopen吧。 里面就是格式改好的代码块,直接复制即可。

代码

#include <bits/stdc++.h>
using namespace std;
#define int long long
#define usd unsigned
#define el cout << '\n'
#define lowbit(x) (x & (-x))
const int ranmod = 1e7;
#define random ((rand() * rand()) % ranmod)
#define AC return 
#define AK return 0
#define YS cout << "YES"
#define NO cout << "NO"
#define Ys cout << "Yes"
#define No cout << "No"
#define ys cout << "yes"
#define no cout << "no"
#define ls(i) ch[i][0]
#define rs(i) ch[i][1]
#define debug(num) cerr << #num << ' ' << num << '\n'
// void init();
void main_();
signed main() {cout << "write prefix on the first line,write code below,(use \"####\" to end)"; el; // ios :: sync_with_stdio(false);// cin.tie(NULL);// cout.tie(NULL);// freopen(".in", "r", stdin);freopen("code.txt", "w", stdout);int t = 1;// cin >> t;while(t--) {// init();main_();}AK;
}
const int mod = 95225987, maxn = +18;string str;string solve(string s) {string res = "";int cnt = 0;while(s[cnt] == ' ' && cnt < s.length()) cnt++;for(int i = 1; i <= cnt / 4; i++) {res = res + '\\' + 't';}for(int i = cnt; i < s.length(); i++) {char ch = s[i];if(ch == '\"' || ch == '\'') {res += '\\';res += ch;} else if(ch == '\t') {res += '\\';res += 't';} else res += ch;}return res;
}void main_() {cout << "{" << '\n' << "\t\"include\": { \n\t\t\"prefix\": \"";    getline(cin, str);cout << solve(str) << "\",\n";cout << "\t\t\"body\": ["; el;while(true) {getline(cin, str);if(str == "####") break;else {cout << "\t\t\t\"" << solve(str) << "\","; el;}}cout << "\t\t],\n";cout << "\t},\n}";el;
}
http://www.hskmm.com/?act=detail&tid=23766

相关文章:

  • 二分模板
  • 如何控制事务?
  • C语言速成秘籍——跳转语句(goto) - 实践
  • 五子棋-下满了格子平局
  • 从免疫原性突破到技术迭代:全人源抗体如何重塑靶向治疗格局?
  • 工作感受月记(202510月)
  • 欧几里得算法与扩展欧几里得算法详解
  • 题解:AT_agc038_f [AGC038F] Two Permutations
  • 10.3 考试总结
  • CSP-S 复赛指南(2025年版)
  • AI元人文系列文章:AI元人文的未来——软硬件协同
  • 10.3考试反思
  • 10.2 考试总结
  • 20251003国庆模拟3
  • 20251002国庆模拟2
  • ハレハレヤ
  • 4-创建索引和约束 - 实践
  • 2025十一集训——Day2做题
  • 核聚变:Commonwealth Fusion Systems
  • 占个位置~
  • AI元人文系列文章:价值决策芯片——为机器安上一颗“透明的心”
  • 30天JavaScript挑战 - 从零基础到精通的完整学习指南
  • 题解:AT_agc057_c [AGC057C] Increment or Xor
  • 占个位置
  • 使用 Copilot AI + Blazor 编一个五子棋游戏
  • 关于VMware虚拟机如何下载-2025.10.3
  • 国庆集训做题10.1 - 10.3
  • 玳瑁的嵌入式日记---0928(ARM--UART) - 指南
  • 解决Visual Studio中无法使用scanf和C++万能头的问题
  • 英文笔记