Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hello world #22

Open
longkai opened this issue Apr 23, 2024 · 0 comments
Open

Hello world #22

longkai opened this issue Apr 23, 2024 · 0 comments

Comments

@longkai
Copy link
Owner

longkai commented Apr 23, 2024

上架了一个 vscode 插件

插件市场的地址在这里,先上一下效果吧:

Format YAML

作为一个后端工程师,平时没少接触DevOps工具,比如 Kubernetes,Ansible Playbooks,CI/CD pipeline 等等,而这些通常使用YAML格式来作为描述语言。每天都会接触到或多或少yaml文件,不开玩笑的说,有些时候也算个YAML工程师了。

如果你也觉得是这样,那这个插件很可能对你有用。

拿k8s的YAML来举个栗子:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
spec:
  selector:
    matchLabels:
      app: nginx
  replicas: 2
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.14.2
        ports:
        - containerPort: 80

不知道你注意到没有,对于序列(sequence)类型(containersports),k8s采用的是无缩进的风格。每当使用kubectl命令去操作(get/edit等等)资源时,都是不带缩进的。更不用说像kustomize这样的工具还会强制你这么做。

不幸的是,vscode内置的YAML格式化插件有着它自己的哲学。它始终会缩进并且拒绝提供一个选项来满足上述场景。

所以默认插件就没啥用了。我不得不自己去手动处理缩进,否则会两边风格不统一,看起来怪怪的很不舒服。

重复这过程很乏味,尝试了其他插件也无果,所以我写了这么个插件来让世界变得更美好一点点。现在你可以自由地控制想要什么样的风格。

过程中感谢好朋友陆鹏鹏帮忙设计了icon。

当然必须还有开源社区,本质上这插件是google/yamlfmt的一个封装,在使用的过程中发现一些问题,然后提了PR,review合并到上游,最后用Github Actions自动发布,这其中的学习和实践体验很棒。

也欢迎同学们的贡献或者建议,希望它能够帮助到你:)

EOF

summary: 写了个vscode插件,如果同学们平常接触k8s这类的DevOps工具比较多,应该会有帮助。 
weather: hot
license: cc-40-by
location: Guilin
background: ./cover.jpeg
tags: [k8s, vscode, DevOps]
date: 2022-09-30T19:30:00+08:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant