Development Setup

May 27, 2018

This is mostly for me, but if you want the same (or similar) development setup I have, then here’s the tools I use.

Editor

Languages

Python Packages

Font

Visual Studio Code Extensions

Visual Studio Code Settings

{
    // vscode
    "editor.multiCursorModifier": "ctrlCmd",
    "editor.detectIndentation": true,
    "editor.formatOnPaste": false,
    "editor.fontFamily": "Hack, 'Droid Sans Mono', 'Courier New', monospace, 'Droid Sans Fallback'",
    "editor.renderWhitespace": "boundary",
    "editor.minimap.enabled": true,
    "editor.minimap.renderCharacters": false,
    "files.insertFinalNewline": true,
    "files.trimTrailingWhitespace": true,
    "files.trimFinalNewlines": true,
    "workbench.iconTheme": "vs-seti",
    "files.exclude": {
        "**/.git": true,
        "**/.svn": true,
        "**/.hg": true,
        "**/.DS_Store": true,
        "**/*.pyc": true
    },
    "atomKeymap.promptV3Features": true,
    "gitlens.advanced.messages": {
        "suppressCommitHasNoPreviousCommitWarning": false,
        "suppressCommitNotFoundWarning": false,
        "suppressFileNotUnderSourceControlWarning": false,
        "suppressGitVersionWarning": false,
        "suppressLineUncommittedWarning": false,
        "suppressNoRepositoryWarning": false,
        "suppressResultsExplorerNotice": false,
        "suppressShowKeyBindingsNotice": true,
        "suppressUpdateNotice": false,
        "suppressWelcomeNotice": true
    },
    "sync.removeExtensions": true,
    "sync.syncExtensions": true,
    "gitlens.keymap": "chorded",
    "workbench.colorTheme": "Atom One Dark",
    "gitlens.historyExplorer.enabled": true,
    "gitlens.codeLens.enabled": false,
    // Typescript/Javascript
    "[typescript]": {
        "editor.rulers": [
            120
        ]
    },
    "[typescriptreact]": {
        "editor.rulers": [
            120
        ]
    },
    "[javascript]": {
        "editor.rulers": [
            120
        ]
    },
    "[javascriptreact]": {
        "editor.rulers": [
            120
        ]
    },
    // only for python language files
    "[python]": {
        "editor.rulers": [
            72,
            79
        ],
        "editor.tabSize": 4,
        "editor.insertSpaces": true
    },
    // pythonVSCode extension
    "python.linting.pylintEnabled": false,
    "python.linting.flake8Enabled": true,
    "python.linting.pep8Enabled": false,
    "python.linting.lintOnSave": true,
    "python.linting.maxNumberOfProblems": 1000,
    "python.formatting.provider": "yapf",
    "python.formatting.yapfArgs": [
        "--style",
        "{based_on_style: pep8, indent_width: 4}"
    ],
    // only for rust language files
    "[rust]": {
        "editor.formatOnSave": true,
        "editor.tabSize": 4,
        "editor.insertSpaces": true
    },
    // Project manager
    "projectManager.sortList": "Name",
    // CMake
    "cmake.buildDirectory": "${workspaceRoot}/../${workspaceRootFolderName}-build"
}