Coder Social home page Coder Social logo

rojo-rbx / vscode-rojo Goto Github PK

View Code? Open in Web Editor NEW
35.0 35.0 23.0 972 KB

Visual Studio Code plugin for Rojo

Home Page: https://marketplace.visualstudio.com/items?itemName=evaera.vscode-rojo

License: Mozilla Public License 2.0

TypeScript 89.37% JavaScript 10.63%
roblox rojo vscode

vscode-rojo's People

Contributors

barocena avatar dependabot[bot] avatar evaera avatar thattimothy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

vscode-rojo's Issues

command "Rojo: initialize" throw an error

when I use the command "Rojo: initialize" in Mac, it throw an error:
"spawnSync /Users/userName/Library/Application Support/Code/User/globalStorage/evaera.vscode-rojo/rojo-v6.2.0 Unknown system error -88".

Rojo server appears to not shut down properly on MacOS when turned off through VSCode UI.

One of our game designers is struggling with server issue for the Rojo studio plugin. It is very similar to this issue on the main Rojo repo but is easily reproducible with his setup.

  1. Start Rojo by selecting a project.json file from VSCode.
  2. Server starts up on port 34872.
  3. Run lsof -i :34872 in terminal to see the service running.
  4. Stop the server running from withing VSCode.
  5. Run lsof -i :34872 again and notice that the service is still running.
  6. Try starting Rojo again, get a crash in the output that reads Address already in use.
  7. Back in terminal, use kill -9 [PID] to kill the running service.
  8. Try starting Rojo again, notice this time the server runs fine.

VSCode plugin version 2.1.2.
MacOS Big Sur 11.6 (20G165)

Full error output;

Rojo server listening:
  Address: localhost
  Port:    34872
Visit http://localhost:34872/ in your browser for more information.
[ERROR rojo] Rojo crashed!
[ERROR rojo] This is probably a Rojo bug.
[ERROR rojo]
[ERROR rojo] Please consider filing an issue: https://github.com/rojo-rbx/rojo/issues
[ERROR rojo]
[ERROR rojo] Details: error binding to 127.0.0.1:34872: error creating server listener: Address already in use (os error 48)
[ERROR rojo] in file /Users/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/hyper-0.14.19/src/server/server.rs on line 77
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace.

Update links to new Rojo repository

There's a few links spread across different files to:
https://github.com/LPGhatguy/rojo
these should be switched to
https://github.com/rojo-rbx/rojo

"API rate limit exceeded" error occurs (shown as 403) while starting rojo server from plugin

Rojo server startup fails due to rate limit of the update check that occurs every time you start the server
I assume it happens with call to https://api.github.com/repos/LPGhatguy/rojo/releases

{
  "message": "API rate limit exceeded for 123.456.789.123. (But here's the good news: Authenticated requests get a higher rate limit. Check out the documentation for more details.)",
  "documentation_url": "https://developer.github.com/v3/#rate-limiting"
}

Plugin should handle this error gracefully and still start locally installed rojo server

Is it just me, or is building broken?

So, Rojo can't build to .rbxl, I get that. But is there an option to choose the build type? I haven't been able to find it, and so took it upon myself to pry open the code of the extension and solve it. I changed 1 character and now it works. Am I missing something or is this the only to solve this issue?

In V05.js, I changed:
"const outputFile = ${outputConfig}.${this.isConfigRootDataModel() ? "rbxl" : "rbxm"};"
to
"const outputFile = ${outputConfig}.${this.isConfigRootDataModel() ? "rbxlx" : "rbxm"};"

initializing don't work

every time i use the command "Rojo: initialize" it throw an error.
spawnSync c:\Users\me.vscode\extensions\evaera.vscode-rojo-1.6.1\bin\rojo-v0.4.13.exe UNKNOWN

TypeError: Cannot read property 'globalState' of undefined

Issue

The title is an error that pops up that ends up breaking Rojo indefinitely, with "strenuous" workarounds.
image

