level 1
import glob
import json
import os
import xml.etree.ElementTree as ET
def sublime_to_vscode(sublime_snippet_folder, vscode_snippet_folder):
try:
snippet_files = glob.glob(os.path.join(sublime_snippet_folder, '*.sublime-snippet'))
except Exception as e:
print(f"Failed to read snippet files: {e}")
return
for snippet_file in snippet_files:
try:
tree = ET.parse(snippet_file)
root = tree.getroot()
except Exception as e:
print(f"Failed to parse file {snippet_file}: {e}")
continue
prefix = None
body = None
description = None
for elem in root.iter():
if elem.tag == 'tabTrigger':
prefix = elem.text if elem.text else ''
elif elem.tag == 'content':
body = elem.text if elem.text else ''
elif elem.tag == 'description':
description = elem.text if elem.text else ''
if prefix and body:
print(f"Processing {prefix}")
filename = f"{prefix}.code-snippets"
vscode_snippet_file = os.path.join(vscode_snippet_folder, filename)
vscode_snippet = {
"prefix": prefix,
"body": body,
"description": description
}
try:
with open(vscode_snippet_file, 'w') as f:
f.write(json.dumps(vscode_snippet))
except Exception as e:
print(f"Failed to write file {vscode_snippet_file}: {e}")
continue
if __name__ == '__main__':
sublime_to_vscode('./存放Sublime的snippet目录', './输出VSCodesnippet的目录')
没找到怎么上传文件 .py 送给如果有同样需要的朋友
2023年04月03日 08点04分
4