最後活躍 1 month ago

vscode 开发必选扩展

修訂 8ff0ab14d6594b2187280c149b78b44cfd985e73

README.md 原始檔案

VS Code 扩展推荐

扩展列表

名称 扩展 ID (官方) 扩展 ID() 描述
Even Better TOML tamasfe.even-better-toml - 功能齐全的 TOML 支持
Choose a License ultram4rine.vscode-choosealicense - 为你的项目选择一个许可证
gitignore codezombiech.gitignore - https://github.com/github/gitignore 仓库拉取 .gitignore 模板。支持.gitignore 文件的语言。
index.txt 原始檔案
1tamasfe.even-better-toml
2ultram4rine.vscode-choosealicense
3codezombiech.gitignore
4
install 原始檔案
1#!/usr/bin/env bash
2
3BASE_URL="https://gist.asfd.cn/jetsung/vscode/raw/HEAD/"
4LIST_FILE="index.txt" # 默认列表文件
5IDE_CMD="code" # 默认 VSCode
6FORCE=false
7EXTRA=""
8
9# 参数解析函数
10parameters() {
11 while getopts "s:f e:n:" opt; do
12 case $opt in
13 s) IDE_CMD="$OPTARG" ;;
14 f) FORCE=true ;;
15 e) EXTRA="$OPTARG" ;;
16 n) LIST_FILE="$OPTARG" ;;
17 \?) echo "无效参数: -$OPTARG" >&2; exit 1 ;;
18 esac
19 done
20 shift $((OPTIND-1))
21
22 # 剩余所有参数追加到 EXTRA
23 EXTRA="$EXTRA $@"
24}
25
26# 主函数
27main() {
28 parameters "$@"
29
30 # 处理 LIST_FILE:如果不包含 . 则自动添加 .txt(除非是 *.*)
31 if [[ "$LIST_FILE" != "*.*" ]] && [[ "$LIST_FILE" != *.* ]]; then
32 LIST_FILE="${LIST_FILE}.txt"
33 fi
34
35 URL="${BASE_URL}${LIST_FILE}"
36
37 echo "从 $URL 下载扩展列表..."
38 EXTENSIONS=$(curl -s --fail "$URL" | grep -v '^#' | grep -v '^$' | sed '/^$/d')
39
40 if [ -z "$EXTENSIONS" ]; then
41 echo "错误: 未获取到扩展列表或文件为空!请检查文件名(当前: $LIST_FILE)。" >&2
42 exit 1
43 fi
44
45 BASE_CMD="$IDE_CMD --install-extension"
46
47 # 添加 --force
48 if $FORCE; then
49 EXTRA="--force $EXTRA"
50 fi
51
52 echo "开始为 $IDE_CMD 安装扩展(命令: $BASE_CMD ... $EXTRA)"
53 echo "扩展列表:"
54 echo "$EXTENSIONS" | tr ' ' '\n' # 美化显示,每行一个
55 echo "-----------------"
56
57 # 遍历安装(处理行内空格分隔或多行)
58 echo "$EXTENSIONS" | tr ' ' '\n' | while read -r ext; do
59 [ -z "$ext" ] && continue
60 echo "安装: $ext"
61 $BASE_CMD "$ext" $EXTRA || echo "警告: 安装 $ext 失败(可能已安装或 ID 不兼容)"
62 done
63
64 echo "-----------------"
65 echo "所有扩展安装完成!请重启 IDE 以生效。"
66}
67
68main "$@"
python.txt 原始檔案
1ms-python.isort
2ms-python.autopep8
3ms-python.python
4ms-python.vscode
5pylance
6ms-python.vscode-python-envs
7ms-python.debugpy
8charliermarsh.ruff
9