Reproduction Steps

I am able to replicate this error by spinning the studio extension up before the Rojo server has started via Ctrl+P > Rojo: Start server with last used project file with the error being rather persistent even when re-opening Visual Studio Code, reinstalling the extension and/or reimporting my place from a .rbxlx file via rbxlx-to-rojo.

Note

There is uncertainty as to whether being in Zen Mode would cause any problems as there is a setting that mutes notifications.

Conclusion

An obvious one would be to wait until the notification appears then start the server like any individual with a normal amount of patience, however, I feel as if there could be a more elegant way to notify the developer of their impatience; to mitigate such an error from seemingly breaking the extension; either/both.

Suggestion: Add mouse free project building

As of the latest update, it is impossible to build a project without using your mouse which is very impractical. You could make it a separate button in the Rojo menu or add a command for it.

Respect foreman configuration for Rojo version

Currently the vscode extension will use the "release branch" install from, with a "target version" as an override.

It would be beneficial if the vscode extension looked for a foreman.toml file and respects the configuration foreman uses. This would make collaborators across a project all use the same version of Rojo.

Allow serving from different project files

  • extension setting for what project names to use
  • command palette option to serve from a specific file as a one-off. Make a pop-up and ask if user would like to make it the default
  • preconfigured priority list to check for, like test.project.json, serve.project.json, default.project.json for serve mode, and build.project.json, ... for build mode

Rojo build format config

Rbx-dom currently has pretty weak support for Roblox's binary format (rbxl and rbxm). It would be super sweet if there was a way to configure vscode-rojo to use the xml format ( rbxlx and rbxmx ) when building.

Adopt VS Code's 'asWebviewUri' API

Hi, I maintain VS Code's Webview API

Issue

Our telemetry suggests that your extension uses webviews and may be loading resources in these webviews using hardcoded vscode-resource: URIs. These URIs have some important limitations and don't work properly when VS Code is run in a browser. We are also making changes in the desktop version of VS Code that may cause these URIs to not work properly in future versions of VS Code.

While we are making our best effort to continue support existing webview extensions that use vscode-resource: URIs on desktop versions of VS Code, we will not able to fully support all uses cases.

Fix

To ensure that your extension continues to work in as many environments as possible—including on web and remotely—please:

These APIs shipped around 2 years ago so they should be available in all modern versions of VS Code. You can find additional information about the issue here: microsoft/vscode#97962

Let me know if you have any questions about this change

Should the extension allow serving multiple project files concurrently, from the same workspace?

Right now, multiple project files can be serving concurrently, but only if they are from different workspaces (this happens have a multi-root workspace). If you have a project serving already, and you try to start a project file from the same workspace, the old one is stopped before starting the new one.

Is this the behavior that most people want? Or do most people want to be able to serve multiple project files from the same project at once?

Update the status icon if Rojo crashes

Currently, if Rojo crashes, the status icon still remains as if it is currently running. This can be confusing when you are unsure why files will no longer sync, or why the studio plugin will not connect. You have to explicitly check the Rojo extension output to see if that is the issue.

It would make it easier if the icon would update if Rojo is no longer running, either back to the "Start Rojo" status, or a status showing explicitly that Rojo has stopped and it wasn't because the stop command was run.

Extension not recognizing that Rojo is installed with Aftman

Since I set up my MacBook, the extension has not been able to recognize Aftman's Rojo installation installation and as such prompts me to install it before I can use it.

image

When clicking "Install Rojo now", it does something and the issue goes away for as long as the editor is open. Once I close and re-open the project, it happens again.

Aftman was installed using the self installer. Its location is:
image

The issue does not occur when Rojo is installed with Cargo, and does not occur on my Windows PC. It also did not occur with my previous MacBook setup, where I used Homebrew to install Aftman. I'm not sure what's going on.

System specs:
image

Update extension to Rojo 6.x

