在VSCode中,断点存储在哪里?
当我重新启动VSCode时,那些断点仍然存在,因此VSCode应该有一个存储它们的地方。但是它既不存储在工作空间中,也不存储在.vscode
中。
我需要知道它们的存储位置,以便可以方便,高效地备份/还原/添加/修改/删除多个断点。
答案 0 :(得分:0)
在Windows上,断点存储在:
%APPDATA%/Code/User/workspaceStorage/(long_hash)/state.vscdb
要找到(long_hash)
,我添加了一个断点并查找了最近被修改的文件。如果您有Cygwin bash,则在添加或删除断点之后,可以执行以下命令:
$ cd $APPDATA/Code
$ find . -mmin -1
state.vscdb
文件是SQLite数据库。我可以使用strings
(另一个Cygwin命令)从中提取一些数据:
$ $ strings state.vscdb | grep 'debug.breakpoint'
debug.breakpoint
debug.breakpoint
debug.breakpoint[{"enabled":true,"uri":{"$mid":1,"fsPath":"d:\\wrk\\learn\\vscode\\cpphello\\helloworld.cpp","_sep":1,"external":"file:///d%3A/wrk/learn/vscode/cpphello/helloworld.cpp","path":"/D:/wrk/learn/vscode/cpphello/helloworld.cpp","scheme":"file"},"lineNumber":12},{"enabled":true,"uri":{"$mid":1,"fsPath":"d:\\wrk\\learn\\vscode\\cpphello\\helloworld.cpp","_sep":1,"external":"file:///d%3A/wrk/learn/vscode/cpphello/helloworld.cpp","path":"/D:/wrk/learn/vscode/cpphello/helloworld.cpp","scheme":"file"},"lineNumber":13}]g
debug.breakpoint[{"enabled":true,"uri":{"$mid":1,"fsPath":"d:\\wrk\\learn\\vscode\\cpphello\\helloworld.cpp","_sep":1,"external":"file:///d%3A/wrk/learn/vscode/cpphello/helloworld.cpp","path":"/D:/wrk/learn/vscode/cpphello/helloworld.cpp","scheme":"file"},"lineNumber":12}]
上面是helloworld.cpp
第12行的单个断点。
可能不是!
如果您的目标是通过修改此文件自己查询或操作断点,则请注意,这可能会损坏VSCode的内部存储(即使使用适当的SQLite客户端)。
我建议改为使用VSCode扩展API debug.breakpoints
和debug.addBreakpoints
从VSCode中查询和修改它们。
答案 1 :(得分:0)
在 Mac 上是
~/Library/Application Support/Code/User/workspaceStorage/<hash>