Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Improve text-selection/cursor behavior with inline code minings

Đang mở
#3,758 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
35/100
Loại issue
Tính năng
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Đình trệ
Công nghệ
java
Lĩnh vực
desktop

Hướng nghiên cứu

The issue does not identify files or tests; start by tracing how inline code minings affect editor cursor positions and text selection. Reproduce the two examples with code minings enabled and compare the behavior with the expected placement and selection described here. Done means the cursor can be placed on either side of a mining and selections can include or exclude it without losing adjacent characters.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

enhancement

I often use Editors which make use of inline code minings, for example in JDT or LSP4E.
However, I often find myself in a situation, where I think that code minings lead to unintuitive text-selection and cursor behavior.

Example 1 (Cursor Placement):

public class Foo {
    public static void bar(final String someReallyLongArgument) {
        //
    }

    public static void bar(final String anotherArgument, final String someReallyLongArgument) {
        //
    }
}

I'm calling this function somewhere and with code minings it is rendered as:

bar(someReallyLongArgument: "abc");

Now I want to switch to the overloaded version of the same method. To do so, I have to add an argument at the first position. Intuitively, I want to position my cursor between bar( and someR..., but I cant. Instead I have to place the cursor after someReallyLongArgument: , which feels really unintuitive.

Example 2 (Text Selection):

Consider the following Python Code used with LSP4E:

foobar = [1, "test"]

Using a Python LS with type inference, such as basedpyright, we get the following code, were the added text is a code mining representing an inlay hint from the LS:

foobar: list[int | str] = [1, "test"]

Now, If I want to select the variable "foobar" by holding down my left mouse button and moving the mouse, I can at most select "fooba", the remaining character is only included in the selection when I move the mouse further to the right to also include the code mining : list[int | str].
Here is a small video of that situation:
https://github.com/user-attachments/assets/eaddb82d-cdcf-4593-a45c-052b425f9629

In VS Code, neither of the above problems are present, i.e.,

  • I can place the cursor directly before or after a code mining, even though that's the same offset in the underlying document
  • I can create a text selection including or excluding a code mining, even though the content of the text selection is the same.

I haven't looked at the relevant code, but I'm assuming the underlying problem is that the code minings are fused with the preceding characters to have a unique mapping between document offsets and cursor positions in the document?

Ngôn ngữ chính
Java
Star
124
Fork
269
Merge trung bình
1 ngày 19 giờ
Pull request đã merge (30 ngày)
60

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của eclipse-platform/eclipse.platform.ui

Tất cả issue của eclipse-platform/eclipse.platform.ui

Issue tương tự

Thêm issue về Java

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.