如何在 Visual Studio IDE 中以从右到左的语言进行注释

Posted

技术标签:

【中文标题】如何在 Visual Studio IDE 中以从右到左的语言进行注释【英文标题】:How to comment in a Right to left language in Visual Studio IDE 【发布时间】:2015-03-24 21:11:49 【问题描述】:

我想用波斯语(一种从右到左的语言)在 Visual Studio 中这样评论:

//.برای نگهداری مقدار اولیه ی کالا می باشد value_ متغیر 

但似乎代码编辑器不支持 RTL 语言并重新排序单词所以结果是:

 //متغیر _value برای نگهداری مقدار اولیه ی کالا می باشد.

这与我预期的不一样!

谁有这个问题的解决方案?

【问题讨论】:

请指定 Visual Studio 版本 【参考方案1】:

正如 Ahmad 提到的,微软在其 Visual Studio IDE 中不支持从右到左(很遗憾),从支持 RTL 的编辑器中复制和粘贴评论也不起作用(我使用记事本对其进行了测试)

为此,我为 Visual Studio 2013 (VirtualRTLtext) 开发了一个扩展,它重新排列注释行的单词,使其在 Visual Studio 代码编辑器中看起来正确。

重新排列单词对于通常的 cmets 效果很好,但在 XML 注释的情况下它有一些问题:

    当您想从 cmets 制作 XML 文档时 当您希望您的 cmets 具有智能感知功能时

对于第一个,我可以找到部分解决方案,但对于第二个,此算法不起作用(因为智能感知和代码编辑器中的行长不相等)。

要在 Visual Studio 中下载它,请转到 TOOLS/extension and updates... 并搜索 VirtualRTLtext

或获取 vsix 表单Here。

安装后你可以在VIEW/Other Windows中找到它

【讨论】:

嘿 Mohammad Fatemipour,我们可以提供您的源代码吗?我有vs2012,无法安装。我有 Microsoft Visual Studio Ultimate 2012。我收到此错误:VSIXInstaller.NoApplicableSKUsException:此扩展无法安装在任何当前安装的产品上。在 VSIXInstaller.App.InitializeInstall() 在 System.Threading.Tasks.Task.InnerInvoke() 在 System.Threading.Tasks.Task.Execute()【参考方案2】:

我最近为 vscode 写了一个扩展,允许你从右到左离开 cmets。您可以在 Visual Studio 或任何其他程序中使用返回的结果。 “RTL Comment Support”为你做。

【讨论】:

【参考方案3】:

您可以简单地在段落前添加一个RLE (RIGHT-TO-LEFT EMBEDDING, U+202B) 字符。浏览器和大多数文本编辑器也支持此控制字符。

没有 RLE:

 // متغیر _value برای نگهداری مقدار اولیه ی کالا می باشد.

使用 RLE:

 //‫ متغیر _value برای نگهداری مقدار اولیه ی کالا می باشد.

我将此模板用于我的 RTL cmets(您必须按 END 按钮,不要在引号之间):

// '‫'

也适用于 Python:

# '‫'

编辑:

在 Visual Studio Code 中,您必须在设置中设置 "editor.renderControlCharacters": false

您还可以为editor.action.toggleRenderControlCharacter 设置键盘快捷键。

【讨论】:

你可以从这个链接复制U+202B unicode-table.com/en/202B【参考方案4】:

根据来自 Microsfot 网站的 support page,Visual Studio IDE 不支持从右到左

客户可以在产品的任何部分使用任何 Unicode 字符。所以当然允许使用从右到左的字符。但是,Visual Studio 界面仍然是从左到右的,因此 RTL 显示可能会以不需要的方式重新排列字符。

作为一种技巧,您可以在另一个支持 RTL 的编辑器中编写您的评论,然后将其复制并粘贴到 VS 编辑器中。

【讨论】:

以上是关于如何在 Visual Studio IDE 中以从右到左的语言进行注释的主要内容,如果未能解决你的问题,请参考以下文章

如何评价Visual Studio Code

更新依赖项后,如何让 Visual Studio Code IDE 更新类型?

Visual Studio ide中的函数后空间

在 Visual Studio 2017 for MAC 中抑制命名规则冲突 IDE1006

我仍然可以在 Visual Studio 2010 中以 .NET Framework 1.1 为目标吗?

干货 | 宇宙最强IDE: Visual Studio, Eclipse, Android Studio