Skip to content

ahmadalli/vscode-nginx-conf

 
 

Repository files navigation

Visual Studio Marketplace Downloads

Nginx config file hint(auto-completion) for VS Code

.github/workflows/ci.yaml

A Visual Studio Code extension that helps you write Nginx configuration files. Many features in it include syntax highlight, auto-complete, in-editor documents, embedded Lua block, and more.

Note

This extension is a fork of hangxingliu/vscode-nginx-conf-hint.
This fork exists and is being maintains because there is compatibility issue with the raynigon.nginx-formatter extension which comes from the fact that the upstream projects uses NGINX as language id while the formatter extension uses nginx and it's not possible to have both extensions on the same file.

Known Issues

Formatting

  • There are some issues with the formatting functionality of this extension (#4, #7). As a workaround, you can use raynigon.nginx-formatter extension to format your nginx configuration files.

    This is not a complete solution, since the formatter extension also has some issues like raynigon/vscode-nginx-formatter#207

Installation

  1. Click Extension button in left side of VSCode. (Shortcut: Ctrl+Shift+X or Command+Shift+X)
  2. Search for ahmadalli.vscode-nginx-conf and click the Install button.
  3. Reload VSCode.

Screenshots

screenshots

Features

  1. Syntax highlight for Nginx configuration file
  2. Support syntax of Lua block in Nginx configuration file
  3. Autocomplete directives, variables, location, media types, path, and more
  4. Hint directive arguments and usage
  5. Provide Nginx snippets
  6. Provide directives and snippets from OpenResty
  7. Menu item "Goto Nginx Document" for display related Nginx document in the editor

Changelog

0.3.1 (2024-02-29)

  1. Update hint data to Dec 5th, 2023. @AdrianDsg
    • Nginx directives
    • Lua Resty directives
    • HTTP headers
    • MIME types
  2. Add completion for HTTP headers
  3. Add two file extension names .conf.default and .conf.template. @halilim
  4. Fix syntax for constant values, language keywords
  5. Update Nginx beautifier

0.3.0 (2021-11-20)

📣 There are a lot of updates in this version:

  1. The syntax of the Nginx configuration file is updated completely
    • Because the syntax from sublime extension and shanoor's repo are long time no updates. So I write a syntax generator for better highlight
    • New syntax is generated from codes. You can find them in generate-tmLanguage.ts
    • New syntax supports embedded Lua block
    • New syntax supports the directive statement in multiple lines
    • And extension configuration nginx-conf-hint.syntax is removed
  2. Optimize hint data loader and document loader. They use less memory now and load data on demand
  3. This extension can run as a web extension. So you can use this extension on https://vscode.dev/ now
  4. The coverage of auto-completion is more, and auto-completion is smarter
    1. Auto completion is based on the context and grammar of the configuration now
    2. Fix some wrong auto-completion items
    3. Autocomplete named location
    4. Autocomplete directive's named argument
    5. Autocomplete media types
  5. Add editor definition support for location directive
  6. Add new extension configuration nginx-conf-hint.externalModules for controlling enabled of external modules hint data
  7. The source code is rewritten by using Typescript

CHANGELOG.md
更新日志

Declaration

  1. Icon image of this extension is from extension nginx.conf
  2. This project uses the file src/libs/nginxbeautifier.js from https://github.com/vasilevich/nginxbeautifier
  3. This extension is published under the GPL-3.0 license

Building & Contributing

Please check out the document CONTRIBUTING.md for information about building/contributing this project

Pull Request & Issues

Author

LiuYue(hangxingliu): Author of the Original Project

ahmadali shafiee

Contributors

About

📝 VS Code extension: Nginx config file hint(auto-completion)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 67.0%
  • JavaScript 28.5%
  • Shell 3.5%
  • HTML 1.0%