All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Johannes Schindelin via GitGitGadget" <gitgitgadget@gmail.com>
To: git@vger.kernel.org
Cc: Junio C Hamano <gitster@pobox.com>
Subject: [PATCH v2 0/9] Add support to develop Git in Visual Studio Code
Date: Mon, 30 Jul 2018 08:42:45 -0700 (PDT)	[thread overview]
Message-ID: <pull.2.v2.git.gitgitgadget@gmail.com> (raw)
In-Reply-To: <pull.2.git.gitgitgadget@gmail.com>

[Visual Studio Code](https://code.visualstudio.com/) (nickname "VS Code") is a light-weight, cross-platform, Open Source development environment, with an increasingly powerful extension to support C/C++ development. In particular the intellisense support as well as all the other niceties developers might have come to expect from Integrated Development Environments will help accelerate development.

Due to the way Git's source code and build process is structured, it can be quite challenging to use VS Code effectively for developing Git. Which is a shame, as developing with vim and the command-line causes unnecessary churn, and it is quite understandable that most Git developers simply do not want to fight with a modern development environment just to try whether they like developing Git with it.

This topic branch makes it easy to get started using VS Code to develop Git.

Simply run the script `./contrib/vscode/init.sh`. This will initialize the `.vscode/` directory and some files in that directory. After that, just open Git's top-level directory as "folder" in VS Code.

The files have to be generated because of the curious way Git determines what flags to pass to the C compiler, in particular which constants are defined, because they change the compile flow in rather dramatic ways (determining, e.g. which SHA-1 backend to use).

Changes since v1:

- Clarified commit message of the first commit.

Johannes Schindelin (9):
  contrib: add a script to initialize VS Code configuration
  vscode: hard-code a couple defines
  cache.h: extract enum declaration from inside a struct declaration
  mingw: define WIN32 explicitly
  vscode: only overwrite C/C++ settings
  vscode: wrap commit messages at column 72 by default
  vscode: use 8-space tabs, no trailing ws, etc for Git's source code
  vscode: add a dictionary for cSpell
  vscode: let cSpell work on commit messages, too

 .gitignore                    |   1 +
 cache.h                       |  24 ++-
 config.mak.uname              |   2 +-
 contrib/vscode/.gitattributes |   1 +
 contrib/vscode/README.md      |  14 ++
 contrib/vscode/init.sh        | 375 ++++++++++++++++++++++++++++++++++
 6 files changed, 405 insertions(+), 12 deletions(-)
 create mode 100644 contrib/vscode/.gitattributes
 create mode 100644 contrib/vscode/README.md
 create mode 100755 contrib/vscode/init.sh


base-commit: 53f9a3e157dbbc901a02ac2c73346d375e24978c
Published-As: https://github.com/gitgitgadget/git/releases/tags/pr-2%2Fdscho%2Fvscode-v2
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-2/dscho/vscode-v2
Pull-Request: https://github.com/gitgitgadget/git/pull/2

Range-diff vs v1:

  1:  e2e449a00 !  1:  bbf13e40a contrib: add a script to initialize VS Code configuration
     @@ -4,11 +4,14 @@
      
          VS Code is a lightweight but powerful source code editor which runs on
          your desktop and is available for Windows, macOS and Linux. Among other
     -    languages, it has support for C/C++ via an extension.
     +    languages, it has support for C/C++ via an extension, which offers to
     +    not only build and debug the code, but also Intellisense, i.e.
     +    code-aware completion and similar niceties.
      
     -    To start developing Git with VS Code, simply run the Unix shell script
     -    contrib/vscode/init.sh, which creates the configuration files in
     -    .vscode/ that VS Code consumes.
     +    This patch adds a script that helps set up the environment to work
     +    effectively with VS Code: simply run the Unix shell script
     +    contrib/vscode/init.sh, which creates the relevant files, and open the
     +    top level folder of Git's source code in VS Code.
      
          Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
      
  2:  3770bd855 =  2:  6c8b5a4f2 vscode: hard-code a couple defines
  3:  de49c4bf2 =  3:  105b50c62 cache.h: extract enum declaration from inside a struct declaration
  4:  b3ce2ccf4 =  4:  4b95b1e2a mingw: define WIN32 explicitly
  5:  06dcf6d97 =  5:  3dd53c04c vscode: only overwrite C/C++ settings
  6:  08212c57e =  6:  384b08836 vscode: wrap commit messages at column 72 by default
  7:  2e880b6f1 =  7:  ba78af756 vscode: use 8-space tabs, no trailing ws, etc for Git's source code
  8:  ce216cf43 =  8:  358f38d3a vscode: add a dictionary for cSpell
  9:  4c2aa015a =  9:  b9c628b88 vscode: let cSpell work on commit messages, too

-- 
gitgitgadget

  parent reply	other threads:[~2018-07-30 15:42 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-23 13:52 [PATCH 0/9] Add support to develop Git in Visual Studio Code Johannes Schindelin via GitGitGadget
2018-07-23 13:52 ` [PATCH 1/9] contrib: add a script to initialize VS Code configuration Johannes Schindelin via GitGitGadget
2018-07-23 16:57   ` Jonathan Nieder
2018-07-30 14:28     ` Johannes Schindelin
2018-07-23 19:48   ` Junio C Hamano
2018-07-23 21:37     ` Junio C Hamano
2018-07-30 14:42     ` Johannes Schindelin
2018-07-23 13:52 ` [PATCH 2/9] vscode: hard-code a couple defines Johannes Schindelin via GitGitGadget
2018-07-23 17:41   ` Jonathan Nieder
2018-07-30 14:46     ` Johannes Schindelin
2018-07-23 13:52 ` [PATCH 3/9] cache.h: extract enum declaration from inside a struct declaration Johannes Schindelin via GitGitGadget
2018-07-23 13:52 ` [PATCH 4/9] mingw: define WIN32 explicitly Johannes Schindelin via GitGitGadget
2018-07-23 13:52 ` [PATCH 5/9] vscode: only overwrite C/C++ settings Johannes Schindelin via GitGitGadget
2018-07-23 13:52 ` [PATCH 6/9] vscode: wrap commit messages at column 72 by default Johannes Schindelin via GitGitGadget
2018-07-23 13:52 ` [PATCH 7/9] vscode: use 8-space tabs, no trailing ws, etc for Git's source code Johannes Schindelin via GitGitGadget
2018-07-25  7:32   ` Johannes Sixt
2018-07-30 14:48     ` Johannes Schindelin
2018-07-23 13:52 ` [PATCH 8/9] vscode: add a dictionary for cSpell Johannes Schindelin via GitGitGadget
2018-07-23 13:53 ` [PATCH 9/9] vscode: let cSpell work on commit messages, too Johannes Schindelin via GitGitGadget
2018-07-30 15:42 ` Johannes Schindelin via GitGitGadget [this message]
2018-07-30 15:42   ` [PATCH v2 1/9] contrib: add a script to initialize VS Code configuration Johannes Schindelin via GitGitGadget
2018-07-30 15:42   ` [PATCH v2 2/9] vscode: hard-code a couple defines Johannes Schindelin via GitGitGadget
2018-07-30 15:42   ` [PATCH v2 3/9] cache.h: extract enum declaration from inside a struct declaration Johannes Schindelin via GitGitGadget
2018-07-30 15:42   ` [PATCH v2 4/9] mingw: define WIN32 explicitly Johannes Schindelin via GitGitGadget
2018-07-30 15:42   ` [PATCH v2 5/9] vscode: only overwrite C/C++ settings Johannes Schindelin via GitGitGadget
2018-07-30 15:42   ` [PATCH v2 6/9] vscode: wrap commit messages at column 72 by default Johannes Schindelin via GitGitGadget
2018-07-30 15:42   ` [PATCH v2 7/9] vscode: use 8-space tabs, no trailing ws, etc for Git's source code Johannes Schindelin via GitGitGadget
2018-07-30 15:42   ` [PATCH v2 8/9] vscode: add a dictionary for cSpell Johannes Schindelin via GitGitGadget
2018-07-30 15:42   ` [PATCH v2 9/9] vscode: let cSpell work on commit messages, too Johannes Schindelin via GitGitGadget

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=pull.2.v2.git.gitgitgadget@gmail.com \
    --to=gitgitgadget@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.