Comments (12)
I am not sure - probably like you I have these on my machine, so everything works from my PoV. That's a blind-spot we tend to have. Maybe @brianking, not being a developer day-in-day-out, has a more vanilla computer, where this could be tested.
I have Java and many other dev tools installed I am afraid. I still have grand illusions of being a developer.
from theia-blueprint.
Given the embedded domain use case, might it make sense to add in some C++ builtins?
from theia-blueprint.
Given the embedded domain use case, might it make sense to add in some C++ builtins?
@brianking I believe the idea should be to provide a streamlined application and not bloat it with default extensions that end-users might or might not need. In the end, end-users are free to install runtime plugins (through the extensions-view for additional plugins they require.
from theia-blueprint.
C/C++ debugging is an exception ATM, if we want to use @theia/cpp-debug
. Since it's a Theia extension, it needs be present at built-time. We could decide to migrate to the equivalent CDT vscode extension: cdt-gdb-vscode. We already re-use their Debug Adapter in the @Theia extension.
from theia-blueprint.
IMHO Blueprint is about showcasing the power of the Theia platform with user-visible features. This will not lead to a small app size obviously, but does not matter for this purpose in my opinion. Adding C++ editing might be worth a consideration though to show even more capabilities.
from theia-blueprint.
@koegel I forgot to mention that there's a hidden trade-off involved: the extensions we bundle are not updatable (or un-installable). That's a pretty big limitation, not present when installed through the extensions view. (partly due to the fact that some of our packagings are static, e.g. AppImage
)
Also, we might be depriving users from the experience of searching for the extension, reading its README, finding what operating-system-level dependencies are expected to be in place (all done from within the Theia-based app).
OS dependencies are a fragile aspect of bundling extensions, I think - e.g. one needs an acceptable version of a JDK
installed for the java extension to work, clangd
installed for vscode-clangd
C/C++ to work, etc. So in practice, even bundling extensions for many languages, the experience may not typically be "key in hand", for any given one of them, depending on what happens to be installed on that computer.
Also providing all these OS-level dependencies, in addition to the extensions, for many languages, is why something like the theia-full image is so big.
from theia-blueprint.
@marcdumais-work Good points! I have not tried: What happens if no acceptable JDK or clangd is present? Is there any kind of user guidance?
from theia-blueprint.
I am not sure - probably like you I have these on my machine, so everything works from my PoV. That's a blind-spot we tend to have. Maybe @brianking, not being a developer day-in-day-out, has a more vanilla computer, where this could be tested.
The specifics are left to each language extension. In some cases it just doesn't work, and the user might not know why. We had this happen recently with an Erlang
extension, that required a more recent tool chain vs what's available in Ubuntu repos. The LS would not start, but we did not know why.
from theia-blueprint.
I had an idea: use one of our Docker images, that's without installed JDK, to test:
$ docker run --init --rm -it -p 3000:3000 theiaide/theia:latest
I then installed the Java extension from within the IDE,
and triggered it by opening a .java
file. Result:
Links:
"Java configuration runtime": https://github.com/redhat-developer/vscode-java/wiki/JDK-Requirements#java.configuration.runtimes
"Get the Java Develop...": https://developers.redhat.com/products/openjdk/download?sc_cid=701f2000000RWTnAAO
For C/C++ I installed the clangd
extension. It comes close to solving the issue of missing clangd
but failed, at least in the docker container i was using:
from theia-blueprint.
@brianking do you have clangd
installed? You use a Mac, correct?
from theia-blueprint.
@brianking do you have
clangd
installed? You use a Mac, correct?
I don't seem to right now.
from theia-blueprint.
I am curious if the vscode-clangd
extension would be able to install a functional clangd
for you.
You can follow the steps as per the images/movie above, if you want to give it a try.
from theia-blueprint.
Related Issues (20)
- [CM] Improve Blueprint versioning, tag the releases HOT 6
- Build Blueprint against Theia Sources
- [CI] Latest PR merged seems to have triggered wrong Jenkins job? HOT 4
- Provide hashes for Theia Blueprint downloads HOT 4
- Cannot build Theia Blueprint on Apple Silicon
- Renamed directory paths in `browser.Dockerfile` HOT 1
- Proposal to Relicense Theia Blueprint to MIT: Seeking Approvals HOT 9
- bug: `go to definition` is blocked by application header HOT 1
- Cannot debug javascript applications HOT 1
- Installer should not be called "TheiaBlueprint.exe"
- preloadTemplate produces invalid HTML
- Theia Blueprint still contains Theia git extension HOT 1
- ide status often turned offline HOT 3
- Wrong documentation under "Updates and Downloads" on Welcome screen.
- Remove "Plugins" view in Theia IDE HOT 1
- Linux download link is broken HOT 1
- The next button style of the installation package is abnormal
- Install from VSIX file picker issue
- DockerHub image for Theia IDE HOT 13
- Rename the repository to complete the Theia Blueprint to Theia IDE rebranding HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from theia-blueprint.