右键无“run code”选项需先安装code runner插件并确保文件有正确后缀(如main.py);java需配置executormap添加-d .和-cp .;python提示“command not found”需检查系统path或改用python3;乱码问题根源是终端编码(如cmd默认gbk)与文件utf-8不匹配,应统一设为utf-8。

右键菜单没“Run Code”选项?先确认插件和文件类型
VS Code 默认不带右键运行功能,必须装 Code Runner 插件,且它只对已知后缀名的文件生效。比如你右键一个 test.xyz 文件,哪怕内容是 Python,也不会显示运行项——它只认扩展名。
常见支持语言(无需额外配置):python、java、c、cpp、javascript、html、php 等。不支持的如 sh 或自定义后缀,需手动配 executorMap。
- 插件安装路径:左侧扩展图标 → 搜索
Code Runner→ 点击“Install” - 安装后重启 VS Code 或重载窗口(
Ctrl+Shift+P→ 输入Developer: Reload Window) - 确保当前打开的是文件(不是未保存的临时标签页),且文件已保存并带正确后缀,例如
main.py,不是Untitled-1
Java 右键运行失败:class 文件路径和包声明冲突
Code Runner 默认执行的是 cd $dir && javac $fileName && java $fileNameWithoutExt,这在无包声明的单文件场景下能跑通,但一旦写了 package com.example;,就会报 Error: Could not find or load main class。
根本原因:Java 要求 class 文件结构必须匹配包路径,而默认命令没做目录跳转或 classpath 设置。
- 简单规避法:删掉
package声明,用裸类测试 - 正确做法:改
settings.json中的code-runner.executorMap,例如:"java": "cd $dir && javac -encoding UTF-8 $fileName && java $fileNameWithoutExt"
→ 这仍不行;真正要加的是-d .和运行时指定 classpath:"java": "cd $dir && javac -encoding UTF-8 -d . $fileName && java -cp . $fileNameWithoutExt"
- 注意:
$fileNameWithoutExt不含路径,若类在子包里(如src/com/example/Main.java),得用完整类名com.example.Main,此时建议改用tasks.json或终端手动运行
Python 右键运行却提示“python: command not found”
这不是 VS Code 的问题,而是系统找不到 python 命令。Code Runner 本质是调用你终端里能运行的命令,所以它和你在 CMD/PowerShell/Terminal 里敲 python --version 的结果完全一致。
- Windows 用户:安装 Python 时务必勾选
Add Python to PATH;否则即使安装成功,VS Code 也看不到 - macOS 用户:Homebrew 安装的
python3默认不叫python,Code Runner默认用python,所以要么改executorMap:"python": "python3 -u $fileName"
要么在终端运行which python3,然后软链:sudo ln -s $(which python3) /usr/local/bin/python - Linux 用户:检查
ls -l $(which python),很可能指向 Python 2;直接改executorMap更稳妥
右键运行后输出乱码或中文显示为问号
本质是终端编码与源文件编码不匹配,尤其 Windows 上最常见。Code Runner 默认走系统终端(CMD/PowerShell),而 CMD 默认是 GBK(代码页 936),但你的 Python/Java 文件大概率是 UTF-8 编码。
- Python 场景:在文件开头加
# -*- coding: utf-8 -*-仅影响解释器读取,不影响终端输出编码 - 终极解法:统一终端编码为 UTF-8:
- Windows PowerShell:运行
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8(临时);或修改 VS Code 终端默认 Shell 为 Git Bash(自带 UTF-8) - VS Code 设置中搜
terminal.integrated.defaultProfile,选Git Bash(如果已安装)
- Windows PowerShell:运行
- Code Runner 自带设置项
code-runner.runInTerminal,设为true后,它会复用 VS Code 集成终端的编码,比弹独立 CMD 窗口更可控
真正麻烦的不是配错哪一行 JSON,而是你改了 executorMap 却没意识到终端本身在用 GBK 解码 UTF-8 字节流——这时候再怎么改命令都没用。











