开发全栈Web应用程序,我希望在linux机器(即git,docker容器和其他终端命令)上拥有所有代码和构建逻辑,但我的Windows机器上的所有开发工作流程(所以我的IDE) ,Web浏览器和REST客户端)通过SSH访问它。
我已经成功完成了除IDE以外的所有操作,我只能通过SSH编辑单个文件,而不是将文件夹作为项目进行管理。所以现在我在linux机器(Ubuntu)上使用VSCode,这是阻止我放弃图形界面并在其上安装Ubuntu Server的最后一件事。
不,我不想使用Vim或Emacs。我想使用VSCode或其他现代IDE,但最好使用VSCode。
答案 0 :(得分:3)
尝试使用远程VSCode插件,如下所述:Using Remote VSCode
此讨论正是关于您的问题:VSCode 13643 issue Github
编辑:我最近在Github上发现了一个新的VSCode插件:vs-deploy。它旨在快速远程部署文件和文件夹。它似乎工作,到目前为止我还没有发现任何错误。它适用于FTP,SFTP(SSH)和许多其他协议。
答案 1 :(得分:0)
SSH.NET nuget Package可以非常巧妙地用于复制文件和文件夹。 这是一个例子:
var host = "YourServerIpAddress";
var port = 22;
var user = "root"; // TODO: fix
var yourPathToAPrivateKeyFile = @"C:\Users\Bob\mykey"; // Use certificate for login
var authMethod = new PrivateKeyAuthenticationMethod(user, new PrivateKeyFile(yourPathToAPrivateKeyFile));
var connectionInfo = new ConnectionInfo(host, port, user, authMethod);
using (var client = new SftpClient(connectionInfo))
{
client.Connect();
if (client.IsConnected)
{
//TODO: Copy folders recursivly etc.
DirectoryInfo source = new DirectoryInfo(@"C:\your\probject\publish\path");
foreach (var file in source.GetFiles())
{
client.UploadFile(File.OpenRead(file.FullName), $"/home/yourUploadPath/{file.Name}", true);
}
}
}
使用上面的代码创建上传控制台应用程序时,您应该能够通过在项目中添加一个部分来使用postbuild事件自动触发上传。
<Target Name="PostBuild" AfterTargets="PostBuildEvent">
<Exec Command="path to execute your script or application" />
</Target>
如果您希望执行相同但更多手动,则可以执行
dotnet build --configuration Release
后跟
dotnet publish ~/projects/app1/app1.csproj
然后使用上面的代码执行上传。
答案 2 :(得分:0)
搜索由Vitaly Kondratiev开发的扩展SSHExtension 安装扩展。 并使用服务器详细信息编辑serverlist json。 例如: “ sshextension.serverList”:[ { “名称”:“ Kuberntes 212”, “主机”:“ 10.64.234.54”, “端口”:22, “ username”:“ root”, “密码”:“再见” } ] 保存文件
然后使用ctrl + shift + p登录并选择sshextension打开ssh扩展类别。它会为您创建一个会话。
更多如果您需要将整个目录结构放到本地工作区中,则很容易。 在vscode中使用扩展ftp-simple。相信我,这真是一个奇迹。 在vscode中安装ftp-simple Ctrl + Shift + P 选择ftp-simple:config。 配置设置 [ { “ name”:“ Kubernetes 212”, “主机”:“ 10.75.64.2”, “端口”:22, “ type”:“ sftp”, “ username”:“ root”, “ password”:“ byebye”, “ path”:“ / home / vinod /”, “自动保存”:是的, “确认”:是 }] 保存文件。 现在Ctrl + Shift + P 然后选择ftp-simple:remote目录到工作区。
中提琴您的工作完成了,生活很简单