Rojo v0.5.x is incredibly old at this point and seeing how this extension is still being maintained, I'm surprised that the extension still hasn't been updated.

Platform not supported warning under Arch linux

As the title says, any time i start up rojo (7.0.0) i get a warning saying "Couldn't install Rojo plugin: your platform is not supported" but the extension does work and connects to the localhost and the roblox studio rojo plugin can pick it up.
uname -a:
Linux arch 5.17.4-arch1-1 #1 SMP PREEMPT Wed, 20 Apr 2022 18:29:28 +0000 x86_64 GNU/Linux

Maybe consider having linux as a supported OS since grapejuice and wine can now run roblox and roblox studio on linux just like native

Review usage of workspaceContains activationEvent

Hi, I'm reaching out to let you know that we are fixing a bug with the workspaceContains VS Code extension activationEvent that could change the activation behavior for your extension.

Here's the issue: This event is supposed to start a search in the user's workspace with the given glob pattern, and activate the extension if it finds a match. A pattern like *.txt should find a file in the root of the workspace matching *.txt, but it should not search the entire workspace. A pattern like **/*.txt should recursively search the entire workspace. We discovered that VS Code is incorrectly applying the ** pattern to every workspaceContains pattern that includes a *.

Since this may impact the startup performance of VS Code, we need to scope these searches correctly. Once we fix this, a pattern like *.txt will only match a .txt file in the root of the workspace.

The change will be in VS Code Insiders in early January. It will be released with 1.53 in early February. Please see microsoft/vscode#110510 for more details and let me know if you have any questions.

Rojo session terminates in Studio when a new node is added to default.project.json

When you add a new node in default.project.json (via 'Rojo: Sync from here..', I haven't checked what happens when you edit the file directly)

VSCode Terminal

Project configuration changed, reloading Rojo.
Rojo server listening on port 34872

ROBLOX Studio Output

17:49:42.880 - [Rojo-Warn] Rojo session terminated because of an error:
17:49:42.880 - [Rojo-Warn] Unknown error: HttpError: NetFail

It connects back fine by clicking 'Connect' on the Rojo ROBLOX Plugin widget, but is annoying when testing and adding new files!

Make JSON schema error for $Name and $Parent

In a Rojo project's schema, under $properties, having $Name or $Parent` set can mess up with Rojo's reconciliation. By making the JSON Schema error when the user attempts to set these properties, users will be less prone to making mistakes and causing duplicates when syncing.

Welcome to Rojo popup

This tab seems to always show when vs code boots, even if you have projects where rojo is set up. It would be nice to have a config option to turn it off (unless I have missed something)

Link in "Welcome to Rojo" page leads to 404

To reproduce:

In VSCode, open the command pallette and run the command "Rojo: Show welcome screen"

In the News section of the page, there is one link which leads to a 404. (The only link on the section)

Falling back to installed version if Github goes down

The extension will get stuck on "Downloading Rojo..." and will not fallback to the already installed version if Github has issues.

Without a fallback in this case, it will throw Cannot read 'property' of find of undefined (#55) or HTTP status 500 errors. The extension will basically lock up until the user reload the windows.

Link to Rojo documentation in the "Welcome to Rojo" vscode screen goes to a 404

Minor "issue", I know. But it's always nice when they're easy ones ;)

In the "Next Steps" section:

Next steps

Now that you've got the hang of using Rojo, you should take a look at the official documentation which dives in deeper on some more advanced features of Rojo that you'll definitely want to know about! Learn how to:

Make your script.......

The "official documentation" link currently goes to: https://lpghatguy.github.io/rojo/sync-details/

I'd suggest going to: https://lpghatguy.github.io/rojo/master/

vs code plugin not working in version 2+

The button on the bottom bar no longer appears and doing Rojo: Open Menu from the command palette throws an error.

Screenshot 2022-08-13 at 12 46 46

Using rojo from the terminal still works fine though.
For now, I've reverted to the previous release (1.13.4) and it works fine.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.