Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Blockman doesn't work with in line code suggestions from other extensions #125

Open
Mixchild opened this issue Oct 10, 2023 · 15 comments
Open

Comments

@Mixchild
Copy link

image Codeium Blackbox and tabnine have in line code suggestions and Blockman has no awareness of it, is there a setting that can fix that or can it be patched in future

@leodevbro
Copy link
Owner

Well, unfortunately it is the limitation of VS Code itself (at least as I understand it), because VS Code does not give extensions access to exact pixel sizes and coordinates of any block or character or bracket or lines or anything. So blockman just renders div boxes on each line in such a way that these line-line-line-line boxes touch each other perfectly, so we have visual illusion of one big block. So, Blockman is not able to know if there are some extra space between line 1 and line 2.

Blockman does not know even the height of the line, or even the width of one character. It just uses CSS tricks to render blocks with correct size. by CSS tricks, I mean: ch and height: 100%.

@Mixchild
Copy link
Author

Thanks Mr Leo for replay, I wish more Georgians in this country would start working on dev experience extensions after the success of your app.
I have made research about this and vscode has CodeLens settings (font size and etc) so would it be possible for blockman to take CodeLens placement into consideration

@leodevbro
Copy link
Owner

Thank you for the good wishes.

vscode has CodeLens settings (font size and etc) so would it be possible for blockman to take CodeLens placement into consideration

Well, I found something in the VS Code extension API.

const possiblyCodelensItemsArr: any[] | undefined = await vscode.commands.executeCommand(
    "vscode.executeCodeLensProvider",
    editorInfo.editorRef.document.uri,
);

console.log('possiblyCodelensItemsArr:', possiblyCodelensItemsArr);

This code possibly gives us the locations (line numbers) of all CodeLens items in any document. I'll try to test it, but even if I have all the locations of these codelens items, it seems still a quite difficult (if not impossible) task to add the logic code into the Blockman extension to consider those locations and render extra space there. Because VS Code has many limitations (and/or difficulties) of where you can render blocks.

@Mixchild
Copy link
Author

Is there Google meetings or discord server for devs in Georgia to discuss such topics? please feel free to message me about it, if codelens settings could be connected to general settings of extensions, it won't be too hard to fix the issue, but truth be told vs code should have done something about this long time ago

@leodevbro
Copy link
Owner

Is there Google meetings or discord server for devs in Georgia to discuss such topics?

I know some Georgian Facebook groups:
JavaScript Georgia
https://www.facebook.com/groups/1450497911907139

Georgian Web & Mobile Development Industry
https://www.facebook.com/groups/georgian.development

Georgian Web Developers • ქართველი ვებ დეველოპერები
https://www.facebook.com/groups/georgianwebdevelopers

We often discuss many things in those groups.

codelens

Yeah, I'm going to try to fix this issue soon (with the VS Code extension API method I mentioned in the previous comment)

@Mixchild
Copy link
Author

image
well this is interesting, https://nextjs.org/docs/app/building-your-application/routing
Seems like blockman inspired next js development, facebook is the only tools you would use to discuss related topics?

@leodevbro
Copy link
Owner

Nice NextJS Docs, maybe it is really inspired by Blockman, but it's hard to say, because, I guess blockifying a code is very natural way to help the viewer/reader focus on certain areas.

Georgian devs mostly use facebook to discuss some topics with each other as fellow citizens, but we also communicate with other devs worldwide on Reddit, Quora, Twitter (now X), Github, Stackoverflow, Slack, Discord and more.

@Mixchild
Copy link
Author

As I understand you prefer NextJS (or React) over VUE and NUXT (or Vite) , don't you think in future NextJS will implement all those functions (including blockman features) in their own devtools , I'm not using nextjs so not sure if those functions are part of their React Server Components and they will become the regular partsof advanced devtools in future but Nuxt is way advanced with DX compared to Next.
If you have discord would be great to add you there.

@leodevbro
Copy link
Owner

don't you think in future NextJS will implement all those functions (including blockman features) in their own devtools

I don't have enough knowledge to answer this question. And for Blockman, I don't think so, I don't know how NextJS would implement Blockman features.

If you have discord would be great to add you there.

I do have Discord account (leodevbro), but I don't use it much. Discord feels to have too much information overload with so many channels (chats) with mostly unimportant messages.

@leodevbro
Copy link
Owner

Hello @Mixchild, Blockman now supports codeLens annotation spaces, well, at least some of the cases. Maybe not all edge cases. Please test it and let me know whether is works fine (fine enough, if not perfectly) or not. The new version of Blockman is v1.7.6 (2024-02-01).

image

@Mixchild
Copy link
Author

Mixchild commented Feb 4, 2024

Yes it works flawlessly, thank you so much for integrating this functions, any plans upcoming features? if there is any chat for developers or some other community please feel free to add me for future discussions

@leodevbro
Copy link
Owner

any plans upcoming features

I hope I will be able to implement SVG rendering instead of div rendering, because SVG path element does not have the limitation of not being able to set transparent (and partially transparent) gradients for both backgrounds and borders. Also SVG has some more freedom of generating shapes.

if there is any chat for developers or some other community please feel free to add me for future discussions

Mostly this is the community place for Blockman.
1] this Guthub Blockman issues space:
https://github.com/leodevbro/vscode-blockman/issues

2] this Guthub Blockman discussions space:
https://github.com/leodevbro/vscode-blockman/discussions

3] Also anyone can reach me on Facebook and Reddit:
Facebook:
https://www.facebook.com/leodevbro

Reddit:
https://www.reddit.com/user/leodevbro/

.

@Mixchild
Copy link
Author

Mixchild commented Feb 8, 2024

Sounds great and I want to ask specifically about glowing functionality cause every extension and theme that promises that feature to VSCode basically breaks the software so I guess until microsoft doesn't update from back end this won't be possible.
I hope to work together with a visionary person like you one day at Georgian or international company.

@leodevbro
Copy link
Owner

Yeah, glowing effect may be problematic, but I guess will have more chances if we manage to implement SVG rendering instead of primitive div boxes.

I hope to work together with a visionary person like you one day at Georgian or international company.

Thanks, that would be cool for sure. Enthusiastic people like you can do great things with technology.

@Mixchild
Copy link
Author

Mixchild commented Jun 1, 2024

@leodevbro my friend wants to remove extension and reset color changes back to default can we help him

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants