• Stars
    star
    1,022
  • Rank 45,039 (Top 0.9 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created almost 6 years ago
  • Updated over 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

UNOFFICIAL Netease Music extension for Visual Studio Code
icon

VSC Netease Music

UNOFFICIAL Netease Music extension for Visual Studio Code

Visual Studio Marketplace Visual Studio Marketplace Version Visual Studio Marketplace Installs Visual Studio Marketplace Rating GitHub Stars

demo

Feature

使用 Webview 实现,通过 HTMLAudio​Element 播放音乐,不依赖命令行播放器灵感来自 kangping/video

  • 发现音乐 (歌单 / 新歌 / 排行榜)
  • 搜索 (单曲 / 歌手 / 专辑 / 歌单 / 电台)
  • 用户登录 (手机号 / 邮箱 / Cookie)
  • 用户收藏 (歌单 / 歌手 / 专辑 / 电台)
  • 每日歌曲推荐 / 推荐歌单 / 私人 FM / 心动模式 / 听歌排行
  • 喜欢音乐 / 收藏音乐 (单曲 / 歌单 / 专辑 / 歌手 / 电台)
  • 播放模式切换 / 音量调节
  • 每日签到
  • 逐行歌词
  • 热门评论
  • 快捷键支持
  • 听歌记录
  • 海外使用
  • 支持 Remote Development / code-server

Requirement

VS Code 使用的 Electron 版本不包含 ffmpeg,需替换自带的 ffmpeg 动态链接库才能正常播放 (每次更新 VS Code 都需重新替换)

VS Code for Windows 1.31.0 - 1.35.1 不需替换,1.36.0 后无此待遇

VS Code for macOS 1.43+ 替换后闪退解决方案

Manual Replacement

通过 VS Code 版本在 https://raw.githubusercontent.com/Microsoft/vscode/%version%/.yarnrc 查看其使用的 Electron 版本,并于 https://github.com/electron/electron/releases/tag/%version% 下载对应的 Electron 完整版本进行替换

Windows

下载 electron-%version%-win32-%arch%.zip

替换 ./ffmpeg.dll

macOS

下载 electron-%version%-darwin-x64.zip

替换 ./Electron.app/Contents/Frameworks/Electron\ Framework.framework/Libraries/libffmpeg.dylib

Linux

下载 electron-%version%-linux-%arch%.zip

替换 ./libffmpeg.so

Automatic Replacement

使用 Python 脚本替换 (使用淘宝 Electron 镜像,兼容 Python 2/3,绝大部分发行版自带环境)

默认安装位置下 Linux 和 Windows 需要以管理员身份运行,macOS 不需要

Windows Powershell

Invoke-RestMethod https://gist.githubusercontent.com/nondanee/f157bbbccecfe29e48d87273cd02e213/raw | python

Unix Shell

curl https://gist.githubusercontent.com/nondanee/f157bbbccecfe29e48d87273cd02e213/raw | python

如果 VS Code 使用默认配置安装,脚本会自动寻找并替换,若自定义了安装位置,请自行修改 installation

Usage

按下 F1Ctrl Shift P 打开命令面板

输入命令前缀 网易云音乐NeteaseMusic 开始探索 :D

Hotkey

Command Key
静音 / 恢复 Alt M
上一首 Alt ,
下一首 Alt .
播放 / 暂停 Alt /

Extension Setting

  • NeteaseMusic.Popup.appearance: 总是 / 仅失败时 / 从不显示 "正在播放" 提示
  • NeteaseMusic.API.SSL: 启用 / 禁用 HTTPS API
  • NeteaseMusic.SSL.strict: 启用 / 禁用 SSL 证书检查
  • NeteaseMusic.CDN.redirect: 启用 / 禁用海外 CDN 重定向
  • NeteaseMusic.PIN.auto: 启用 / 禁用自动固定 Webview 标签页

Known Issue

  • 由于未找到支持播放在线音乐能够正常遥控足够小巧的命令行播放器而借助 Webview 实现 (mpg123 在 windows 下的控制有 bug)
  • 暂不支持分页 (组件的交互限制)
  • 图标不合适 (等 VS Code 增加更多图标支持)
  • 列表对齐可能有问题 (不同字体下字符宽度不等)
  • Webview 标签无法隐藏,使用时请不要关闭标签
  • Webview API 限制只在前台可见才能接收来自插件侧的 postMessage 消息,需要通信时插件会自动切换到 Webview 再复原 Editor,标签切换不可见但会引起编辑器滚动条闪动 (不影响输入) 自 1.31.0 开始 reveal 后 postMessage 会导致可见的切换延迟,已改用 WebSocket 实现双向通信 WebSocket 端口无法转发导致在 remote 环境无法使用,已改为 SSE + postMessage 实现 自 1.35.0 开始,后台 Webview 可以接收 postMessage 消息,改回自带 postMessage 实现双向通信
  • 1.31.0 升级使用 Electron 3.x,受制于 Chrome 66 内核的 Autoplay Policy,用户需先与 Webview 交互才能播放
  • 播放列表较长时无法定位到当前播放歌曲 (VS Code 未实现 activeItems 处于 quickPick 非可视区域时的滚动聚焦) 长列表定位问题 VS Code 已修复
  • 只显示中文命令是因为使用中文系统语言而未装中文语言包,应是 VS Code 对 nls 支持的 bug,请在应用商店安装中文语言包。如果习惯英文的话,可将显示语言改回英文

More Repositories

1

UnblockNeteaseMusic

Revive unavailable songs for Netease Cloud Music
JavaScript
17,035
star
2

Glee

也是个网易云第三方😶
JavaScript
355
star
3

weiboPicDownloader

Download weibo images without logging-in
Python
260
star
4

weiboBatchFollow

微博批量关注 (转移关注列表)
225
star
5

163marker

Add "163 key" for media file
Python
124
star
6

onemoretime

Nogizaka46 graduated members' blog archive
HTML
42
star
7

Nroxy

A VPNService based HTTP Proxy APP bundled with Node.js Runtime
C
41
star
8

Jike-Bus

🚍 即刻 Ⓙ SDK for Node.js
JavaScript
23
star
9

KeyakiMsgAssistant-Xposed

Xposed module for "欅坂46/日向坂46 メッセージ" app
Java
15
star
10

idol

坂道系官博聚合阅读
Python
14
star
11

Jike-Patcher

The Sun Jike Rises
Smali
12
star
12

Unblock163MusicClient-Remote

Serverless Backend for Unblock163MusicClient-Xposed
JavaScript
12
star
13

Jike.Tab

New Tab Page for Jike.APP
JavaScript
9
star
14

JikeRedirect

Redirect Jike API to Jellow API
JavaScript
8
star
15

JikeRedirect-Xposed

Redirect Jike API to Jellow API
Java
8
star
16

KeyakiMsgAssistant

CLI tool for extracting resources from "欅坂46/日向坂46 メッセージ" app
Python
7
star
17

Jellow-Patcher

Make Jellow APP work again
Smali
6
star
18

electron-toutiao

开发者头条 Menubar application for Mac
JavaScript
6
star
19

NogiKeya

Utilities for collecting data from nogi‘s & keyaki’s official website
Python
5
star
20

bannero

An image API for simpledesktops.com
5
star
21

algorithm-review

被笔试虐得不要不要的
Python
4
star
22

contribution-graph

毕业衫创意 UESTC SCSE 2014
4
star
23

idol-dev

坂道系官博聚合阅读
JavaScript
3
star
24

platform

Moving instructions for nogimono
Python
3
star
25

Deno-Proxy

simple HTTP proxy
JavaScript
3
star
26

tauri-start

JavaScript
2
star
27

RemoteAudioElement

HTMLAudioElement for Node.js
JavaScript
2
star
28

nogimono

乃木物平台
Python
2
star
29

groove-music-concept

Concept design for Groove Music (For fun)
JavaScript
2
star
30

jellow

JavaScript
2
star
31

2048

2048 Game
2
star
32

kuuki-heroku

kuuki's server deployed on heroku
Python
2
star
33

sousenkyo-auto

AKB48 sousenkyo vote
Python
1
star
34

TimeFlies

new tab extension makes you more motivated
CSS
1
star
35

kuuki-predict

Python
1
star
36

onemorechance

Nogizaka46 graduated members' blog archive
HTML
1
star
37

ngx-plainindex

Plain indexes attachment for the Nginx web server
JavaScript
1
star
38

tiny-html-decorator

HTML
1
star
39

platform-api

APIs' documentation for nogimono
1
star
40

JellowRedirect-Xposed

Redirect Jellow API to Jike API
Java
1
star
41

dropbox

JavaScript
1
star
42

EXP-Weibo

不简单的微博平台
Python
1
star