如何在 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 IDE 更新类型?
在 Visual Studio 2017 for MAC 中抑制命名规则冲突 IDE1006