Giter VIP home page Giter VIP logo

myide's Introduction

MyIDE

✨ A guideline for configuring your IDE (vscode and vim/neovim) and your development environment on Windows (WindowsTerminal, PowerShell) and Linux (wsl, tmux, zsh).

lisence stars open_issues tag last_commit

📄中文文档


Windows

ScreenShots

desktop wt_and_ps

Windows Keybindings

  1. Install apps by Microsoft Store

    • Windows Terminal
    • PowerShell
    • PowerToys
    • TranslucentTB
  2. Install apps by Scoop

    scoop install -y 7zip git aria2
  3. Install NerdCodeProPlus font

  4. Configure %USERPROFILE%\.gitconfig

    [user]
      name = Your Name
      email = u[email protected]
    [merge]
      tool = vimdiff
    [mergetool "vimdiff"]
      path = nvim
  5. Configure %USERPROFILE%\.ssh\config

    Host github.com
       HostName github.com
       Port 22
       User git
       IdentitiesOnly yes
       IdentityFile ~/.ssh/github.key
    
  6. Configure Windows Terminal settings.json

  7. Configure PowerShell $PROFILE

    # install dependencies before copy config file
    scoop install lsd fzf
    Set-ExecutionPolicy Bypass -Scope Process -Force; Invoke-Expression ((New-Object System.Net.WebClient).DownloadString('https://ohmyposh.dev/install.ps1'))
    Install-Module PSReadLine
    Install-Module PSFzf
    Install-Module ZLocation
    Install-Module posh-git
    Install-Module git-aliases -AllowClobber

    Tips: The keybindings refer to zsh

  8. Install dual-key-remap to remap CapsLock to Escape when pressed alone and Ctrl when pressed with other keys.

    Tips: Don't forget to enable administrator access or else it doesn't work on administrator applications.

  9. Set your system by press Win+I

  10. Install the cursor theme you like

WSL

ScreenShots

tmux zsh_tig zsh_ranger btop

WSL Keybindings

  1. Install WSL2

    # in admin
    wsl --install
    wsl --update
  2. Install ArchWSL

    Tips: ArchWSL is optional, if you like ArchLinux, you can set it as the default distro for wsl by wsl -s Arch, or you can just use ubuntu.

  3. Limit the memory usage of WSL2, create file %UserProfile%\.wslconfig with following content

    [wsl2]
    memory=6GB
    swap=0
  4. Execute the shell script in wsl to configure all the things

    # in wsl
    curl -Lo init.sh https://github.com/mrbeardad/MyIDE/raw/master/init.sh
    # execute it directly, don't `bash ./init.sh`
    ./init.sh

    Tips: You can open init.sh to have a look, all configuretion is at the end of script, You can extract thme alone.

VSCode-Neovim

ScreenShots

vim_home vim_plugins vim_ide vsc_ide

VSCode-Neovim Keybindings

  1. Install VSCode and Neovim

    scoop install vscode neovim ripgrep make rust go python nodejs flutter

    Tips: The packages after make are optional.

  2. Install Visual Studio

    Tips: Check the option of clang and add C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\Llvm\x64\bin and C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin to environment variable PATH

  3. Configure Neovim

    1. Install nightly version of LunarVim
    2. Copy config.lua to %LOCALAPPDATA%\lvim\
    3. Copy init.vim to %LOCALAPPDATA%\nvim\
    4. Run nvim.exe to install plugins automatically
  4. Configure VSCode

    1. Copy lastSyncextensions.json to %APPDATA%\Code\User\sync\extensions\
    2. Copy settings.json and keybindings.json to %APPDATA%\Code\User
    3. Launch VSCode to install plugins automatically

    Tips: VSCode's config is depend on Neovim's config

Language Tools

Lang Language Server Linter Formatter Syntax Snippets Debugger Build Doc Test Prof
C++ clangd clang-tidy clang-format - - lldb CMake Doxygen gtest gperftools
Go gopls golangci-lint gofmt - - delve go-build swag testify go-prof
Python pyright pylint, flake8 black - - - - - - -
JavaScript tsserver eslint eslint - - - - - - -
HTML - tidy prettier - - - - - - -
CSS - stylelint prettier - - - - - - -
Markdown - markdownlint prettier - - - - - - -

Other references:

myide's People

Contributors

mrbeardad avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.