• Stars
    star
    567
  • Rank 78,634 (Top 2 %)
  • Language
  • License
    Apache License 2.0
  • Created over 3 years ago
  • Updated over 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A VS Code extension pack to help users visualize, understand, and interact with data.

๐Ÿ“Š Thinking in Data

NOTE: It is strongly recommended that you use the Insiders Edition of Visual Studio Code, which is updated daily, and includes the latest and most up-to-date features for the Python extension, Live Share, Codespaces, native notebooks, and more.

You are urged to use caution when inflating your metrics, dear reader.

Thinking in Data is a curated set of VS Code extensions for data analysis, visualization, and collaboration, inspired by and including the brilliant Thinking in Code extension pack. If you are a data scientist or machine learning engineer who is familiar with RStudio, MATLAB, Spyder, JupyterLab, or other scientific IDEs, but have felt overwhelmed by the Visual Studio Code extension marketplace: this is a great place to start.

๐Ÿ–– Contributions are welcome: if you come across an extension that enhances your understanding or accelerates your analysis, please feel free to submit a pull request to add it!


Language and Notebook Support

Jupyter and nteract notebooks are supported within Visual Studio Code, as of version X.XX. You can view, edit, and modify notebooks in multiple languages. Below are a list of extensions that support work in Python, R, SQL, and Julia; all are included with Thinking in Data, but you can customize the settings.json file to exclude certain extensions, if you wish.

Included extension How can it help?
๐Ÿ Python - Python IntelliSense, linting, debugging, code navigation, code formatting, refactoring, variable explorer, test explorer, and more!

  1. Edit your code with autocompletion, code navigation, syntax checking, and more.
  2. Support for Jupyter notebooks via the included Jupyter extension.
  3. Debug your Python scripts, web apps, remote or multi-threaded processes.
  4. Automatically activate and switch between virtualenv, venv, pipenv, conda, and pyenv environments.
  5. Restructure Python code with variable extraction, method extraction, and import sorting.
