我不知道为什么我的 VSCode 在调试网络核心 Webapi 时非常慢,当我按 F10 时需要几秒钟来评估一行并且非常令人沮丧。评估局部变量时会出现问题。如果我在调试部分隐藏 VARIABLES 选项卡,调试器会改进很多。
Netcore 2.1 Macbook pro 15" TouchBar。
在Chrome浏览器中打开Web应用程序时,可以将VSCode调试器附加到该应用程序。
调试器配置为:
{
"name": "Attach to Chrome",
"type": "chrome",
"request": "attach",
"port": 9222,
"url": "http://localhost:4200/*",
"webRoot": "${workspaceFolder}",
},
Run Code Online (Sandbox Code Playgroud)
但是,当我在Brave浏览器中打开Web应用程序时,无法附加VSCode调试器。
Web应用程序是Angular在http://localhost:4200/users
我在跑:
Chrome Version 70.0.3538.102 (Build officiel) (64 bits)
Brave Version 0.56.12 Chromium: 70.0.3538.77 (Build officiel) (64 bits)
VSCode Version 1.23.0
Run Code Online (Sandbox Code Playgroud)
在一个Lubuntu 16.04盒子上。
是Brave浏览器还没有准备好进行调试?还是我应该删除一些端口限制?我已经将此Web应用程序放下了。但是VSCode仍然没有依附。
当我在 VSCode 中启动调试器时,只有在调试过程因“缺少所需的依赖项”导入错误而停止后,conda 环境才会被激活。然后立即重新启动调试器工作正常。
Anaconda“基础”和其他环境会出现此问题。
测试代码:import_pandas.py
import pandas
print("Pandas import succeeded!")
Run Code Online (Sandbox Code Playgroud)
VSCode Python 调试控制台:
Microsoft Windows [Version 10.0.16299.1146]
(c) 2017 Microsoft Corporation. All rights reserved.
C:\Users\peter\demo>cd c:\Users\peter\demo &&
cmd /C "set "PYTHONIOENCODING=UTF-8" &&
set "PYTHONUNBUFFERED=1" &&
C:\Users\peter\AppData\Local\Anaconda3\python.exe
c:/Users/peter/.vscode/extensions/ms-python.python-2019.5.18678/pythonFiles/ptvsd_launcher.py
--default --client --host localhost --port 49530
c:\Users\peter\demo\import_pandas.py "
...
ImportError: Missing required dependencies ['numpy']
C:\Users\peter\demo>C:/Users/peter/AppData/Local/Anaconda3/Scripts/activate
(base) C:\Users\peter\demo>conda activate base
(base) C:\Users\peter\demo>
Run Code Online (Sandbox Code Playgroud)
请注意,调试器停止后,conda 会自动激活。
一旦环境被激活,调试过程就不再失败:
(base) C:\Users\peter\demo>cd c:\Users\peter\demo &&
cmd /C "set "PYTHONIOENCODING=UTF-8" &&
set "PYTHONUNBUFFERED=1" &&
C:\Users\peter\AppData\Local\Anaconda3\python.exe
c:/Users/peter/.vscode/extensions/ms-python.python-2019.5.18678/pythonFiles/ptvsd_launcher.py
--default --client --host localhost …Run Code Online (Sandbox Code Playgroud) 当我开始使用 Chrome 的启动配置进行调试时,浏览器将打开。但是当我使用 Firefox 的启动配置时,浏览器无法打开。但 Firefox 进程已启动。没有错误消息。
.vscode/launch.json:
{
"version": "0.2.0",
"configurations": [
{
"type": "chrome",
"request": "launch",
"name": "Chrome + localhost",
"url": "http://localhost:4200",
"webRoot": "${workspaceFolder}"
},
{
"type": "firefox",
"request": "launch",
"reAttach": true,
"name": "Firefox + localhost",
"url": "http://localhost:4200",
"webRoot": "${workspaceFolder}"
},
]
}
Run Code Online (Sandbox Code Playgroud) 我想使用 Visual Studio Code 的调试器来调试我的 python 代码,但发生了异常。我使用 Windows 10、WSL、Debian、Python 3.7.6。
Exception has occurred: ModuleNotFoundError
No module named 'flask'
File "/home/kazu/test/main.py", line 2, in <module>
from flask import Flask
Run Code Online (Sandbox Code Playgroud)
这是 python 调试器控制台的记录。
pyenv shell 3.7.6
/home/kazu/.pyenv/versions/3.7.6/bin/python /home/kazu/.vscode-server/extensions/ms-python.python-2020.1.58038/pythonFiles/ptvsd_launcher.py --default --client --host localhost --port 52440 /home/kazu/test/main.py
kazu@D:~/test$ pyenv shell 3.7.6
kazu@D~/test$ /home/kazu/.pyenv/versions/3.7.6/bin/python /home/kazu/.vscode-server/extensions/ms-python.python-2020.1.58038/pythonFiles/ptvsd_launcher.py --default --client --host localhost --port 52440 /home/kazu/test/main.py
Run Code Online (Sandbox Code Playgroud)
但是,我已经使用 pipenv 安装了烧瓶。当我不使用调试器时,没有模块错误。
这是我的 main.py
from __future__ import unicode_literals
from flask import Flask
from flask import render_template
from flask import request
from flask …Run Code Online (Sandbox Code Playgroud) python visual-studio-code windows-subsystem-for-linux pipenv vscode-debugger
我有一个如下所示的 launch.json:
"version": "0.2.0",
"configurations": [
{
"name": "Launch",
"type": "go",
"request": "launch",
"mode": "auto",
"program": "${fileDirname}",
"env": {},
"args": ["server"]
}
]
}
Run Code Online (Sandbox Code Playgroud)
当我使用 VScode 上的调试视图启动它时,它工作正常,但我需要将属性更改program为工作区位置中相应文件的相对路径,观察到奇怪的行为,同一包中的其他组件开始抛出undefinedfunc 错误。当前工作目录或 go 模块设置可能出现问题。
为了进一步调查,我需要知道从此 launch.json 文件生成的命令。应该就像go run ...
我检查了输出和调试控制台一样,它们都没有显示有关启动命令的信息。
如果您知道如何查看启动命令,请帮忙。
这是我的具体案例的一些背景。我获得了一个多模块 Maven 项目,并在 VSCode 中将整个项目作为一个工作区打开。这些模块作为文件部署到 JBoss 服务器.war。每个模块都有自己的模块artifactId,并且可以调用其他模块(通过 HTTP 或其他协议)。我launch.json在目录中创建了一个文件.vscode。该.vscode目录位于项目根目录下的其他模块中。该launch.json文件包含以下内容:
{
"version": "0.2.0",
"configurations": [
{
"type": "java",
"name": "Debug (Attach) - Remote",
"request": "attach",
"hostName": "<ip_address>",
"port": 8787
}
]
}
Run Code Online (Sandbox Code Playgroud)
如果我不需要在调试控制台中评估语句,则此方法有效。"projectName": "<artifactId>"当我需要评估单个模块的语句时,我还可以添加。但是,我无法同时调试多个模块。我当前正在做的是 1)停止调试器,2)编辑projectName下一个模块artifactId,3)再次附加调试器(并触发新请求)。这听起来不像是在 VSCode 中调试此类项目的最佳方式。请注意,我还尝试将父 POMartifactId甚至项目根目录名称设置为projectName,但它们都不起作用(在本例中,它只是说“无法评估,因为 java.lang.IllegalStateException:项目 <name> 无法被发现”)。
有没有一种方法可以在 VS Code 中进行查找和替换,当您一遍ENTER ENTER ENTER又一遍地按下一页代码或文本时,您可以跳过某些单词?
我发现必须抓住鼠标,单击向下箭头来跳过错误的匹配,然后在跳过后再次单击替换框以恢复,这非常烦人。
寻找一些我可以在那一刻跳过的按键或热键,这样我就可以完全避免完全触摸鼠标。