在Windows下用VScode构造shell脚本的IDE
在linux系统中,大家可以很轻松的开发、调试shell脚本。但是,对于不熟悉linux系统
的小白或者想在Windows下开发shell脚本的人来说,这就有点不友好了。本篇文章就
教大家,在Windows上打造一个Shell IDE。
一、基础环境搭建
本次的主角是Visual Studio Code和Git,如果已经安装过可以跳过本节。
安装Visual Studio Code(VScode )
下载地址:https://code.visualstudio.com/Download
根据自己电脑的位数下载,建议大家选择System Installer进行系统级别的安装。

下载完双击文件,选择路径安装即可,安装过程中有一步需要注意:

①将“通过code 打开“操作添加到windows资源管理器文件上下文菜单
②将“通过code 打开”操作添加到windows资源管理器目录上下文菜单
说明:①②勾选上,可以对文件,目录点击鼠标右键,选择使用 VScode 打开。
③将code注册为受支持的文件类型的编辑器
说明:默认使用 VScode 打开诸如 txt,py 等文本类型的文件,一般建议不勾选。
④添加到PATH(重启后生效)
说明:这步骤默认的,勾选上,不用配置环境变量,可以直接使用。
安装Git
下载地址:https://git-scm.com/downloads

下载完成,双击文件选择路径安装即可,这里不再赘述。
二、为VScode安装插件
VScode的插件可以在Extensions中搜索然后进行安装,快捷键:Ctrl+Shift+x 。
shellman
shellman:提供智能提示和自动补全功能

由上图中的信息可以看出,安装了shellman后,相关的提示就有了。
shellcheck
shellcheck:提供语法检查的功能

安装了shellcheck后,写代码过程中出现了语法错误会自动提示。
shell-format
shell-format:提供代码格式化功能,快捷键:Alt+Shift+f
shell-format依赖于shfmt,在使用时会调用本地shfmt可执行文件。所以,我们要把依赖
文件下载到本地。
shfmt下载地址:https://github.com/mvdan/sh/releases
下载完成,在VScode中安装shell-format,然后打开配置文件 setting.json ,在文件末
尾添加如下配置:
"shellformat.path": "D:\\Plugin\\shfmt_v3.1.2.exe",
"shellformat.flag": "-i=2 -sr -kp -ci",
shellformat.path:用来指定shfmt的路径(要替换成自己的安装路径)
shellformat.flag:功能配置,具体请参考shfmt
Code Runner
Code Runner:提供代码运行功能

到此为止,我们需要的工具就组建起来了,大家也可以自己去插件官网探索一番。
Visual Studio Code插件官网:https://marketplace.visualstudio.com/
三、把工具畅快的用起来
辛辛苦苦忙了很久,到这一步是不是很激动,别着急,我们先把VScode重启一下。
重启完成后,我们来写一个简单的脚本:

等等,好像哪里不对,我们下载的git没有用上啊?
敲黑板:注意了,linux上脚本首行要声明bash解释器,Windows上也一样。不过,路径要
更改为我们刚刚安装git的路径,例如我这里 #!D:\git\bin\bash