๐Ÿ—ฃ๏ธ .NET Interactive Notebooks - Multiple language support (SQL, C#, JavaScript, TypeScript, HTML, and more) in a single notebook.

    Though data science and machine learning aren't necessarily the first things you might thing of when hearing ".NET", this extension allows you to use multiple languages in the same notebook, and to handle 3D interactive visualizations, SQL tables, and variable sharing with ease.
๐Ÿ“ŠR Language Support - Minimal R language support for VS Code. If you solely develop projects using R, I recommend RStudio.

  1. Run source, selected lines, and functions.
  2. R integrated terminal and extended syntax.
  3. Data frame and environment viewers.
  4. Snippets, keybindings, and package development shortcuts.
  5. A subset of RStudio Add-ins.
๐Ÿ–ช SQL Tools - Database connection explorer, query runner, IntelliSense, bookmarks, query history.

The SQL Tools database explorer is a collection of community-managed extensions, that offers support for many common relational databases, including:
  1. AWS Redshift
  2. MariaDB.
  3. Microsoft SQL Server.
  4. MySQL.
  5. PostGRESQL.
  6. SQLite

Visualization and Ideation

Included extension How can it help?
๐Ÿ–๏ธDraw.io - View and edit rich diagrams directly within the editor.

  1. Create diagrams, using a fully offline canvas, that's themed to match your editor preferences
  2. Allows you to create SVGs or PNGs, so that your diagrams can be embedded into other documents
  3. You can link nodes/edges on the diagram to spans of code
  4. Provides a fully real-time collaboration experience (see below)
๐Ÿ“‹ Live Share Whiteboard - Adds a real-time collaborative whiteboard to Visual Studio Live Share sessions.

    Live Share Whiteboard enables you to open an integrated whiteboard, without needing to use a separate tool or service. All participants within a Live Share session can collaboratively draw on the whiteboard, and see each others changes in real-time. For certain use cases (e.g. technical interviews, mentoring, and classrooms), this can provide a useful means of communication, in addition to an audio call and co-editing and debugging.
๐Ÿž Debug Visualizer - A visual watch window that lets you visualize your data structures while debugging.

    Having a good handle on data structures will only help you for machine learning work, and optimizing performance for your data analysis. This extension will help you visualize arrays, linked lists, and trees - all extremely important for matrix arithmetic; finding nearest neighbors to a given point; and more.
๐Ÿงผ Foam - A personal knowledge management system inspired by Roam Research.

    You can use Foam for organizing your research, keeping rediscoverable notes, writing longform content, and optionally publishing it to the web. The goal of Foam is to be a personal companion on your quest for knowledge.
๐ŸŽจ Data Preview - Supports importing, slicing, dicing, charting, and exporting large arrays.

    Being able to instantly visualize and interact with data is essential for exploratory analysis. This extension supports sortable and filterable previews for common data formats (.json, .avro, .csv, etc.), as well as basic charts and property grids with basic statistics for input data sets. Combine this with the Edit-CSV extension for a minimalist spreadsheet experience from directly within VS Code.

Source Control and Developer Tools

Included extension How can it help?
๐Ÿ™‡ Github Pull Requests - Review and manage Github pull requests and issues in VS Code.

    This extension supports authenticating and connecting VS Code to Github; listing and browsing PRs; reviewing and validating PRs; hovercards for "@"-mentioned users and issues; completion suggestions for users and issues; code actions from TODO comments; a start working on issue action that will create a branch for you; and more. This extension has accelerated my productivity more than any other.
๐Ÿ“˜ GistPad - Manage and access developer notes and code snippets, stored as GitHub Gists and repos.
  1. Allows you to capture todos, journals and daily notes, so you can stay organized from your editor
  2. Supports Roam/Obsidian-like wikis, including [[references]] and #tags
  3. Easily store and access code snippets, to supercharge your workflow
  4. Review and comment on gists and repos via editor-integrated commenting
  5. You own your data, and you can make use of VS Code's amazing ecosystem of extensions
๐Ÿ“„ GitDoc - Edit Git repositories like they were a multi-file document (aka "Google Docs for developers").

  1. Auto-commit your changes on save, and never think about the Git CLI again (can we admit that it's complicated and not beginner-friendly?)
  2. Retain the benefits of a Git repo (version history, collaboration) without the overhead of cloning/committing/pushing
  3. Restore, undo and squash versions via a simple-to-use GUI
  4. Perfect for docs repos, your README profile, wikis, etc.
  5. Can enable new/non-developers to better collaborate on a Git-based "source of truth"
๐Ÿ” GitLens - Visualize code authorship at a glance via Git blame annotations and code lens.

    GitLens simply helps you better understand code. You can quickly glimpse into whom, why, and when a code block was changed; jump back through history to gain further insights; and explore the history and evolution of a codebase. Includes revision navigation; file annotations in the gutter (blame, changes, and heatmap); interactive rebase editors, and more. If you work as part of a team, or frequently make changes to experiments or models, this extension is invaluable.
๐Ÿ›ฐ๏ธRemote Develoment - Open any folder in a container, on a remote machine, or in WSL.

    The Remote Development extension allows you to set up a full-time development environment anywhere -- meaning you can easily swap from your local machine to cloud infrastructure; change development environments and make updates, without worrying about impacting your local machine; and quickly launch dev containers.
๐Ÿšจ Error Lens - Improve highlighting of errors, warnings, and other language diagnostics.

    The Error Lens extension makes diagnostic messages stand out more prominently, including:
  1. Highlighting lines containing diagnostics
  2. Appending diagnostics as text to the end of the line.
  3. Showing icons in the gutter.
  4. Showing messages in the status bar.

๐Ÿง‘โ€๐Ÿคโ€๐Ÿง‘ Explaining and Sharing Work

Included extension How can it help?
๐Ÿ—บ๏ธ CodeTour - Record and playback guided tutorials for codebases (aka "tours").

  1. Like a table-of-contents for your codebases
  2. Enables easier onboarding/knowledge sharing
  3. Documentation is provided where developers actually work: their editor.
  4. Tours are interactive, and can automate commands, inject code snippets, run shell commands and more!
  5. GUI recorder makes it easy to author and maintain tours (let's make writing fun!)
๐Ÿ—บ๏ธ Live Share Extension Pack - Collection of extensions that enable real-time collaborative development with VS Live Share.

    This extension pack includes everything that you need to start collaboratively editing and debugging in real-time, including integrated audio and text chat. This provides you and your team/class with one-click installation, in order to begin pair programming, performing remote code reviews, driving interactive lectures, and more. Think "Google Docs, but for code and for notebooks".

๐ŸŒŸ Lagniappe

The following extensions are not included out of the box in Thinking in Data, but they are delightful, nevertheless, and I encourage you to give them a try.

Recommended Extension What does it do?
๐Ÿ™‹โ€โ™€๏ธStackOverflow Instant Search - Instant StackOverflow search from within the comfort of VS Code.

    Let's be real: effective Google searching is an art and a skill, especially for machine learning and data science work. This extension adds a quick command to search StackOverflow without leaving VS Code. You can also narrow your search with tags by specifying them in square bracks (semicolon-separated), e.g. BindingContext [mvvm;xamarin.forms]`.
๐Ÿ‘พDiscord - Send messages and files to your friends in Discord while never leaving VS Code.

    This, combined with the Discord Presence extension, allow you to interact with your friends and respond to their memes in your chat without ever leaving VS Code. If Discord's not your scene, there are similar extensions for other popular messaging and team environments, including Slack and Teams.
โฑ๏ธCode Time - An open-source plug-in that provides programming productivity metrics from within VS Code.

    If you're a productivity nerd, this extension is everything. See your coding activity in real time, compared to personal and daily averages; eliminate distractions in flow mode for focused, uninterrupted programming; view all of your coding metrics with data visualizations; and be comforted in the knowledge that your data is for you, and for no one else.
๐ŸŽถMusic Time for Spotify - Tracks the most productive music for you to listen to while you code.

  1. Integrated player controls: Control your music right from the status bar of your editor.
  2. Embedded playlists: Browse and play your Spotify playlists and songs from your editor.
  3. Personalized recommendations generated using machine learning.
  4. Weekly Top 40 playlist of your most productive songs.
  5. Discover new music to aid your productivity via the global top 40 list.
๐Ÿˆ Code Pets - Puts a small, bored cat, an enthusiastic dog, a feisty snake, a rubber duck, or Clippy in your code editor.

    If you, too, were obsessed with Tamagotchi and The Sims games while growing up -- or if you're a fan of Corgi mode in Colab -- this is the extension for you. Even better: you can make pull requests to add new pets!
๐Ÿ’ฅ Power Mode - Your code is powerful: unleash it!

    Functions as designed. :)
๐Ÿค” Oblique Strategies - Shows a randomized Oblique Strategy in the toolbar each time you click.

    Oblique Strategies is a card-based method created by Brian Eno and Peter Schmidt to encourage lateral thinking. I treasure my early edition of these cards, and have found that they are often the only thing that can get me "unstuck" during creativity lulls.

More Repositories

1

kaggle-survey-spelunking

145
star
2

azure-workshop

Collection of resources related to predictive modeling, Azure ML Studio, and the Cortana Intelligence suite.
Jupyter Notebook
108
star
3

DISC-unconf

A collection of resources and tools designed to provide guidelines for ethical modeling.
45
star
4

signals-and-systems

Interactive visualizations for Dr. Richard Baraniuk's open-source "Signals and Systems" textbook. R / Shiny.
HTML
36
star
5

info

๐Ÿ™‹โ€โ™€๏ธ This @DynamicWebPaige has been cached.
34
star
6

IRL-ticket-to-ride

Adventures around the USA, via Amtrak (winter 2021 - 2022). ๐Ÿš‚ ๐Ÿ” !
Jupyter Notebook
24
star
7

openstax-intro-stats

RMarkdown files for solutions to examples, problems in OpenStax's Introduction to Statistics.
HTML
17
star
8

nanowrimo-2021

National Notebook-Writing Month (NaNoWriMo) 2021. One notebook per day, every day, all this month.
Jupyter Notebook
14
star
9

codespaces-ml-template

DevContainer template for machine learning projects.
Python
11
star
10

keras-tutorial

3-hour tutorial on building deep learning models with Keras.
Jupyter Notebook
11
star
11

githubdev-notebook-features

A walkthrough of features for notebooks in github.dev.
Jupyter Notebook
9
star
12

dynamicwebpaige

Personal README for Github profile.
8
star
13

spacemath

A collection of Jupyter notebook explorations for NASA's Space Math examples.
Jupyter Notebook
6
star
14

PyOpenSci

Notes from the PyOpenSci BoF at SciPy 2018.
5
star
15

ml-code-snippets

A collection of code snippets for Python and R machine learning modules.
Jupyter Notebook
5
star
16

gemini-webpage-analyzer

Chrome extension that analyzes new web pages using Gemini 1.5 Flash (coming soon: Gemini Nano).
JavaScript
5
star
17

python-gis

Plugins, geoprocessing scripts, converters from ArcGIS to QGIS. Last updated March 9, 2015.
Python
4
star
18

probability-book

Solutions (using R) for Sheldon Ross' book "A First Course in Probability".
HTML
4
star
19

AppleII_DOS

Apple II DOS Source Code
Assembly
3
star
20

vscode-ray-dashboard

Ray Dashboard extension for VS Code.
JavaScript
3
star
21

projects

๐Ÿ›  Getting excited and making things, three decades and counting.
3
star
22

matlab-python

Python for those who are indentured to MATLAB.
2
star
23

runconf18

Ethical Machine Learning: a vignette describing how to spot and prevent proxy bias.
Jupyter Notebook
2
star
24

finance_python

A collection of Python scripts to illustrate concepts from MGMT 656: Energy Derivatives.
Python
1
star
25

webpaige-status

๐Ÿ’ป A collection of blog posts, weekly status updates, and explorables.
1
star
26

community

1
star
27

github-issues-analysis

Keyword extraction on GitHub issues.
Jupyter Notebook
1
star
28

trust_in_dragons

Python
1
star
29

foam-workspace

Collection of Foam Bubbles (mind-mapping exercises).
SCSS
1
star
30

arm-module

ARM template reusability study be analyzing IDF of azuredeploy.json files.
Python
1
star
31

rice-university-gis

Rice University .gdb, .shp files, GeoJSON, TopoJSON
1
star
32

github-actions-geology

Testing Github Actions with pandas and Wikipedia.
Python
1
star