vscode使用方法记录

目录

连接远程服务器

过程试图写入的管道不存在

通过跳板机/堡垒机连接服务器

进入远程服务器上的docker容器

代码编辑

找不到头文件

代码自动格式化不生效


连接远程服务器

过程试图写入的管道不存在

一般在配置好Remote-SSH插件后,经过以下步骤就能连上远程服务器。

但有时候会报“过程试图写入的管道不存在”错如下:

[22:45:47.063] Log Level: 2
[22:45:47.074] SSH Resolver called for "work-01", attempt 1
[22:45:47.074] "remote.SSH.useLocalServer": false
[22:45:47.075] "remote.SSH.useExecServer": false
[22:45:47.075] "remote.SSH.showLoginTerminal": true
[22:45:47.075] "remote.SSH.remotePlatform": 
[22:45:47.076] "remote.SSH.path": C:\Program Files\Git\usr\bin\ssh.exe
[22:45:47.076] "remote.SSH.configFile": undefined
[22:45:47.076] "remote.SSH.useFlock": true
[22:45:47.076] "remote.SSH.lockfilesInTmp": false
[22:45:47.076] "remote.SSH.localServerDownload": auto
[22:45:47.076] "remote.SSH.remoteServerListenOnSocket": false
[22:45:47.078] "remote.SSH.showLoginTerminal": true
[22:45:47.078] "remote.SSH.defaultExtensions": []
[22:45:47.078] "remote.SSH.loglevel": 2
[22:45:47.078] "remote.SSH.enableDynamicForwarding": true
[22:45:47.078] "remote.SSH.enableRemoteCommand": false
[22:45:47.078] "remote.SSH.serverPickPortsFromRange": {}
[22:45:47.078] "remote.SSH.serverInstallPath": {}
[22:45:47.082] VS Code version: 1.82.0
[22:45:47.082] Remote-SSH version: remote-ssh@0.106.5
[22:45:47.082] win32 x64
[22:45:47.084] SSH Resolver called for host: work-01
[22:45:47.084] Setting up SSH remote "work-01"
[22:45:47.087] Using commit id "e7e037083ff4455cf320e344325dacb480062c3c" and quality "stable" for server
[22:45:47.089] Install and start server if needed
[22:45:48.514] Checking ssh with "C:\Program Files\Git\usr\bin\ssh.exe -V"
[22:45:48.575] > OpenSSH_9.0p1, OpenSSL 1.1.1q  5 Jul 2022

[22:45:48.581] Running script with connection command: "C:\Program Files\Git\usr\bin\ssh.exe" -T -D 60261 "work-01" bash
[22:45:48.583] Terminal shell path: C:\WINDOWS\System32\cmd.exe
[22:45:49.166] > The authenticity of host can't be established.
> ED25519 key fingerprint is SHA256:txGFNbtmUFQ6mpsyeuR2fmzBg4fEOPyTURsf00012IU.
> This key is not known by any other names
> Are you sure you want to continue connecting (yes/no/[fingerprint])?]0;C:\WINDOWS\System32\cmd.exe
[22:45:49.167] Got some output, clearing connection timeout
[22:45:49.176] > The authenticity of host can't be established.
> ED25519 key fingerprint is SHA256:txGFNbtmUFQ6mpsyeuR2fmzBg4fEOPyTURsf00012IU.
> This key is not known by any other names
> Are you sure you want to continue connecting (yes/no/[fingerprint])? Host key verification failed.       
> 过程试图写入的管道不存在。

从前往后分析日志信息可以看到两处

[22:45:47.076] "remote.SSH.configFile": undefined

[22:45:47.087] Using commit id "e7e037083ff4455cf320e344325dacb480062c3c" and quality "stable" for server
[22:45:47.089] Install and start server if needed

第一处容易修复

第二处的意思是远程服务器上的vscode版本不兼容,需要安装 commit id 指定的版本,需要手动安装。从这个网址下载对应的安装包,注意将<commit id>替换成报错信息提示的版本 https://update.code.visualstudio.com/commit:<commit id>/server-linux-x64/stable

wget https://update.code.visualstudio.com/commit:e7e037083ff4455cf320e344325dacb480062c3c/server-linux-x64/stable

如果服务器上下载很慢就在本地下载好了传上去。在服务器上将安装包解压到 ~/.vscode-server/bin/<commit id> 目录中,如果没有该目录就自己建。

多数时候到这一步问题就能解决了,如果不能,还可尝试把这几处取消掉

通过跳板机/堡垒机连接服务器

