Open main menu

CDOT Wiki β

DPS909/OSD600 Winter 2018 Lab 2

Revision as of 13:01, 8 February 2018 by Bapetov (talk | contribs) (3. Blog)

Working on Large Open Source Projects

Working on open source projects means working with large and often complex code-bases, custom build systems and test harnesses, using new technologies and tools, and using new workflows. The more you do this, the better you'll get at it.

We'll work with a variety of large open source projects in order to practice. Today we will begin with Microsoft's open source editor, Visual Studio Code

1. Install Visual Studio Code (as a user)

VSCode is one of the most popular editors in use today. It works on all platforms, and has an excellent set of extensions for solving common development problems. It's also free and open source.

Begin by installing VSCode and set it up as a user. Take a look at the docs and find some extensions to install, and get your settings configured.

Throughout this course, it is recommended that you use VSCode for your work.

2. Install Visual Studio Code (as a dev)

If you want to contribute to VSCode (fix bugs, add features), you have to build the code from source instead of only downloading it. Follow these steps to accomplish this:

  1. Read the contributing instructions at https://github.com/Microsoft/vscode/wiki/How-to-Contribute
  2. Fork https://github.com/Microsoft/vscode on GitHub, so you have a copy
  3. Clone your fork locally
  4. Add a remote for Microsoft's repo: git remote add upstream git@github.com:Microsoft/vscode.git
  5. Make sure you can build, run, test, debug VSCode on your local machine

As you follow these steps, keep track of any problems you encounter, steps you follow, and things you learn. We'll use those to blog about our experience later on.

3. Related Technologies

VSCode is a desktop application written using web technologies. It uses a number of popular open source projects, including:

  • TypeScript
  • Electron
  • node.js
  • eslint
  • tslint
  • gulp
  • mocha
  • sinon
  • yarn

Research each of the above, and make sure you are familiar with them. Make sure you have a general knowledge of what each one is about, where to find more information (docs), etc. We will be fixing bugs in this code starting next week, and it's important that you have a working build and general understanding of the technologies involved.

3. Blog

Write a blog post about your experience getting started with VSCode. Some things you could discuss in your post:

  • Which extensions did you install? Why did you choose them? What do they do?
  • Which settings did you change? Why?
  • Did you have an issues trying to get VSCode built from source?
  • What about running the tests?
  • How about live debugging?
  • What did you find out about the related technologies used by VSCode? For example: what are TypeScript and Electron?

Please add a line for your blog in the following table:

# Name GitHub Fork of VSCode (repo URL) Blog Post (URL)
1 Example Name https://github.com/humphd/vscode https://examplestudent.wordpress.com/2018/02/05/working-with-vscode/
2 Yalong Li https://github.com/yalooong/vscode
3 Matthew Quan https://github.com/irrationalRock/vscode
4 Bakytzhan Apetov https://github.com/apetov/vscode
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40