Skip to content

Commit

Permalink
feat: git gvfs; vscode office
Browse files Browse the repository at this point in the history
  • Loading branch information
uptonking committed Jan 1, 2025
1 parent 09e3a8f commit e2af15d
Show file tree
Hide file tree
Showing 22 changed files with 864 additions and 374 deletions.
2 changes: 1 addition & 1 deletion dev-log-repeat-solutions.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ modified: 2021-07-20T13:50:23.433Z
- 🌰lts: vscode/ide, git/vcs
- vscode: monaco-editor + electron, code-server, sourcegraph
- codemirror/prosemirror: state + view + commands + transform/ot/collab + virtualized
- version-history: rrweb, diff, format(.fodt)
- version-history: rrweb, diff, format(.fodt), video-but-auto-update
- rspack: js plugin; rolldown-wasm
- animation: motion(dom/svg)

Expand Down
3 changes: 3 additions & 0 deletions draft-pastebin-pieces.md
Original file line number Diff line number Diff line change
Expand Up @@ -287,3 +287,6 @@ $if($gt(%totaldiscs%,1),%discnumber%-,)$if($and(%albumartist%,%tracknumber%),$nu
- 王安迪
- [email protected]
- AnDy.20080313
- 唐银生
- 农业银行 6228 4804 7850 9920 979
30 changes: 29 additions & 1 deletion lib-editor-app-community-version-history.md
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,35 @@ modified: 2024-07-18T15:52:38.176Z

- ##

- ##
- ## ⌛️🎞️ [CodeTour: VS Code extension to record and play guided walkthroughs of codebases | Hacker News _202103](https://news.ycombinator.com/item?id=26488610)
- A killer feature would be doing semantic analysis to attach steps to AST nodes instead of lines. EG a class or function.
- Without this it seems tours could be broken/outdated very quickly in active code bases.
- 💡 IMHO this is much better solved with a literate programming approach where the tour content lives inside the code as comments. Then as code is refactored and changed it's very obvious that the related docs and tour data has to change too.
- some files don't necessarily support comments (e.g. JSON/image)
- Additionally, after speaking with a bunch of folks, there are definitely teams that weren't interested in "polutting" their code with comments
- That said, I totally agree with the value of a literate programming-based solution. But there may also be some nice properties to a "side car" file as well, and so I'm primarily trying to explore how well we could make that work, in a resilient and easy-to-maintain way. We'll see how it goes
- > there are definitely teams that weren't interested in "polutting" their code with comments
- Add an extension feature that toggles (hides/shows) those comments maybe?

- Not an equivalent of literate programming. Here you can jump to arbitrary files at arbitrary points, in literate programming your code must flow from top to bottom linearly, which is most of the times impossible to achieve.

- How do CodeTours handle drift as the code base changes?
- They have a GitHub Action to monitor this

- 🔒 how is user privacy handled? Is data about the repo sent externally? I assume this would primarily be useful for OSS projects and not private or internal/confidential projects?
- When you record a tour, it simply creates a JSON file that can be committed/maintained as part of the associated codebase. Then, when someone takes the tour later, they're simply "reading" that file locally in their editor, and so no data about the codebase is ever sent externally.

- I'm hoping that some day it'll be possible for my coworkers to follow a CodeTour without installing VS Code.
- That's exactly the issue we had at the office. So someone in our team built https://github.com/doctolib/code-tours-github we use it to help new joiners get into the codebase!

- CodeLingo’s playbooks are an approach to solve that type of problem https://playbooks.codelingo.io/p

- 🆚️ This seems really cool but my immediate thought is that it might be pretty fragile compared to just screen recording.
- Create the tour, then screen record playing through it. Two birds one stone.
- 💡 conversely, a screen recording does not allow for easy maintenance as this plugin does with its tours.

- Does anyone know of any package similar to this for emacs?
- For vim I use the CodeReviewer plugin to capture comments for files. I modified it to use differently named comment files and to jump to the file locations from the comment line. I am planning to include support for hierarchical comments or referring other comment files from within one. Also the problem of tracking code changes or referring to a certain git commit is still there - in clearcase it can be easily done with a reference to the branch, but not sure how to do it in git.

- ## [Hey Dropbox, why can't I compare file versions like this? | Hacker News _202003](https://news.ycombinator.com/item?id=22221265)
- Am I missing something? This already exists in Google Docs. Much easier to implement when the doc is database-backed (recording every keystroke for OT) vs file-based.
Expand Down
22 changes: 22 additions & 0 deletions lib-excel-app-list-grid-community-formula-engine.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,28 @@ modified: 2023-11-12T16:48:11.308Z
# discuss-formula
- ##

- ##

- ##

- ## [A Fast Excel Formula Parser and Evaluator | Hacker News _202205](https://news.ycombinator.com/item?id=31365777)
- I’m surprised that Excel formulas have such poor coverage in text editors like NP++ or VSCode. Developing horribly convoluted formulas with nested IF statements in the formula bar is painful, and the PowerQuery editor doesn’t even have syntax highlighting.

- The lack of decent syntax highlighting, auto-indentation or “IDE mode” instead of the formula bar can be painful. Especially when working with models developed by others.
- On the other hand, you can see it as a feature. It forces you to keep your formulas short, break them down in helper columns and overall make your logic cleaner.

- In the old Excel with only cell grid references I would agree. However in "new Excel" with LET expressions and LAMBDA it is now possible to write legible and self-documenting code where the lack of decent editing support is becoming a problem.

- It’s really new but the Advanced Formula Editor tackles this, and goes further. It’s a collaboration between the Excel team and MS’ Cambridge boffins.

- Python and Pandas > Excel for anything outside of exploratory spreadsheet-y like calculations

- nothing can compete with Excel in terms of modeling speed and agility. A capable analyst can do miracles with Excel, find other routes to a solution, and then produced model can go to Python/Pandas developer for the processing optimization.

- bamboo seems interesting but their acquisition by Databricks stopped development on Bamboo last year.

- Excel uses IEEE 754 double precision which stores up to 17 significant digits but the Excel UI itself only displays up to 15 significant digits.

- ## [Excel formulas in JavaScript | Hacker News_201404](https://news.ycombinator.com/item?id=7638879)
-
-
Expand Down
9 changes: 9 additions & 0 deletions lib-ide-vscode-community-storage.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,15 @@ modified: 2024-12-14T17:28:23.214Z

- Tree sitter grammars generate a complete/concrete syntax tree with incremental updates, they necessarily have to be able to represent invalid source text (because users will type it!).
- If you're using a tree-sitter grammar as the input to a compiler (which is not what its designed for) you need to write a pass to convert from CST to AST, as you normally would.
# discuss-vscode-web-storage
- ##

- ##

- ## [Use `vscode-vfs` (instead of `gitlab-web-ide` ) as Web IDE file system scheme · Issues · GitLab.org / gitlab-web-ide · GitLab _202406](https://gitlab.com/gitlab-org/gitlab-web-ide/-/issues/357)
- Update the Web IDE file scheme to vscode-vfs (from gitlab-web-ide). It looks like this is a hardcoded scheme in a number of VSCode logic (and even extensions).
- VSCode has some built-in logic which suggests that the main virtual file system used in the browser should be `vscode-vfs` . This blocks us from using enableWorkspaceTrust: true

# discuss
- ##

Expand Down
26 changes: 26 additions & 0 deletions lib-ide-vscode-community-usage.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,32 @@ modified: 2024-08-24T16:52:53.996Z

- ##

- ##

- ##

- ##

- ## [I can't stand using VSCode so I wrote my own | Hacker News _202404](https://news.ycombinator.com/item?id=40106157)
- This is the way. Anytime I have had issues with an open source project, creating a PR even if it's not great will often have it taken over, improved and merged.

- VSCode is still on the top of accessibility, so when you can claim that you work perfectly with a screen reader, you will convince me to switch.
- people often overlook accessibility and other essential features of a modern editor, you telling me that your rudimentary rust editor is faster than vscode? and? people don't use it because it's fast (it's not).

- One of the benefits of Electron is being able to build the same app for multiple operating systems. When writing GUI app using native OS calls, how does one make sure the code is compatible with all three major operating systems?
- Folks did this plenty prior to Electron, either by using cross-platform GUI toolkits (GTK and Qt both run on Windows, Java's been doing this forever with Swing and JavaFX, etc), or by writing GUIs for multiple toolkits/OSes that work with the same/similar core application logic.
- Electron makes it easier to build cross-platform apps, and certainly cheaper, but it's not like it's the only way to do it.

- ## [Microsoft is introducing hidden APIs to VS Code only enabled for Copilot? | Hacker News _202410](https://news.ycombinator.com/item?id=41907350)
- I don’t see any problem here. They spend money, effort, time to develop their products. Why do they need to give that products for free to everyone, or even their competitors?

- I discovered that VSCode has a set of APIs for adding SSH tunneling, and under normal circumstances you must launch vscode with special flags to be able to use them. Somehow their built-in JavaScript debugging extension can use these APIs without any issues.
- And you can hardly find any public information about these APIs. Well, unless someone asks -- As of 2 years ago, they didn't have any plans to "finalize" these APIs, i.e. make them public. You are advised to find other workarounds (which do work).

- Microsoft has been very clear about their business model of VSCode -- similar to Chromium, the base product is free and you can do whatever you want, but extension marketplace/remote/GitHub Copilot are proprietary.

- they have a number of "inline completion" APIs standardized as both VSCode APIs and LSP protocol (upcoming).

- ## [Visual Studio Code: Secrets of Regular Expression Search | by Nikhilbaxi | Medium _202309](https://medium.com/@nikhilbaxi3/visual-studio-code-secrets-of-regular-expression-search-71723c2ecbd2)
- (.+) : This is used to find the content between the unknown. For example, we need to find where the API call is defined.
- `/api/user/${userId}/address/` or `/api/user/123/address/` ;
Expand Down
63 changes: 63 additions & 0 deletions lib-ide-vscode-community-web.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
---
title: lib-ide-vscode-community-web
tags: [community, vscode, web-ide]
created: 2024-12-31T21:06:59.021Z
modified: 2024-12-31T21:07:14.052Z
---

# lib-ide-vscode-community-web

# guide

# discuss-stars
- ##

- ##

- ##

- ##
# discuss-internals
- ##

- ##

- ##

- ##
# discuss
- ##

- ## [Vscode.dev | Hacker News _202110](https://news.ycombinator.com/item?id=28932206)
- >Well, offline VSCode is a glorified browser as well.
- Not really, it may use electron for the front end, but a huge amount of what makes vscode useful and fast is the native binaries that power all of its functionality.
- What are those native binaries? I know that VSCode ships with ripgrep, but that's the limit of my knowledge. Those binaries probably could be compiled to WASM to make VSCode fully run in a browser too.
- The Language Servers that power all of the intellisense and syntax highlighting and stuff are all native code. As are the compilers and everything that make VSCode more than just a text editor.

- Why bother with all of that when you could just ssh (nee telnet), remote X or VNC sessions to a server?

- check the discussion about their differences https://github.com/cdr/code-server/discussions/4267 (IMO both are much slower and worse than vscode.dev)
- There is no direct comparison, so unfair to call them slower or worse. Both these services are for running your own private server and for browser IDEs to be thin clients. You can configure the server with your language tooling, build scripts and whatever else. You can also pause and resume your session from a different device (since a majority of business logic is handled by the server).
- vscode.dev runs fully in your web browser, and files are read from local disk. There is nothing in the cloud. So yes it is faster, but serves a different use case.

- theia has a nodejs server backing its web experience. This vscode.dev is an entirely client side JS application that runs in your browser--there's no backend server beyond something to serve a pile of static JS and html.

- The blog post says it's using a brand new local file access API only in cutting edge browsers (edge and chrome) so you can access the files on your machine directly from the browser. There is no server upload of anything.

- Interesting they're using tree-sitter for syntax highlighting. Obviously they can't run LSPs in the browser so this must have been an alternative.
- The article points out that the Typescript/Javascript and Python LSPs run in the browser providing "better" experience than the tree-sitter experiences for languages without browser capable LSPs today.
- They don't use tree-sitter for syntax highlighting unless the extension you're using uses it. By default (and almost everything uses the default) VSCode uses the Textmate syntax highlighting system.
- And there's no reason they can't use the LSP in the browser as long as the actual language servers can run in the browser - pretty easy with most languages these days.

- Two features missing right away: Terminal and Remote SSH.
- From my understanding, since their vscode uses browser file access api with zero installation, adding terminal seems non-trivial. I have been working on something that solves that: https://tym.so (shameless plug here). I’m trying to build a vscode on the browser that can be connected to any computer with a one line install and has easy multiplayer features. Love to know what you all think about it

- It's crazy how much the dev tooling space has evolved in just the last few years. VS Code is of course a big part of it, but there are a hundred offshoots providing CI/CD, dev VPS, source control integrations, language tools, static hosting, staging, functions. The next step, IMO, is more clarity. How do all these puzzle pieces fit together, and what is the "ideal" solution for me as an individual developer or a small team to use day-to-day?

- ## [Visual Studio online available for public preview | Hacker News _201911](https://news.ycombinator.com/item?id=21442088)
- The use case for VSCode Online is the same as any other remote development environment, combine it with deployment workflows and or integrated services like Azure and it practically sells itself. Just like Slack the secret sauce here isn't the service itself, it is how it ties into everything else.
- What other remote development environments exist? I can only think of cloud9.
- Nano/vim/emacs/etc over a remote (SSH) terminal, remote VM, or remote session via other means (e.g. VNC/RDC/etc). People use Visual Studio itself remotely via VMs and RDC.

- ## [Microsoft’s web-based version of Visual Studio | Hacker News _201911](https://news.ycombinator.com/item?id=21461681)
- Because VSCode is an electron app, meaning that it probably relies on Chromium-only features that they have to find workarounds for in Firefox before things like keyboard shortcuts work.
1 change: 1 addition & 0 deletions lib-ide-vscode-dev.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ modified: 2024-08-24T16:15:11.456Z

- pros
- 完善的编辑器和ide功能,包括 editor/workbench/files/search/ext/cmd-palette
- 支持运行在多种环境,如 web-memory, web-node-server, electron
- theia is licensed under EPL, not as friendly as vscode/MIT

- cons
Expand Down
38 changes: 36 additions & 2 deletions lib-ide-vscode-examples-extensions.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,23 +88,57 @@ modified: 2024-08-24T16:17:26.715Z

- https://github.com/sekassel-research/vscode-vnc-plugin /202212/ts/archived
- This extension adds an embedded vnc viewer to the vs code server instance, which is used by fulib.org projects.
# vscode-browser
# vscode-web
- https://github.com/antfu/vscode-browse-lite /ts
- Embedded browser in VS Code
# extensions

## ext-office
## ext-office/files

- https://github.com/cweijan/vscode-office /MIT/202412/js
- 让VSCode支持预览PDF, Excel和Word等格式, 并增加markdown所见即所得编辑器
- 支持预览xlsx, docx, svg, pdf, zip等格式, 后来才增加markdown编辑器
- 依赖docxjs、sheetjs、vditor(md)、pdfjs
- [Please support PPT/PPTX files _202211](https://github.com/cweijan/vscode-office/issues/166)
- I have done research on this, but due to the complexity of ppt/pptx, it is impossible to display it in js.
- https://github.com/orellabac/vscode-office /202010/js/inactive
- Word: mammoth
- Excel: sheetjs + x-spreadsheet
- md: stackedit
- PDF: pdf.js
- PhotoShop: psd.js
- xmind: xmind-viewer
- Image: lightGallery

- https://github.com/janisdd/vscode-edit-csv /MIT/202310/ts
- vs code extension to edit csv files with an excel like table ui
- If you don't have vs code to hand, you can use the online version at https://edit-csv.net

- https://github.com/mikeebowen/ooxml-validator-vscode /MIT/202412/ts
- A VS Code extension for validating Office Open XML files
- The OOXML Validator validates Office Open XML files (.docx, .docm, .dotm, .dotx, .pptx, .pptm, .potm, .potx, .ppam, .ppsm, .ppsx, .xlsx, .xlsm, .xltm, .xltx, or .xlam) and displays the validation errors found in the xml parts in VSCode and creates an optional CSV or JSON log file of the validation errors.

## ext-git

- https://github.com/MichaelCurrin/auto-commit-msg /ts
- A VS Code extension to generate a smart commit message based on file changes
- With the explosion of AI tools, you can find alternatives to this extension which use AI - see AI tools

## ext-history

- https://github.com/microsoft/codetour /MIT/202303/ts/inactive
- VS Code extension that allows you to record and play back guided tours of codebases, directly within the editor
- A "code tour" is simply a series of interactive steps, each of which are associated with a specific directory, or file/line, and include a description of the respective code.
- Tours can either be checked into a repo, to enable sharing with other contributors, or exported to a "tour file", which allows anyone to replay the same tour, without having to clone any code to do it
- Recording Tours: You can create directory steps, selection steps, or content steps in order to add an introductory or intermediate explanations to a tour.
- Re-arranging steps
- Versioning Tours: When you record a tour, you'll be asked which git "ref" to associate it with.
- Behind the scenes, the tour will be written as a JSON file to the `.tours` directory of the current workspace.
- This file is pretty simple and can be hand-edited if you'd like.
- you can manually create tour files, by following the tour schema.
- Maintaining Tours: In order to ensure that your tours stay up-to-date as your codebase evolves, you can install one of the following tasks as part of your CI pipeline, in order to detect "tour drift" in response to PRs/commits/etc.
- [CodeTour: VS Code extension to record and play guided walkthroughs of codebases | Hacker News _202103](https://news.ycombinator.com/item?id=26488610)

## ext-data

- https://github.com/microsoft/vscode-data-wrangler /未开源
Expand Down
Loading

0 comments on commit e2af15d

Please sign in to comment.