我们可以看到脚本运行成功,初次构造这个工具,有些地方可能不完善,如果大家有
好的想法,欢迎留言或私信我。
在Windows下用VScode构造shell脚本的IDE的更多相关文章
- 在windows系统下用vscode构造shell脚本IDE
1.基础环境搭建 安装Visual Studio Code(VScode ) 下载地址:https://code.visualstudio.com/Download 下载完双击文件,选择路径安装即可, ...
- Windows下记事本编辑的Shell脚本放到Linux下执行出错,格式问题(/bin/bash^M: bad interpreter: 没有那个文件或目录)
错误: /bin/bash^M: bad interpreter: 没有那个文件或目录 解决方案: 运行脚本时出现了这样一个错误,打开之后并没有找到所谓的^M,查了之后才知道原来是文件格式的问题,也就 ...
- [日常] windows下使用vscode配合xebug调试php脚本
windows下使用vscode配合xebug调试php脚本 要下载有php_xebug.dll扩展的版本,最新版可能没有这个扩展,php7.3应该是有的,php7.3.4好像没有默认是不加载这个扩展 ...
- windows下用vscode写C++
[本文参考:https://www.cnblogs.com/zhuzhenwei918/p/9057289.html 和 https://www.zhihu.com/question/3031589 ...
- CentOS 下运维自动化 Shell 脚本之 expect
CentOS 下运维自动化 Shell脚本之expect 一.预备知识: 1.在 Terminal 中反斜杠,即 "" 代表转义符,或称逃脱符.("echo -e与pri ...
- linux系统下重启tomcat的shell脚本
linux系统下重启tomcat的shell脚本: #!/bin/shtomcat_home=/opt/apache-tomcat- #找到tomcat进程的id并kill掉 ps -ef |grep ...
- windows下perl的安装和脚本的运行
参考 1.windows下perl的安装和脚本的运行: 2.fddb测试fddb的评估方法: 3.gunplot5.2.4-download: 完
- Windows下的Objective-C集成开发环境(IDE)
Windows下的Objective-C集成开发环境(IDE) 分类: Objective-C2012-04-20 21:54 26631人阅读 评论(42) 收藏 举报 windowside编译器c ...
- windows下使用vscode编写运行以及调试C/C++
未经允许,禁止转载,唯一出处:tangming博客园 最后更新于2019年4月4日: 多次更新,内容较多,篇幅较大,但如果是喜欢visual stdio code这款编辑器的话建议仔细阅读,有疑问的地 ...
- Centos下使用php调用shell脚本
我们在实际项目中或许会遇到php调用shell脚本的需求.下面就用简单案例在Centos环境下实践 准备 查看php.ini中配置是否打开安全模式 //php.ini safe_mode = //这个 ...
随机推荐
- 记一次 .NET 某汽贸店 CPU 爆高分析
一:背景 1. 讲故事 上周有位朋友在 github 上向我求助,说线程都被卡住了,让我帮忙看下,截图如下: 时隔两年 终于有人在上面提 Issue 了,看样子这块以后可以作为求助专区来使用,既然来求 ...
- 03、SECS-I 协议介绍
03.SECS-I 协议介绍 上一篇我们学习了 SECS-II 协议,对 SECS-II 协议有了初略的了解,现在我们再来一起学习 SECS-I 协议. 文章的内容基本上来自参考资料和自己看的文档,若 ...
- 通过nc获取靶机的反弹Shell [靶机实战]
1.环境 Kali:172.30.1.3/24 靶机(Funbox9):172.30.1.129/24 2.信息收集 通过nmap扫描此主机,我们需要获取到开放的端口以及服务的Banner 1 nma ...
- .Net NPOI Excel 导出
NPOI 导出 Excel 最终效果图 环境:Revit,WPF,NPOI 2.5.6,.Net Framework 4.7.2 一.引用 NPOI 右击项目引用,选择 "管理NuGet程序 ...
- 利用APIFOX对ABAP函数进行调用
1.安装APIFOX,当然也可以使用在线版,无需下载 官网地址:https://apifox.com/ 2.新建项目 3.为项目起一个名称,为相关开发测试人员授权 4.在根目录新增子目录 5.编辑开发 ...
- 记一次618军演压测TPS上不去排查及优化
本文内容主要介绍,618医药供应链质量组一次军演压测发现的问题及排查优化过程.旨在给大家借鉴参考. 背景 本次军演压测背景是,2B业务线及多个业务侧共同和B中台联合军演. 现象 当压测商品卡片接口的时 ...
- 流量劫持 —— GZIP 页面零开销注入 JS
前言 HTTP 代理给页面注入 JS 是很常见的需求.由于上游服务器返回的页面可能是压缩状态的,因此需解压才能注入,同时为了节省流量,返回下游时还得再压缩.为了注入一小段代码,却将整个页面的流量解压再 ...
- [Kotlin Tutorials 21] 协程的取消
协程的取消 本文讨论协程的取消, 以及实现时可能会碰到的几个问题. 本文属于合辑: https://github.com/mengdd/KotlinTutorials 协程的取消 取消的意义: 避免资 ...
- Atcoder-AGC033C
看到这道题,是个博弈论,没见过树上的,于是想到在数列里的博弈论,又联想到树的特殊形式----链. 于是我们来讨论一下链的情况(对于没有硬币的点,我们就视为它被删掉了): 讨论链的情况 发现若是选择两端 ...
- 使用Mybatis生成树形菜单-适用于各种树形场景
开发中我们难免会遇到各种树形结构展示的场景.比如用户登录系统后菜单的展示,某些大型购物网站商品的分类展示等等,反正开发中会遇到各种树形展示的功能,这些功能大概处理的思路都是一样的,所以本文就总结一下树 ...