配置C:\Users\user\.ssh\config文件,在里面先定义好jumpserver,再通过ProxyCommand指定ssh接连命令,如下。然后Connect to Host...连接workstation即可。

Host jumpserver
  HostName <跳板机IP>
  Port <跳板机端口>
  User <跳板机用户名>

Host workstation
  HostName <工作站IP>
  Port <工作站端口>
  User <工作站用户名>
  ProxyCommand ssh -W %h:%p jumpserver

进入远程服务器上的docker容器

按图1~7步安装扩展插件,其中docker插件安装好后vscode左侧会出现数字5所示docker图标。Remote Development插件一定要安装,不然会找不到数字11所示Attach Visual Studio Code选项。插件安装好后点数字8处docker图标可以显示出该服务器上的所有Containers,可以选择目标容器进入(8~11步)。最后可以看到vscode已经登录进容器中了,可以打开自己的代码进行调试了(12~13步)。

代码编辑

找不到头文件

进行C/C++编程时,如果没把自定义头文件路径写到配置文件里,编辑区域会用红色波浪线标识未定义的符号,并提示"cannot open source file"或"Include file not found in browse.path.C/C++"。但有时候明明已经将头文件目录添加到"includePath"中了,vscode还是找不到头文件。

这有可能是配置了"configurationProvider"。如下图所示,指定了cmake-tools进行头文件提示,但vscode环境并没有安装cmake-tools,所以它总是找不到头文件。 解决办法:
1、直接删除"configurationProvider"那一行;
2、安装上"CMake Tools"插件。

代码自动格式化不生效

正常情况安装了Black Formatter插件后就可以对代码自动格式化使代码变得整洁易读。

但有时无论怎么设置这个功能都不生效,特别是它之前一直工作得好好的,突然哪天就失效了。有可能是你手欠点了Update,导致和你的vscode版本不兼容。

### 如何在 VS Code 中记录或保存终端输出 要在 Visual Studio Code (VS Code) 中记录或保存终端输出,可以通过多种方法实现。以下是几种常见的解决方案: #### 方法一:手动复制粘贴 最简单的方式是从集成终端中选择并复制所需的输出内容到外部文件中。通过鼠标拖动或者键盘快捷键 `Shift` + `Arrow Keys` 来选中文本,然后右击选择“Copy”,最后将其粘贴至目标位置。 #### 方法二:重定向命令输出到文件 如果运行的是脚本或其他可执行程序,可以利用标准输入/输出流将结果写入文件。例如,在 Linux 或 macOS 的 Bash 终端下,使用如下语法[^1]: ```bash bash install_libsrtp.sh > output.log 2>&1 ``` 上述命令会把正常输出以及错误消息都存储到名为 `output.log` 的文档里。“>`表示覆盖模式,“>>”则用于追加操作;而`2>&1`确保了stderr也被捕获。 对于 Windows 用户来说,PowerShell 和 Command Prompt 同样支持类似的重定向机制: ```powershell .\install_libsrtp.ps1 *> output.txt ``` #### 方法三:启用内置日志功能 虽然 VS Code 自身并不提供专门针对终端输出的日志选项,但是它允许开发者自定义扩展来满足特定需求。比如安装第三方插件如 'Terminal Recorder' 可能会有帮助(需自行确认最新可用状态),这类工具能够录制整个 session 并导出为视频或文本形式。 另外一种间接方式是调整设置让每次启动新 shell 实例前自动加载某些初始化脚本来完成必要的配置工作。具体做法取决于所使用的操作系统及其默认 Shell 类型。 #### 方法四:调试辅助函数 当处理 PHP 脚本时遇到未定义函数调用等问题,则可能需要借助于更详细的诊断信息来进行排查。此时可以考虑加入额外的调试语句以便更好地理解内部变量的状态变化情况。例如下面这段代码展示了如何运用var_dump()打印复杂数据结构的内容[^3]: ```php <?php // Example of debugging with var_dump() $exampleArray = array('key'=>'value', 'anotherKey'=>null); var_dump($exampleArray); ?> ``` 同样地,在 Node.js 环境下构建应用程序并与数据库交互的过程中,合理设计模型架构至关重要。这里给出了一段关于创建 Mongoose Schema 定义的例子[^4],其中涉及到了产品类型的声明及其关联集合名称指定等内容。 ```javascript const mongoose = require('mongoose'); let productSchema = new mongoose.Schema({ name: String, price: Number }); module.exports = mongoose.model('Product', productSchema, 'products'); ``` 以上就是几种可行的技术手段介绍给希望了解怎样有效收集来自 VS Code 集成控制台的信息的人士作为参考依据之一部分而已并非全部列举完毕结束说明谢谢!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值