kahunacoder / vscode-php-web

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Visual Studio Code Settings for Full Stack Web Development with PHP

These are the extensions, settings, fonts and applications I use for web development using vscode.

It is an executable bash script for installing selected extensions and importing settings into Visual Studio Code.

Extensions and settings are mainly configured for full stack web development.

The settings use the Fira Code font, so it is also installed when installing extensions and importing settings.

Also installed is Fuse (sshfs) for working with remote files over ssh.

Installation has been tested on Linux Mint, using Virtual Box, but should work with most ubuntu systems.

Follow this link to install Visual Studio Code Download Visual Studio Code

Installation

With curl and Visual Studio Code installed:

CAUTION this installation will REPLACE any extensions or settings you currently have.

curl -s https://raw.githubusercontent.com/kahunacoder/vscode-php-web/master/vscode-php-web.sh | bash

You will be asked for your password to install sshfs and the fira code font.

Alternate Installation Method

Download or clone the repository and then edit or run the bash file as needed:

./vscode-php-web.sh

In case of permission issues

Run this command as administrator:

sudo chmod u+x vscode-php-web.sh

And then try running the file again

You can alternatively install each extension individually by clicking on the links below.

Post Installation

After installation, start Visual Studio Code and follow the on screen instructions. The SonarLint language server needs a Java Runtime, Visual Studio Code will ask for your permission to download and manage the JRE and then restart Visual Studio Code.

List of extensions to be installed

Settings

These are the settings that will be applied for your installation.

