我有一些快速导航插件,比如我一直在使用的“块旅行”。有没有办法在cloud shell中使用它们?
我想有一些限制,但即使是一些简单的编辑器插件也可以节省大量的时间。
当我这样做的时候- alt-D来复制一行,或者转置行-其中一些似乎丢失了,很难使用键重新映射来工作,至少在shell中是这样的。通常,键盘快捷键似乎会被浏览器或PWA包装器捕获。我使用cloudshell作为chromebook FWIW上的for应用程序,用于各种安全项目。
发布于 2021-06-18 18:41:08
我已经想出了一个解决方案,涵盖了你问题的两个方面
获取无限制持久磁盘的:
您可以使用Google Cloud Storage FUSE
Google Cloud Storage FUSE允许您将GCS存储桶作为文件夹挂载到linux实例中。这样你就得到了一个“无限制”的持久磁盘,而且它的设置非常简单,因为gcsfuse已经安装在云shell中了。
创建GCS存储桶(只需运行一次) --用任意名称替换BUCKET_NAME : gsutil mb "gs:// bucket _NAME/“2.创建本地挂载目录--将FOLDER_NAME替换为所选目录名称: mkdir /
在云外壳中使用第三方插件的:
您可以使用public documentation中提到的环境自定义脚本(.customization_environment)。它允许您在启动时将其他包安装到Cloud Shell环境中。
作为参考,下面是安装VS代码插件的步骤。
步骤1:
要安装VSCode服务器,请在Cloud Shell Editor的根目录工作区中运行名为visual_studio_code.sh的脚本,如下所示。
visual_studio_code.sh文件:
export VERSION=`curl -s https://api.github.com/repos/cdr/code-server/releases/latest | grep -oP '"tag_name": "\K(.*)(?=")'`
wget https://github.com/cdr/code-server/releases/download/$VERSION/code-server-3.10.2-linux-amd64.tar.gz
tar -xvzf code-server-3.10.2-linux-amd64.tar.gz
cd code-server-3.10.2-linux-amd64
在shell中使用以下命令运行脚本,
./visual_studio_code.sh
if getting permission denied error then run this following command in shell,
chmod +x visual_studio_code.sh
./visual_studio_code.sh
第2步:
在Cloud Shell编辑器的根目录工作区中制作一个自定义脚本,通过以下命令启动VS Code Server:
.customization_environment文件:
#!/bin/sh
#.customize_environmnet run in background as root, wait for your user to initialize
sleep 20
sudo -u [USER] /home/[USER]/code-server-3.10.2-linux-amd64/code-server --auth none --port 9090
第3步:
要查看端口9090上的Visual Studio代码服务器:
Click on Web Preview > Change Port > 9090
如果收到404错误,请从url中删除‘?authuser=0’。Visual Studio代码服务器现在将在浏览器上运行!
块旅行导航插件:
要在云shell中使用块旅行导航插件,请执行以下命令,并在根目录下的shell中运行:
wget https://github.com/efatsi/block-travel/archive/refs/tags/v1.0.0.tar.gz
tar xzvf v1.0.0.tar.gz
ls
#You will see block-travel-1.0.0
block-travel-1.0.0/keymaps/block-travel.cson --auth none --port 9090
#You might get Permission denied if yes, then follow the next two commands else go to webport view in 9090
chmod +x block-travel-1.0.0/keymaps/block-travel.cson
block-travel-1.0.0/keymaps/block-travel.cson --auth none --port 9090
在9090中打开webport视图,您将能够使用以下命令浏览vs代码文件:
Alt+up for block-travel.jumpUp
Alt+shift+up for block-travel.selectUp
Alt+down for block-travel.jumpDown
Alt+shift+down for block-travel.selectDown
发布于 2021-06-15 00:04:01
Cloud Shell通过Theia提供VS代码编辑器体验。你有没有尝试过云shell中的云代码编辑器?这是通过“打开编辑器”按钮在右上角,这将打开云代码编辑器,为您提供VSCode体验。您拥有编辑器中所有可用的navigation密钥。
发布于 2021-06-23 21:41:14
警告:这不应该被认为是一个长期的解决方案,只是一个权宜之计,直到它以更容易的方式得到支持。
这可能不是最好的想法,但它似乎确实适用于我在我的环境中尝试过的vim扩展。可能最好通过产品反馈提出请求,以获得正式添加,但在此之前,您可以遵循以下步骤。
例如:
sudo unzip vscodevim.vsix -d /google/devshell/editor/theia/plugins/vscode-vim
现在是有问题的部分了。您需要安装pslist包以简化操作,这样您就可以访问rkill命令。您可能还想将它添加到.customize_environment文件中,因为它也不会持久化。
sudo apt install pslist
现在我们需要获取编辑器的进程id。目前,这似乎是由supervisord命令产生的,该命令还产生tmux部分,因此我们将从它产生的runuser命令中获取进程id (并过滤theia命令以防万一)。
ps ax | grep runuser | grep "theia start"
然后我们可以使用rkill来杀死进程和它的所有子进程,这将导致supervisord为我们重新启动它,并且插件应该是可用的。
sudo rkill PID_OF_GREP_OUTPUT
我还不确定编写rkill命令脚本的最佳方式,因为我不知道它何时结束与.customize_environment执行的时间,所以现在我每次启动一个新的VM时都会运行这个命令。
如果出现任何可怕的错误,您应该能够从菜单选项中请求重启VM并获得一个新的重启。
https://stackoverflow.com/questions/66705024
复制相似问题