在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的更多相关文章

  1. 在windows系统下用vscode构造shell脚本IDE

    1.基础环境搭建 安装Visual Studio Code(VScode ) 下载地址:https://code.visualstudio.com/Download 下载完双击文件,选择路径安装即可, ...

  2. Windows下记事本编辑的Shell脚本放到Linux下执行出错,格式问题(/bin/bash^M: bad interpreter: 没有那个文件或目录)

    错误: /bin/bash^M: bad interpreter: 没有那个文件或目录 解决方案: 运行脚本时出现了这样一个错误,打开之后并没有找到所谓的^M,查了之后才知道原来是文件格式的问题,也就 ...

  3. [日常] windows下使用vscode配合xebug调试php脚本

    windows下使用vscode配合xebug调试php脚本 要下载有php_xebug.dll扩展的版本,最新版可能没有这个扩展,php7.3应该是有的,php7.3.4好像没有默认是不加载这个扩展 ...

  4. windows下用vscode写C++

    [本文参考:https://www.cnblogs.com/zhuzhenwei918/p/9057289.html  和 https://www.zhihu.com/question/3031589 ...

  5. CentOS 下运维自动化 Shell 脚本之 expect

    CentOS 下运维自动化 Shell脚本之expect 一.预备知识: 1.在 Terminal 中反斜杠,即 "" 代表转义符,或称逃脱符.("echo -e与pri ...

  6. linux系统下重启tomcat的shell脚本

    linux系统下重启tomcat的shell脚本: #!/bin/shtomcat_home=/opt/apache-tomcat- #找到tomcat进程的id并kill掉 ps -ef |grep ...

  7. windows下perl的安装和脚本的运行

    参考 1.windows下perl的安装和脚本的运行: 2.fddb测试fddb的评估方法: 3.gunplot5.2.4-download: 完

  8. Windows下的Objective-C集成开发环境(IDE)

    Windows下的Objective-C集成开发环境(IDE) 分类: Objective-C2012-04-20 21:54 26631人阅读 评论(42) 收藏 举报 windowside编译器c ...

  9. windows下使用vscode编写运行以及调试C/C++

    未经允许,禁止转载,唯一出处:tangming博客园 最后更新于2019年4月4日: 多次更新,内容较多,篇幅较大,但如果是喜欢visual stdio code这款编辑器的话建议仔细阅读,有疑问的地 ...

  10. Centos下使用php调用shell脚本

    我们在实际项目中或许会遇到php调用shell脚本的需求.下面就用简单案例在Centos环境下实践 准备 查看php.ini中配置是否打开安全模式 //php.ini safe_mode = //这个 ...

随机推荐

  1. 在程序里如何停止整个python项目的运行

    我们的项目无可避免的会遇到一些场景,当出现某个故障或者异常,必须停止整个项目的运行,这时只需要在抛出的异常里执行以下即可: os._exit(0)

  2. 基于机器人自主移动实现SLAM建图

    博客地址:https://www.cnblogs.com/zylyehuo/ 基于[移动机器人运动规划及运动仿真],详见之前的博客 移动机器人运动规划及运动仿真 - zylyehuo - 博客园 参考 ...

  3. 牧云 • 主机管理助手|正式开放应用市场,梦幻联动雷池WAF等多款开源软件

    0x00 前言 上个月,我司长亭开源了雷池WAF,不到三天就吸引了超过上千个师傅使用,几个交流群里,师傅们讨论的热火朝天,其中两个话题引起了我们牧云 • 主机管理助手 ( Collie ) 团队的关注 ...

  4. CoaXpress downlink数据解析方法

    什么是downlink数据 downlink指的是相机传输到host采集卡的高速链路,其中包含了如下类型的数据: 1.Stream Data 2.Trigger Ack, Trigger: 3.Ack ...

  5. @FunctionalInterface注解的使用

    被@FunctionalInterface注解标记的类型表明这是一个函数接口.从概念上讲,函数接口只有一个抽象方法.如果接口声明的抽象方法覆写Object类的公共方法,那这方法不算作接口的抽象方法,因 ...

  6. 6个常见的IB网络不通问题

    摘要:如果遇到IB网络不通,可以试着从高层往底层逐步分析看看. 本文分享自华为云社区<常见IB网络不通问题记录>,作者: tsjsdbd . 如果遇到IB网络不通,可以试着从高层往底层逐步 ...

  7. Kubernetes(k8s) Web-UI界面(二):部署和访问Kuboard

    目录 一.系统环境 二.前言 三.Kuboard简介 四.部署Kuboard 五.访问kuboard 六.总结 七.附加信息 一.系统环境 本文主要基于Kubernetes1.21.9和Linux操作 ...

  8. Set 接口及其常用方法

    Set 接口基本介绍 Set接口是Collection接口的一个子接口,其主要特点如下: 不允许重复元素:Set接口的实现类不会包含重复的元素.更正式地说,不包含任何一对使得e1.equals(e2) ...

  9. 今天做php缓存发现一个批量替换非法关键词的php代码

    <?php $badwords = array('aa', 'bb'); // 敏感词数组 $str = "aa阿斯顿克拉拉斯柯达bb阿萨达速度"; $result = fi ...

  10. Java杂记————object.getClass()和object.class以及Java中的toString()方法的的区别

    不说废话,直接上干货: (注意大小写:object为对象,Object为类) 1,object.getClass()它是Object类的实例方法,返回一个对象运行时的类的Class对象,换句话说,它返 ...