{
    "composerCompanion.enabled": true,
    "composerCompanion.executablePath": "/usr/local/bin/composer",
    "terminal.integrated.fontFamily": "Fira Code",
    "terminal.integrated.scrollback": 5000,
    "editor.tabCompletion": "on",
    "editor.fontLigatures": true,
    "editor.fontFamily": "Fira Code",
    "editor.lightbulb.enabled": false,
    "editor.bracketPairColorization.enabled": true,
    "editor.tokenColorCustomizations": {
      "textMateRules": [
        {
          "scope": [
            "comment",
            "entity.name.type.class",
            "keyword",
            "storage.modifier",
            "storage.type.class.js",
            "storage.type.function.js",
            "storage.type.js",
            "keyword.control.import.js",
            "keyword.control.from.js",
            "keyword.control.flow.js",
            "keyword.control.conditional.js",
            "keyword.control.loop.js",
            "keyword.operator.new.js"
          ],
          "settings": {
            "fontStyle": "italic"
          }
        },
        {
          "scope": [
            "invalid",
            "comment",
            "keyword.operator",
            "constant.numeric.css",
            "keyword.other.unit.px.css",
            "constant.numeric.decimal.js",
            "constant.numeric.json",
            "entity.name.type.class.js"
          ],
          "settings": {
            "fontStyle": ""
          }
        }
      ]
    },
    "eslint.alwaysShowStatus": true,
    "vetur.format.defaultFormatter.html": "prettyhtml",
    "javascript.format.insertSpaceBeforeFunctionParenthesis": true,
    "html.format.enable": false,
    "html-css-class-completion.enableEmmetSupport": true,
    "explorer.openEditors.visible": 0,
    "cSpell.enabledLanguageIds": [
      "c",
      "cpp",
      "csharp",
      "go",
      "handlebars",
      "javascript",
      "javascriptreact",
      "latex",
      "markdown",
      "php",
      "plaintext",
      "python",
      "restructuredtext",
      "text",
      "typescript",
      "typescriptreact",
      "vue",
      "yml",
      "html"
    ],
    "cSpell.language": ",en-US,en",
    "workbench.startupEditor": "newUntitledFile",
    "php-cs-fixer.onsave": false,
    "window.openFilesInNewWindow": "on",
    "importCost.typescriptExtensions": [
      "\\.vue?$"
    ],
    "files.trimTrailingWhitespace": true,
    "gitlens.keymap": "chorded",
    "gitlens.advanced.messages": {
      "suppressLineUncommittedWarning": true
    },
    "workbench.statusBar.feedback.visible": false,
    "typescript.preferences.quoteStyle": "single",
    "cSpell.allowCompoundWords": true,
    "rest-client.previewResponseInUntitledDocument": true,
    "colorInfo.languages": [
      {
        "selector": "css",
        "colors": "css"
      },
      {
        "selector": "sass",
        "colors": "css"
      },
      {
        "selector": "scss",
        "colors": "css"
      },
      {
        "selector": "less",
        "colors": "css"
      },
      {
        "selector": "stylus",
        "colors": "css"
      }
    ],
    "eslint.packageManager": "yarn",
    "eslint.run": "onSave",
    "vueDocs.lang": "en",
    "vueDocs.links": {
      "Quasar": "https://v1.quasar-framework.org/",
      "Vue CLI": "https://cli.vuejs.org/",
      "Vuetify": "https://vuetifyjs.com/getting-started/quick-start"
    },
    "breadcrumbs.enabled": true,
    "vetur.completion.useScaffoldSnippets": false,
    "markdown.preview.breaks": true,
    "window.openFoldersInNewWindow": "off",
    "window.menuBarVisibility": "visible",
    "git.autofetch": true,
    "todo-tree.tree.showScanModeButton": false,
    "editor.suggestSelection": "first",
    "vsintellicode.modify.editor.suggestSelection": "automaticallyOverrodeDefaultValue",
    "editor.codeActionsOnSave": {

      "source.fixAll.eslint": false
    },
    "xmlTools.enableXmlTreeViewCursorSync": true,
    "git.enableSmartCommit": true,
    "sonarlint.rules": {
      "javascript:S905": {
        "level": "off"
      },
      "typescript:S125": {
        "level": "off"
      },
      "php:S125": {
        "level": "off"
      }
    },
    "workbench.editor.untitled.hint": "hidden",
    "yaml.customTags": [
      "!encrypted/pkcs1-oaep scalar",
      "!vault scalar"
    ],
    "ansible.validate.executablePath": "ansible-lint",
    "cSpell.enableFiletypes": [
      "!nunjucks",
      "html"
    ],
    "vscode-edge-devtools.headless": true,
    "vscode-edge-devtools.mirrorEdits": true,
    "editor.inlineSuggest.enabled": true,
    "window.zoomLevel": 1,
    "snyk.yesWelcomeNotification": false,
    "files.autoSave": "afterDelay",
    "workbench.iconTheme": "vscode-icons",
    "editor.defaultFormatter": "esbenp.prettier-vscode",
    "reactSnippets.settings.prettierEnabled": true,
    "vsicons.dontShowNewVersionMessage": true,
    "editor.unicodeHighlight.ambiguousCharacters": false,
    "diffEditor.maxComputationTime": 0,
    "php.suggest.basic": false,
    "php.validate.enable": false,
    "emmet.excludeLanguages": [
      "markdown",
      "php"
    ],
    "[jsonc]": {
      "editor.defaultFormatter": "vscode.json-language-features"
    },
    "editor.gotoLocation.multipleDeclarations": "goto",
    "[json]": {
      "editor.defaultFormatter": "HookyQR.beautify"
    },
    "editor.minimap.enabled": false,
    "[markdown]": {
      "editor.defaultFormatter": "yzhang.markdown-all-in-one"
    },
    "intelephense.environment.phpVersion": "7.2",
    "intelephense.files.exclude": [
      "**/.git/**",
      "**/.svn/**",
      "**/.hg/**",
      "**/CVS/**",
      "**/.DS_Store/**",
      "**/node_modules/**",
      "**/bower_components/**",
      "**/vendor/**/{Tests,tests}/**",
      "**/.history/**",
      "**/vendor/**/vendor/**",
      "**/data/**",
      "**/internal_data/**"
    ],
    "php.debug.ideKey": "VSCODE_XDEBUG",
    "php.debug.executablePath": "/usr/bin/php",
    "markdown.preview.fontSize": 12,
    "workbench.sideBar.location": "right",
    "editor.fontSize": 12,
    "bookmarks.sideBar.expanded": true,
    "vscode-edge-devtools.fallbackRevision": "@a485c16d1ab76394f5d7397e15c0d7583d5259c1",
    "[html]": {
      "editor.defaultFormatter": "HookyQR.beautify"
    },
    "[php]": {
      "editor.defaultFormatter": "bmewburn.vscode-intelephense-client"
    },
    "editor.formatOnSaveMode": "modifications",
    "intelephense.format.enable": false,
    "bookmarks.experimental.enableNewStickyEngine": false,
    "html.format.preserveNewLines": false,
    "lit-html.format.enabled": false,
    "javascript.format.enable": false,
    "vetur.format.options.tabSize": 4
}

License

MIT

Thanks to the authors of the extensions!

About

License:MIT License


Languages

Language:Shell 100.0%